Eser sahibi: Aditya Asgaonkar
Çeviri ve redaksiyon: IAN LIU ve
Kaynak: Ethereum Meraklısı
Carl Beekhuizen'e inceleme için teşekkürler.
Blockchain, kullanıcılara iki garanti sağlamalıdır - 1) bloğun kesinliği ve 2) Blok zincirinin canlılığı - blok zincirinin temelindeki fikir birliği mekanizması bu iki garantiyi sağlamaktan sorumludur. . Ethereum 2.0'da, fikir birliği süreci yalnızca işaret zincirinde gerçekleşir ve fikir birliğine ulaşmaya yardımcı olmak için Casper Friendly Finality Gadget (FFG) mekanizması kullanılır. Bu makale, temel FFG mekanizmasını açıklamayı ve yukarıdaki iki garantiyi sağlayabileceğini kanıtlamayı amaçlamaktadır.
Casper FFG "deterministik bir araçtır", yani Casper FFG bir bloğun deterministik kurallarını düzenler ve bir olay meydana geldikten sonra bir bloğun determinizmini kontrol edebilir. FFG mekanizması, zincirin büyümesinden ayrıştırılır ve blok kesinliği sağlamak için bağımsız bir bileşen olarak mevcut herhangi bir blok zinciri protokolüne bağlanabilir. Casper FFG mekanizmasının blok zincirinin faaliyetini sağlamak için bir stratejisi olmadığı için, bu açıdan bakıldığında tamamen olgunlaşmış bir konsensüs protokolü değildir. (Belki daha sonra başka bir tane yazacağım Ethereum 2.0 işaret zincirinin canlılığı hakkında notlar Makale! ) Casper FFG'nin yapısıyla başlayalım ve ardından Casper FFG mekanizmasının kurallarına derinlemesine girelim ve sonunda sağladığı güvenlik ve canlılık garantilerini anlayalım.
Doğrulayıcılar, bir tanık mesajı göndererek ("geçerli geçişler" olarak düşündüklerini belirten) zincir üzerindeki bloklar üzerinde oylama yaparlar. Oylama formatı (S, T) olup iki bölüm bilgi içerir: kaynak blok (S) hedef blok (T) - hedef blok S'nin türev bloğu olmalıdır. Özellikle oylamada yer alan bilgiler doğrulamayı içerir Kullanıcının dijital imzası, blok hash değeri ve bloğu onaylamak için kullanılan blok yüksekliği.
Gerekçe ve Sonuçlandırma
Gerekçelendirme ve Sonlandırma, Casper FFG mutabakat sürecinin iki aşamasıdır ve geleneksel Bizans Hata Toleransı (BFT) mutabakatının "hazırlama" ve "teslim etme" aşamalarıyla yatay olarak karşılaştırılabilir.
-2 / 3'ten fazla onaylayıcı oylama ile, blok A ve blok B rasyonelleştirilir-
rasyonelleştirme : Bir B bloğu aşağıdaki koşulları karşıladığı sürece, blok rasyonelleştirilir:
Blok B, oluşum bloğudur veya
Doğrulayıcıların 2 / 3'ünden fazlası (A, B) 'ye oy verir; burada B, A'nın alt bloğudur ve A daha önce rasyonelleştirilmiştir.
Kesinlik : B bloğu aşağıdaki koşulları karşıladığı sürece kesindir:
Blok B, oluşum bloğudur veya
B'nin makullüğü tatmin edici ve onaylayıcıların 2 / 3'ünden fazlası (B, C) için oy kullandı; burada C, B'nin doğrudan bir alt bloğudur (yani, blok yüksekliği (C) = blok yüksekliği (B) + 1 ).
Not : Kesinliğin tanımı ile ilgili olarak, Casper FFG'nin Ethereum 2.0'da daha genel bir tanımı vardır.Ayrıntılar için lütfen bu makaleye bakın. Yukarıdaki ifade, anlaşılmasının kolay olmasını sağlamak için kullanılır.
Casper FFG'nin yalnızca iki basit kısıtlama kuralı vardır. Bu iki kuralı uygulamak, doğrulayıcıların aynı anda (S1, T1) ve (S2, T2) için oy vermesini engelleyebilir:
(Casper FFG izin vermiyor :)
Blok yüksekliği (T1) = blok yüksekliği (T2) veya
Blok yüksekliği (S1) < Blok yüksekliği (S2) < Blok yüksekliği (T2) < Blok yüksekliği (T1)
-Casper FFG kural ihlali 1: Blok yüksekliği (T1) = Blok yüksekliği (T2) (Çevirmenin Notu: sözde "çift oylama") -
-Casper FFG kural ihlali durumu 2: blok yüksekliği (S1) < Blok yüksekliği (S2) < Blok yüksekliği (T2) < Blok yüksekliği (T1) (Çevirmenin Notu: sözde "çevre oylama") -
Casper FFG, blok sonlandırma süreci için fikir birliği güvenliği ve etkinliği sağlamak üzere tasarlanmıştır. Spesifik olmak gerekirse, Casper FFG aşağıdaki garantileri sağlar:
Geleneksel BFT literatürüne kıyasla, burada bahsedilen güvenlik ve canlılık tanımları o kadar standartlaştırılmamıştır, ancak bu yorum blok zincirini analiz etmek için deterministik araç için çok uygundur!
Aslında, BFT literatürüne aşina olan kişiler " Yaklaşık aktivite "Kavramı tek kelimeyle harika; ancak Casper FFG yalnızca" belirleyici bir araç "olduğu için, tüm mekanizmanın yalnızca dürüst doğrulayıcıların FFG kurallarını ihlal etmeden anlaşmayı ilerletebilmelerini ve herhangi bir bağlantıya takılıp kalmamalarını sağlaması gerekiyor. .
Hesap verebilirlik güvenliğinin tanımına gelince, odak noktamız hesap verebilirliktir (yani, kuralları ihlal eden doğrulayıcıları belirleme yeteneği) ve daha sonra bilginin bu kısmı, blok zincirinde kötü niyetli doğrulamayı cezalandırmak için eşitlik kanıtlama mekanizması tarafından kullanılabilir. Tarafından. Nihai amaç, öz sermaye sertifikasyon mekanizması için bilgi sağlamaktır, böylece ikincisinin teşvik mekanizması yürürlüğe girebilir ve anlaşmanın başında öngörülen denge durumunu oluşturmak için fikir birliği sürecini teşvik eder.
İki çakışan bloğun (diğerinin alt bloklarından hiçbiri) A ve B'nin her ikisinin de sonlandırılmış olduğunu varsayarsak, iki durum olabilir:
Blok yüksekliği (A) = Blok yüksekliği (B)
Blok yüksekliği (A) < Blok yüksekliği (B) (evrensel uygulanabilirlik ile)
A'nın kesinliğe ulaşması için, doğrulayıcıların 2 / 3'ünden fazlasının (A, C) için oy vermesi gerekir; burada C, A'nın bir alt bloğudur.
B'nin makul olabilmesi için, B'den önce artan sırada ardışık bloklar bulunmalıdır (oluşum bloğu, B_0, B_1, ..., B_n, B) ve her blok, sonraki bloğu ile değiştirilmiştir. Rasyonelleştirme (yani, doğrulayıcıların en az 2 / 3'ü (G, B_0), (B_0, B_1), ... için oy verir). B_m bloğunun bu ardışık blok dizisindeki ilk blok olduğunu varsayarsak, blok yüksekliği (A) < Blok yüksekliği (B_m).
Bu ardışık bloklar dizisinin blok A veya C ile aynı blok yüksekliğine sahip olmadığını, aksi takdirde önceki durum haline geleceğini unutmayın (Casper FFG Kural 1'i ihlal eden, eşit blok yüksekliğine sahip çakışan bir blok).
Bu şekilde, doğrulayıcıların en az 2 / 3'ünün Casper FFG Kural 2'yi ihlal ettiğini söyleyebiliriz.
-Güvenlik kanıtı, durum: blok yüksekliği (A) < Blok yüksekliği (B) -
Ayrıca, bilet seti onaylandığı, çelişen oylar bulunduğu ve doğrulayıcının imzası kontrol edildiği sürece, Casper FFG kurallarını ihlal eden doğrulayıcı kolayca bulunabilir.
P_0'ın en son makul blok olduğunu ve Q'nun doğrulayıcılar tarafından oylanan en son blok olduğunu varsayalım.
Ardından, P_0 alt bloğuna ait herhangi bir P_1 bloğu (blok yüksekliği (Q) < Blok yüksekliği (P_1)) FFG kurallarını ihlal etmeden doğrulayıcının oylarının (P_0, P_1) 2 / 3'ünü alabilir, böylece makul olur.
P_1 ayrıca FFG kurallarını ihlal etmeden doğrulayıcının oylarının (P_1, P_2) 2 / 3'ünü alabilir ve böylece kesinlik kazanır, burada P_2, P_1'in bir alt bloğudur.
Bu nedenle, en az bir onaylayıcı grubu (2 / 3'ten fazla) yeni bloğu sonlandırabilir.
Casper FFG ilk baskı kağıdı - Casper the Friendly Finality Gadget
GHOST ve Casper'ı Birleştiren Casper FFG Yönteminin Eth2.0 Uygulamasının Analizi
Orijinal bağlantı: https://www.adiasg.me/2020/03/31/casper-ffg-explainer.html