Atlamış olduğum önemli bir teknik nokta, sonluluk cihazı olarak Casper FFG yerine Minimmit'e geçiş önerisidir.
Özetlemek gerekirse, Casper FFG iki aşamalı sonluluk sağlar: her onaylayıcı, bloğu "gerekçelendirmek" için bir kez imzalar, ardından onu "sonlandırmak" için tekrar imzalar. Minimmit ise yalnızca bir aşamaya ihtiyaç duyar. Buna karşılık, Minimmit'in hata toleransı (bizim parametrelendirmemizde) Casper FFG'nin %33'ünden %17'ye düşer.
Ethereum konsensüs tartışmalarında, her zaman güvenlik varsayımları konusunda sert bir tutum benimsedim: senkronizasyon altında %49 hata toleransının teorik sınırına ulaşmak için ısrar ettim, %51 saldırı kurtarma cihazları için sürekli çaba gösterdim, veri mevcudiyeti kontrollerini hileli çoğunluğa dirençli hale getirmek için DAS'i geliştirdim vb. Ancak Minimmit'in özelliklerine tamamen uygundum ve bazı yönlerden hatta heyecanlıyım. Bu gönderide nedenini açıklayacağım.
İki sistemin de tam olarak güvenlik özelliklerini (şu anki beacon chain değil, ideal 3SF) ve Minimmit'i karşılaştıralım.
"Senkron ağ", "gecikmenin yaklaşık 1/4 slottan az olduğu" anlamına gelir; "asenkron ağ", "çok yüksek gecikme potansiyeline sahip, hatta bazı düğümlerin saatlerce çevrimdışı kalabileceği" anlamına gelir. Yüzdelikler ("saldırganın <33%") aktif stake edilmiş ETH oranlarını ifade eder.
## 3SF'nin Özellikleri
Senkron ağ durumu:
* Saldırganın p < %33: hiçbir kötü şey olmaz
* %33 < p < %50: saldırgan sonluluğu durdurabilir (pasiflik sızıntısıyla büyük miktarlarda fon kaybederek), ancak zincir normal şekilde ilerlemeye devam eder
* %50 < p %67: saldırgan istediklerini sonlandırabilir; iyi taraflarınazınlık yumuşak çatallanması yapması çok daha zordur
Asenkron ağ durumu:
* Saldırganın p %33: sonluluğu geri alabilir (kesmeyle büyük miktarlarda fon kaybederek)
## Minimmit'in Özellikleri
Senkron ağ durumu:
* Saldırganın p < %17: hiçbir kötü şey olmaz
* %17 < p < %50: saldırgan sonluluğu durdurabilir (pasiflik sızıntısıyla büyük miktarlarda fon kaybederek), ancak zincir normal şekilde ilerlemeye devam eder
* %50 < p %83: saldırgan istediklerini sonlandırabilir; iyi taraflarınazınlık yumuşak çatallanması yapması çok daha zordur
Asenkron ağ durumu:
* Saldırganın p %17: sonluluğu geri alabilir (kesmeyle büyük miktarlarda fon kaybederek)
Aslında sonuncusunun daha iyi bir denge sağladığını düşünüyorum. İşte nedenleri:
* En kötü saldırı türü aslında sonluluğun geri alınması değil, süremezdir. Çünkü sonluluğun geri alınması, saldırganın hemen milyonlarca ETH (yani milyarlarca dolar) kaybetmesine neden olabilecek büyük ölçüde halka açık kanıtlar üretir; ancak süreme için sosyal koordinasyon gerekir
* Yukarıdaki her iki durumda da bir süreme saldırısı %50 gerektirir
* Süren saldırganın tek başına sonlandırabilmesi durumunda (yani 3SF'de >%67, Minimmit'de >%83), süreme saldırısını etrafında koordine etmek çok daha zor hale gelir. Eğer yapamazsa, iyi taraflar karşı koordinasyon yaparsa birkaç gün boyunca iki sonlanmayan zincir birbirleriyle rekabet eder ve kullanıcılar seçim yapabilir. Eğer yapabiliyorsa, yumuşak çatallanma koordine etmek için doğal bir Schelling noktası yoktur
* Bir istemci hatası durumunda olabilecek en kötü şey, hatalı bir şeyin sonlandırılmasıdır. 3SF'de bunun için istemcilerin %67'sinin aynı hatayı paylaşması yeterlidir; Minimmit'de ise %83 gerekir
Temel olarak, Minimmit "iki zincirin birbirleriyle rekabet etmesine varsayılan olarak yönlendirilen" durumların kümesini maksimize eder ve bu aslında "yanlış şeyin sonlandırılması"dan çok daha sağlıklı ve daha kolay kurtarılabilir bir sonuçtur.
Sonluluğun kesin anlamında sonlu olmasını istiyoruz. Bu nedenle belirsizlik durumlarında (saldırılar veya yazılım hataları), zincirin birkaç saat veya gün boyunca sonlanmadığı, ancak çatallanma kuralına göre ilerlediği dönemlerle daha rahat olmalıyız. Bu bize hangi zincirin doğru olduğunu karar vermek için zaman tanır.
Ayrıca, 3SF'nin "sonluluğu geri almak için %33 kesme" kuralının fazla olduğunu düşünüyorum. Örneğin 15 milyon ETH stake edilmişse, zinciri bir kez geri almak için 5 milyon ($10 milyar) kesilir. Eğer $10 milyarınız varsa ve birçok ülkenin bilgisayar hile yasalarını ihlal eden bir tür kaos yaratmaya razıysanız, bir zinciri saldırıya uğratmaktan çok daha iyi yollar harcayabilirsiniz. Hatta Ethereum'u kırmayı amaçlıyorsanız bile çok daha iyi saldırı vektörleri vardır.
Bu nedenle, sonluluğu geri almak için en az %17 kesme garantisi veren (Minimmit'in sağladığı) temel bir garantiye sahipsek, iki sistemi diğer özelliklerine göre değerlendirmeliyiz — ve yukarıda açıkladığım nedenlerden dolayı Minimmit'in daha iyi performans gösterdiğini düşünüyorum.