BFT Protokolleri: PBFT ve Tendermint
Bizans Hata Toleranslı uzlaşmayı ve Tendermint'in kriptografik oylamayla kesinliği nasıl sağladığını inceleyin.
BFT Protokolleri: PBFT ve Tendermint, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.
Bizans Hata Toleransının Kökenleri
Lamport, Shostak ve Pease tarafından 1982'de ortaya konan Bizans Generalleri Problemi şu soruyu sorar: Bazı katılımcılar çelişkili mesajlar gönderdiğinde dağıtık bir sistem uzlaşmaya ulaşabilir mi? Problem, bir saldırıyı koordine etmesi gereken ancak çelişkili emirler gönderen hainler içerebilen Bizans generallerinin adını taşır. Toplam 3f+1 düğüm içindeki en fazla f kötü niyetli düğüme rağmen doğru uzlaşmaya ulaşan sistem Bizans Hata Toleranslıdır (BFT). BFT, karşı tarafın saldırılarına açık koşullarda güvenlik gerektiren blok zinciri uzlaşması için altın standarttır.
PBFT: Pratik Bizans Hata Toleransı
PBFT (Castro ve Liskov, 1999), BFT'nin gerçek sistemlerde verimli biçimde çalışabileceğini gösteren ilk pratik BFT protokolüdür. PBFT, her birinde belirlenmiş bir birincil düğümün (liderin) bulunduğu görünümlerde (dönemlerde) çalışır. Normal çalışma üç aşamadan oluşur: ön hazırlık (birincil düğüm istemci isteğini + sıra numarasını yayınlar), hazırlık (kopyalar sıra numarasıyla birlikte uzlaşmayı yayınlar) ve taahhüt (kopyalar taahhüt onayını yayınlar). Bir kopya, eşleşen 2f+1 taahhüt mesajı topladığında istek yürütülür. PBFT, kopyaların 1/3'ünden azının Bizans olduğu varsayımıyla güvenlik ve canlılık sağlar.
PBFT İleti Karmaşıklığı
PBFT'nin temel sınırlaması, istek başına O(n^2) ileti karmaşıklığıdır: n kopyanın her biri hazırlık ve taahhüt aşamalarında diğerlerinin tümüne mesaj gönderir. n=100 kopya için her istek yaklaşık 10.000 mesaj üretir. Bu durum PBFT'yi büyük doğrulayıcı kümeleri için kullanışsız hâle getirir. BFT araştırma topluluğu bunu geliştirmek için yirmi yıl harcadı: BFT-SMART sabit katsayıları azalttı, HotStuff lider aracılı iletim modeliyle doğrusal ileti karmaşıklığına ulaştı ve Tendermint PBFT fikirlerini halka açık blok zincirlerinde kullanılmak üzere uyarladı.
PBFT'de Görünüm Değişikliği
Bir PBFT birincil düğümünün hatalı olduğundan şüphelenildiğinde (zaman aşımı), kopyalar görünüm değişikliğini başlatır. Her kopya, durumunu (eski görünümde hazırlanmış değerleri) içeren bir görünüm değişikliği mesajını yayınlar. Yeni birincil düğüm 2f+1 görünüm değişikliği mesajı toplar, durum geçişinin daha önce taahhüt edilmiş değerlerle tutarlı olduğunu kanıtlayan bir yeni görünüm mesajı oluşturur ve bunu yayınlar. Görünüm değişiklikleri pahalıdır (O(n^3) mesaj) ve pratikte bir darboğaz oluşturmuştur. PBFT'nin görünüm değişikliği sertifikası ve HotStuff'ın işlem hatlı tasarımı gibi iyileştirmeler bu sorunu ele alır.
Tendermint: Blok Zincirleri için PBFT
Tendermint (2014, Kwon; 2019'da Cosmos'ta üretimde), PBFT'yi halka açık blok zinciri ortamlarına uyarlar. Tendermint'te blok başına üç aşama vardır: önerme (lider önerilen bloğu yayınlar), ön oylama (doğrulayıcılar öneri için oy kullanır) ve ön taahhüt (doğrulayıcılar 2/3'lük ön oyları gördükten sonra taahhüt etmek için oy kullanır). Bir doğrulayıcı 2/3'lük ön taahhüt oyu topladığında blok taahhüt edilir; bu bir yeter sayı sertifikasıdır. Doğrulayıcılar, hisseye göre ağırlıklandırılmış sıra dönüşümlü düzende önerici olarak sırayla görev yapar. Bir tur taahhüt olmadan zaman aşımına uğrarsa doğrulayıcılar boş oy kullanarak bir sonraki tura geçer.
Tendermint Güvenliği ve Canlılığı
Tendermint güçlü güvenlik sağlar: hissenin 1/3'ünden azı Bizans olduğu sürece taahhüt edilmiş bir blok kesindir ve geri alınamaz. Bu, eşzamanlı kesinliktir; taahhütten sonra çatallanma olmaz. Canlılık kısmen eşzamanlı bir ağ gerektirir: ileti gecikmeleri sınırlandığında protokol ilerler, ancak sürekli eşzamanlılık gerektirmez. Canlılık ile güvenlik arasındaki ödünleşim temeldir: Tendermint, güvenliği garanti etmek için canlılıktan ödün verir (ağ bölünürse durabilir); Bitcoin gibi zincirler ise canlılık uğruna güvenlikten ödün verir (geçici çatallanmaların oluşmasına izin verir).
Tendermint'te Oy Kilitleme
Tendermint'in kritik mekanizmalarından biri oy kilitlemedir. Bir doğrulayıcı r turunda bir blok için ön taahhüt gönderdiğinde o bloğa kilitlenir. Sonraki turlarda kilitli bir doğrulayıcı yalnızca kilitlendiği blok için ön oy verebilir (veya bloğun taahhüt edilmediğine dair kanıt alırsa boş oy verebilir). Bu, turlar arasında çelişkili taahhütleri önler. Bir doğrulayıcı, daha sonraki bir turda farklı bir blok için 2/3'lük ön oy çoğunluğu alırsa kilidini açabilir; bu çoğunluk, ilk bloğun taahhüt edilmediğini kanıtlar.
Cosmos IBC ve Tendermint Hafif İstemcileri
Cosmos Zincirler Arası İletişim (IBC), zincirler arası aktarımlar için Tendermint'in anlık kesinliğine dayanır. Bir Tendermint hafif istemcisi, doğrulayıcı kümesini ve son taahhüdü (bir blok başlığı ile 2/3'lük ön taahhüt imzasını) izler. Zincir A'dan gelen bir paketi doğrulamak için zincir B'nin IBC modülü, yeter sayı sertifikasını, yani zincir A doğrulayıcılarının 2/3'ünün ilgili blok başlığını imzaladığını doğrular. Böylece IBC güvenliği Tendermint'in BFT garantisine bağlı olur: kaynak blok taahhüt edilir edilmez zincirler arası aktarım kesinleşir.
HotStuff: Doğrusal BFT
HotStuff (Yin ve diğerleri, 2018; Facebook'un LibraBFT/DiemBFT'sinin temeli, günümüzde Aptos ve Sui), yıldız topolojisi kullanarak uzlaşma turu başına O(n) ileti karmaşıklığına ulaşır: tüm doğrulayıcılar oylarını lidere gönderir, lider bunları bir eşik imzasında (QC, yeter sayı sertifikası) birleştirir ve QC'yi yayınlar. HotStuff, güvenlik kanıtlarının art arda gelen üç QC'ye yayıldığı ve işlem hattı kullanımını mümkün kılan üç aşamalı zincirleme bir tasarım kullanır. Doğrusal karmaşıklık, HotStuff'ı Aptos ve Sui'de kullanıldığı gibi 100-300 doğrulayıcı için pratik hâle getirir.
Kurumsal Blok Zincirlerinde BFT
Kurumsal blok zincirleri (Hyperledger Fabric, Besu, Quorum), doğrulayıcı kimliklerinin bilindiği izinli ağlarda BFT uzlaşmasını kullanır. Hyperledger Fabric'in Raft tabanlı sıralama hizmeti, güvenilir konsorsiyumlar için çökme hatası toleransı (Bizans hatası değil) sağlar. Fabric'in planlanan BFT kilometre taşı, kütüphane tabanlı bir uygulama olan SmartBFT'yi hedefler. R3 Corda, çift harcamanın önlenmesi için BFT-SMART kullanan bir noter kümesi kullanır. CFT ile BFT arasındaki seçim güven varsayımlarını yansıtır: Doğrulayıcılar karşı tarafın saldırısına açık olabilirse BFT gerekir; yalnızca güvenilmezlerse CFT yeterlidir.
BFT Saldırı Senaryoları
BFT'yi anlamak, hangi saldırılara direndiğini ve hangilerine direnmediğini anlamayı gerektirir. BFT, farklı eşlere çelişkili mesajlar gönderen doğrulayıcılarla ve çöken ya da sessiz kalan doğrulayıcılarla başa çıkar. Ancak Sybil saldırılarına karşı koruma sağlamaz; sahte kimlikler oluşturarak doğrulayıcıların 1/3'ünü kontrol eden bir saldırgan güvenliği bozabilir. Bu nedenle halka açık BFT zincirleri Hisse Kanıtı ile hisse ağırlıklandırması kullanır: Hissenin 1/3'ünü edinmek gerçek paraya mal olur ve Sybil saldırılarına karşı direnç sağlar. BFT ayrıca mesajların sonunda teslim edileceğini (kısmi eşzamanlılığı) varsayar; canlılık zaman aşımından daha uzun süren bir ağ bölünmesi zinciri durdurabilir.
BFT Hata Eşiği Sınaması
Standart bir BFT protokolünde güvenliği korurken doğrulayıcıların en fazla hangi oranı Bizans olabilir?
BFT Protokollerinin Özeti
BFT protokolleri, kötü niyetli doğrulayıcıların 1/3'üne kadarına rağmen uzlaşmayı garanti eder. PBFT (1999), BFT'yi pratik hâle getirdiğini kanıtladı ancak O(n^2) ileti karmaşıklığına sahiptir. Tendermint, anlık kesinlik ve oy kilitleme ile PBFT'yi blok zincirlerine uyarlar. HotStuff, eşik imzalı QC'ler yoluyla O(n) karmaşıklığına ulaşır ve Aptos ile Sui'de kullanılır. Cosmos IBC, doğrulanmış zincirler arası aktarımlar için Tendermint'in anlık kesinliğini kullanır. Kurumsal blok zincirleri, Bizans hatalarının mı yoksa yalnızca çökmelerin mi beklenmesine bağlı olarak BFT-SMART veya Raft kullanır.
Sıkça Sorulan Sorular
“BFT Protokolleri: PBFT ve Tendermint” dersi ücretsiz mi?
Evet — “BFT Protokolleri: PBFT ve Tendermint” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.
“BFT Protokolleri: PBFT ve Tendermint” dersinde ne öğreneceğim?
Bizans Hata Toleranslı uzlaşmayı ve Tendermint'in kriptografik oylamayla kesinliği nasıl sağladığını inceleyin. Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“BFT Protokolleri: PBFT ve Tendermint” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Hisse Kanıtı Kriptografik Mekanizmaları
- BFT Protokolleri: PBFT ve Tendermint
- Uzlaşmada Doğrulanabilir Rastgele İşlevler
- BLS İmzaları ve Birleştirilmiş İmza Şemaları