AVAX KONSENSÜSÜ ÜZERİNE ELEŞTİRİLER VE ÖNERİLER
17 Haziran 2021{
AVAX KONSENSÜSÜ ÜZERİNE ELEŞTİRİLER VE ÖNERİLER (Hasan Karahan)
{ Giriş
Hasan Karahan bey, İşviçre’de yazılım mühendisi olarak çalışıyor. Şu günlerde Avax konsensüsü yaptığı araştırmalarla öne çıkıyor. Bizde kendisiyle kısa bir sohbet yaptık. Kendisi notex sitesinin de sahibidir.
Kendisinin github sayfası şu link üzerindedir.
Hasan bey (MSc ETHZ), Zürih’de bir yazılım mühendisi. Kendisinin, AVAX konsensüsü üzerine yaptığı eleştirisel yazılarıyla tanıyoruz. Öncelikle belirtelim, Hasan bey, bir AVAX yatırımcısıdır. Getirdiği tüm eleştiriler AVAX’ın daha güçlü bir yapıya evrilmesini amaçlamaktadır.
{ Soru 1: Hasan bey, AVAX sistemine getirdiğiniz temel eleştiri nedir ?
Avalanche probabilistik sorgulama konsensüsünü kullanır ve PoS (proof-of-stake) sybil koruma mekanizmasına güvenir. Basitçe: Avalanche’da validatörler kimin kime ne kadar para yolladığına dair birbiri ile görüş alışverişinde bulunurlar. Buna İngilizcede “gossip” yani “dedikodu” protokolleri denilir. Ama Avalanche’da zengin validatörün fikri daha önemlidir! Çok parası olan validatörlere daha çok soru sorulur. Bu durum PoS sybil koruma mekanizmasından dolayı böyledir.
Avalanche’da validatörler için, yani fikri sorulan bir nevi noterlik görevi yapan birimler için, AVAX’ın 3 tane fonksiyonu vardır:
1. Stake, yani noterlik yapmak isteyen kişinin masaya koyduğu mal varlığı (para).
2. Reward, yani mal varlığından dolayı noterlik hizmeti karşılığında elde ettiği kazanç; bir nevi mevduat faizi gibi düşünebilirsiniz.
3. Voting power, yani dedikodu yapan noterin sözünün geçerliliği. Ağanın sözü çiftçinin sözünden daha değerlidir, çünkü ağa çiftçiye nazaran daha çok AVAX’a sahiptir.
Avalanche modeli çok hızlı işleyen bir mekanizmadır. Hayatınızda dedikoduya maruz kaldıysanız bunu kavramanız zor olmayacaktır. İfade ettiğim gibi küçük noterler (yani çiftçiler) ve büyük noterler (yani ağalar) arasında fark aşırı ise, sistemi aslında ağaların yönlendirdiğini görebilirsiniz.
Rakamlar ile ifade etmek gerekirse, sistemde şu an sadece 9 tane validatör grubu tüm validatörler arasında kilitli bulunan 215 milyon AVAX’ın %30’unu kontrol etmektedir. GitHub sayfam üzerinden, bilgisayarında Python yazılımı bulunduran herkes rahatlıkla bu rakamlara ulaşabilir.
Kaynak:https://github.com/hsk81/avalanche-stakes/
Bu 16 Haziran 2021 tarihli Avalanche ağı üzerindeki validatörlerin ellerinde tuttukları AVAX’ın GİNİ katsayısına dökümünün grafiğidir. GİNİ herhangi bir toplum içinde mal varlığı, gelir dağılımı veya da oy gücü eşitsizliğini ölçer.
Gini katsayısı, bir sıklık dağılımının eşitsizlik miktarı değerlerini ölçer (örneğin, gelir seviyeleri). Gini katsayısı, bir ülkede milli gelirin dağılımının eşit olup olmadığını ölçmeye yarayan bir katsayıdır. Katsayı 0 ile 1 arasında değerler alır ve yüksek değerler daha büyük eşitsizliğe tekabül ederler. Örneğin herkesin aynı gelire sahip olduğu bir toplumun Gini katsayısı 0 iken tüm gelirin bir kişide toplandığı (birden çok kişinin mensup olduğu) toplumun bu katsayısı 1’dir. Gini katsayısı Lorenz eğrisinin üstündeki alanın, 45 derecelik eşitlik doğrusunun altında kalan tüm alana bölünmesiyle bulunur. (Wikipedia :https://tr.wikipedia.org/wiki/Gini_katsayısı)
Yani %0’lık GİNİ toplumda herhangi bir fark olmaması anlamına gelir: Herkes mal varlığı, gelir, veya da oy gücü bakımından eşittir. Böyle bir GİNİ Avalanche için tamamen merkeziyetsizliğin hakim olduğu anlamına gelir ki istenilen de budur. Ama %100’lük GİNİ toplumda ki farkların doruk noktasında olması anlamına gelir: Tek bir kişi tüm mal varlığına, gelire, veya da oy gücüne sahiptir. Böyle bir GİNİ, Avalanche içinde tamamen merkezi bir yapının bulunduğu anlamına gelir.
Toplamda 916 validatör grubu vardır. Bu grupları 979 validatörü adreslerine göre ayıklayarak bulabilirsiniz. Sistemde 215 milyon AVAX’dır kilitlidir (stake). Sadece 9 tane validatör gruplarının elindeki toplam AVAX tutarı yaklaşık 64 milyondur (215 milyonun %30’u).
Kaynak:https://avascan.info/staking/validators (Mevcut görüntü 17.06.2021 Saat =11:18 Ankara konumundan alınmıştır)
GINI katsayısı da dolayısıyla %89.6 olarak çıkıyor. Nispetten, böyle bir yüzdelik Avalanche’ın şimdilik merkeziyetsiz değil de, daha çok merkezi bir yapıya yakın olduğu anlamına gelir.
{ Peki hocam dağılımın bu şekilde olması ne gibi bir tehlike arz ediyor?
Bu %30’luk AVAX’ı kontrol eden 9 validatör grubu tek bir zümre olarak hareket ederlerse eğer, işlemleri durdurma ihtimali vardır. Böyle bir zümrenin hyper-geometrik dağılım üzerinden herhangi bir işlemi engelleme olasılığı %99.93’tür. Bu yüzdeliği Avalanche makalesinde ifade edilen şu formül ile hesaplayabiliriz:
Kaynak: https://assets.website-files.com/5d80307810123f5ffbb34d6e/6009805681b416f34dcae012_Avalanche%20Consensus%20Whitepaper.pdf (Sayfa :17)
Bu formülü %30’u kontrol eden bir zümre için açarsak eğer şöyle bir hesap ortaya çıkar:
def burasiönemli():
[
Kısacası, ben mesela Türkiye’den İran’a AVAX yollamak istediğimde bu işlemin engellenme olasılığı 1 – %61.51^15 = %99.93’tür. 15 rakamı ise Avalanche içinde her işlemin 15 kere kontrol edilmesinden öne gelir. Bu 15 kontrol turunu geçen işlem sistem tarafından onaylanır
Tabi 215 milyon AVAX’ın %30’unu kontrol eden sadece 9 validatör grubunun %99.93’lük sansür gücü kulağa hiç te hoş gelmiyor. Ama, kişinin aynı işlemi yaklaşık 1’500 kere [1/(1-%99.93)] tekrarlayarak Avalanche’da böylesine güçlü bir veto hakkına sahip küçük bir zümreyi aşması mümkündür! Avalanche çok hızlı olduğu için bu maximum 1’500 tekrar tekrar aynı işlemi maximum 300 milli-saniyede sisteme yollayabiliriz (parallel rebroadcasting). Ayrıca her deneyde ayriyetten havale ücreti ödeme zorunluluğu yoktur, çünkü iptal edilen bir işlemin havale ücreti de iptal edilir.
]
def burasidahaönemli():
[
Şimdi, hesapları %30’luk 9 validatör zümresi için değilde 215 milyon AVAX’ın sadece %25’ini kontrol eden 6 validatörlük zümre için tekrarlayalım:
Yani, 15 tur içinde herhangi bir işlemin bu 6 validatörlük zümre tarafından veto edilme ihtimali 1 – %81.28^15 = %95.54’tür, ki böyle bir sansür sadece maximum 23 kere [1/(1-%95.54)] aynı işlemi tekrarlayarak aşılabilinir, ki bu tekrarlar sadece maximum 5.5 milli-saniyede sisteme yollanabilinir.Kısacası, sistemde ki AVAX’ın sadece %25’ini ve hatta %30’unu kontrol eden 6’lı veya 9’lu bir validatör zümresi herhangi bir işleme sansür uygulayamaz: Sistem merkeziyetsiz bir şekilde görevini yerine getirir ki buda istenilen bir sonuçtur
]
def burasicokamacokonemli():
[
Tamam, peki sistemde ki AVAX’ın %70’ini kaç tane validatör zümresi kontrol ediyor? Bu soruyu sormak biraz saçma olabilir, çünkü %70’lik bir AVAX sahipliği çok yüksek bir rakamdır, ama cevap sadece 54’tür. Yani, sadece 54’lük bir validatör zümresi sistemin %70’ini kontrol ediyor. Peki bunlar isteseler herhangi bir işleme sansür uygulayabilirlermi? Başarı olasılığı nedir? %100’dür! Hesaplayalım:
Yani, 1 – %0.00393384^15 ≅ %100 eder. Dolayısıyla ne kadar denerseniz deneyin, böyle güçlü bir sansürü kıra-bilmeniz mümkün değildir.
]
Tabi bu noktada PoS (proof-of-stake) sistemi olan Avalanche’ın – yani para ile korunan bir blok zincirinin – savunması şöyle yapılır: “Sisteme o kadar çok para bağlamış (215 * %70 = 150 milyon AVAX) 54’lük bir validatör zümresi neden sansür uygulasın?” Ki doğru bir savunmadır, çünki sansür fark edilirse eğer, AVAX’ın dolar değeri sıfırlanır… mı acaba? Bu varsayımın AVAX ekonomisi küçük olduğu sürece doğru olduğunu düşünüyorum. Şu an Avalanche vakfı sansür uyguladığı an, güven kaybına sebep olur ve proje ölür.
Ama var sayalım Avalanche çok büyük bir başarıya imza attı (ki teknik alt yapısı buna müsait), ve AVAX ekonomisi Amerikan dolarını tuttu veya hatta Amerikan hükümeti tarafından resmi para birimi olarak kabul edildi. Eğer böyle büyük bir ekonomide kısmen küçük ama zengin validatör zümreleri sansür uygularlarsa – mesela İranlılara karşı – o zaman AVAX’ın değeri sıfırlanmaz! Çünkü Amerika bugün sistematik bir şekilde istemediği kişiler ve hatta İran (veya Rusya) kadar hiçte küçük olmayan devletler tarafından dolarının kullanılmasını engelliyor, ama doların değeri hiçte düşmüyor! Dünya dolara muhtaç ve teker dönmeye devam ediyor. Aynı durum AVAX için de geçerli olmaması için hiçbir sebep düşünemiyorum.
{ Hasan bey çözüm olarak ne öneriyorsunuz?
1-Büyük validatörlerin vergilendirilerek, bu kaynağın küçük validatörlere aktarılmasını olası bir çözüm olarak görüyorum.
2. Şu an Avalanche sisteminde gizli sansür mümkündür; bunun giderilmesi için küçük validatörlerin kullanabileceği bir sansür takibi modülünün geliştirilmesini öneriyorum. Eğer büyük validatörler sansür uygularlarsa eğer, herkesin bundan haberdar olması, sansürü en azından AVAX ekonomisi küçük olduğu sürece engelleyeceğini düşünüyorum.
3. Mal varlığı (stake), mevduat faizi (reward) ve oy gücü (voting power) Avalanche blok zincirinde birbirine paralel gider. Çok zengin olan, çok kazanır artı ve çok söz sahibidir. Bu üç unsurun matematiksel olarak birbirlerinden kısmende olsa ayrılması gerektiğini düşünüyorum.
4- Avalanche vakfının bölünerek AVAX’ların Avalanche Kuzey Amerika, Güney Amerika, Çin, Rus, Hint, AB, Türkiye, İran gibi yerel
vakıflara o vakıfların temsil ettiği insan sayısı veya ekonomi gücüne göre dağıtılmasını merkeziyetsizlik açısından uygun buluyorum.
5. Çeşitli başka fikirler üzerine kısa bir blog yazdım: Avalanche Decentralization Proposals. Tabi bunların bilimsel açıdan teker teker incelenmesi gereklidir.
}}}}}
Not: Bitcoin için gini katsayısı %48.19 iken,Ethereum için bu katsayı %67.71 dir.
Bitcoin için;
https://api.blockchair.com/bitcoin/blocks?a=guessed_miner,count()&q=time(2021-05-31..2021-06-14)&s=count()(desc)&export=csv
Ethereum için;
https://api.blockchair.com/ethereum/blocks?a=miner,count()&q=time(2021-06-02..2021-06-16)&s=count()(desc)&export=csv