MonadBFT protokolünün bu sorunları nasıl ele aldığını tanıtarak, öneri mekanizmasını ve kuyruk çatallarını onay sertifikaları olmadan (NEC) kırarak performanstan ödün vermeden blok zinciri ağlarında adalet ve güvenlik sağladığını ortaya koyar.
Blok zincir teknolojisinin temel amacı, küresel düzeyde sağlam bir uzlaşı mekanizması kurmaktır. Yani, ağ düğümleri dünyanın hangi ülkesinde veya zaman diliminde bulunursa bulunsun, sistemin tüm katılımcılarının nihai olarak aynı işlem seti üzerinde fikir birliğine varması gerekir.
Ancak dağıtık ağların işleyişi ideal koşullardan uzaktır: düğümler çevrimdışı olabilir, yanlış bilgi verebilir ya da hatta kasıtlı olarak sistemi sabote edebilir. Bu durumda, sistem nasıl tek bir sesle konuşabilir? Tutarlılık nasıl korunabilir?
İşte bu noktada uzlaşı protokolü devreye girer. Bu protokol, her işlemin sırası ve içeriği konusunda karar verilmesini sağlayan, bağımsız ve hatta güvenilmez olabilen düğümleri yönlendiren bir dizi kuraldan oluşur.
Katı uzlaşma sağlandığında, blok zinciri yalnızca işlem bütünlüğü sunmakla kalmaz; aynı zamanda dijital mülkiyetin korunması, enflasyona dayanıklı para modelleri ve geniş ölçekli sosyal işbirliği yapılarının temelini oluşturur. Ancak bu sistemin sağlıklı çalışabilmesi için uzlaşma protokolü aynı anda şu iki koşulu sağlamalıdır:
MonadBFT, bu zorlukları ele alan en yeni teknolojik çözümlerden biridir.
Konsensüs mekanizmaları, onlarca yıldır araştırılan bir alan. PBFT (Practical Byzantine Fault Tolerance) gibi erken dönem protokoller, sistemdeki bazı düğümler zinciri terk etse, yanlış bilgi verse ya da kasıtlı olarak sistemi sabote etmeye çalışsa bile, bu düğümlerin toplamın üçte birini geçmemesi durumunda uzlaşmanın sağlanabileceğini gösterdi.
Bu ilk protokoller daha “geleneksel” bir yapıya sahipti: Her turda bir lider belirlenir, bu lider bir teklif sunar ve diğer doğrulayıcılar bu teklife birden fazla aşamada oy vererek işlem sırasını onaylar. Süreç genellikle dört temel aşamadan oluşur: ön hazırlık, hazırlık, taahhüt ve nihai karar. Bu adımların her birinde, tüm doğrulayıcıların birbirleriyle doğrudan iletişim kurması gerekir. Yani, herkesin herkese konuşması gereken bir yapı söz konusudur.
Bu yapı, iletişim açısından oldukça yoğundur. İletişim karmaşıklığı n^2 düzeyindedir – ağda 100 doğrulayıcı varsa, her onay turunda yaklaşık 10.000 mesajın iletilmesi gerekir.
Küçük ölçekli ağlarda bu sorun yaratmaz. Ancak ağ büyüdükçe, doğrulayıcı sayısı arttıkça, bu iletişim yükü hızla katlanır ve sistemin genel verimliliği üzerinde doğrudan baskı oluşturmaya başlar.
Kaynak: https://medium.com/coinmonks/pbft-an-algoritmayı-anlamak-b7a7869650ae
“Herkesin herkese konuştuğu” ikincil iletişim yapısı ciddi bir verimsizlik kaynağıdır. Örneğin, 100 doğrulayıcıya sahip bir ağda her bir uzlaşma turunda on binlerce mesajın işlenmesi gerekebilir. Bu, küçük ve kapalı ağlarda hâlâ yönetilebilir olsa da, küresel ve herkese açık bir zincir ortamına taşındığında bu iletişim yükü hızla kabul edilemez bir boyuta ulaşır.
Bu yüzden PBFT ve Tendermint gibi erken dönem BFT protokolleri, genellikle sadece izinli ağlarda veya sınırlı sayıda doğrulayıcıya sahip sistemlerde uygulanabilir durumda kalmıştır.
BFT protokollerini izinsiz, genel blok zincirlerine uygun hale getirebilmek için, sonraki nesil bazı tasarımlar daha hafif ve ölçeklenebilir iletişim yöntemleri geliştirmiştir. Bu yöntemlerin ortak noktası, her doğrulayıcının tüm ağla değil yalnızca liderle iletişim kurmasına dayanır. Bu sayede mesaj karmaşıklığı n^2’den n’ye indirgenir ve sistemin üzerindeki iletişim yükü büyük ölçüde azaltılır.
Bu yaklaşıma öncülük eden protokollerden biri 2018’de önerilen HotStuff oldu. Tasarım felsefesi oldukça netti: PBFT’nin çok aşamalı ve karmaşık oy verme sürecini, lider merkezli sade bir iletişim yapısıyla değiştirmek.
HotStuff’ın en belirgin özelliği, sözde doğrusal iletişim modelidir. Bu modelde her doğrulayıcı yalnızca lider düğüme oy gönderir. Lider, bu oyları toplayıp Oybirliği Sertifikası (Quorum Certificate - QC) adı verilen kolektif bir imza üretir. Bu sertifika, “ağın büyük çoğunluğu bu teklifi onaylıyor” mesajını temsil eder.
Buna karşın PBFT’de, tüm doğrulayıcılar birbirleriyle doğrudan konuşur, yani sistem “herkese yayın yap” modelini kullanır. Bu durum, ağ büyüdükçe sistemin karmaşık, hatta kaotik bir yapıya bürünmesine neden olabilir.
HotStuff’ın yaklaşımı ise “bir toplar, bir paketler” mantığına dayanır. Böylece ağda kaç doğrulayıcı olursa olsun, iletişim dengesi korunur ve sistem verimliliği sürdürülür.
Kaynak: https://www.mdpi.com/1424-8220/24/16/5417
Doğrusal iletişimin ötesinde, HotStuff protokolü verimliliği daha da artırmak için boru hattı (pipeline) yapısıyla geliştirilebilir. Orijinal HotStuff tasarımında, aynı doğrulayıcı bir blok tamamen onaylanana kadar ardışık turlarda liderlik yapar. Bu modelde, sistem her turda yalnızca bir blok işleyerek mevcut durumu adım adım ilerletmeye odaklanır.
Boru hattı sürümünde ise yapı daha esnektir: her turda yeni bir lider atanır ve bu liderin iki temel görevi olur:
Başka bir deyişle, artık “önce bir bloğu onayla, sonra yeni bir tane öner” sırası yerini bir üretim hattına bırakır. Farklı liderler sırayla bu adımlardan sorumlu olur. Bir lider blok önerir, diğeri onaylar ve bir diğeri hemen yeni bir blok önerisiyle süreci devam ettirir. Bu, zincir üzerinde uzlaşmanın bir bayrak yarışı gibi aşamalı olarak aktarıldığı anlamına gelir.
Bu modelin benzetildiği “montaj hattı” metaforu da buradan gelir: bir blok henüz doğrulanma sürecindeyken, sonraki blok zaten hazırlanmaktadır. Adımlar eşzamanlı ilerler ve bu sayede verimlilik ciddi oranda artar.
Özetle, HotStuff gibi modern protokoller geleneksel BFT yapısına göre iki temel avantaj sunar:
Bu avantajlar, HotStuff’ı birçok modern Proof-of-Stake blok zinciri için popüler bir konsensüs tasarım şablonu haline getirmiştir.
Ancak her avantajın bir bedeli vardır. Boru hattı yapısı yüksek performans sağlarken, aynı zamanda gözlemesi zor yapısal bir riski de içinde barındırır.
Sıradaki bölümde bu kritik konuyu derinlemesine inceleyeceğiz: Tail Forking.
HotStuff, özellikle boru hattı (pipeline) versiyonuyla konsensüs protokollerinin ölçeklenebilirlik sorununu etkili biçimde çözüyor. Ancak bu iyileştirme beraberinde yeni zorluklar da getiriyor. Bunlardan en önemlisi ve genellikle göz ardı edileni, “kuyruk çatalı” (tail forking) adı verilen problemdir.
Peki, kuyruk çatalı tam olarak nedir? Basit bir ifadeyle: zincirin ucunda, yani “kuyruğunda”, geçerli bir blok olması gerekirken bu blok istemeden devre dışı kalır ve yerine aynı yükseklikte farklı bir blok yazılır. Yani blok, yeterli oy almasına ve ağda çoğunluğa ulaşmasına rağmen sonradan “atlanır”, yetim kalır.
Bu bir yazılım hatası ya da saldırı değildir. Bu durum, doğrudan protokolün mimarisinden kaynaklanır. Zincir takibi yapısındaki zayıf bağlar, bu tür belirsizlikleri mümkün kılar. Bu da süreci adil olmayan bir hale getirebilir.
Sebep ne mi?
Daha önce açıklandığı gibi, HotStuff boru hattında her liderin iki görevi vardır:
Bu iki görev aynı anda ve birbirini izleyen liderler aracılığıyla yürütülür. Ancak bu modelde, kırılgan bir senaryo ortaya çıkabilir.
Örneğin, Alice’in lider olduğunu düşünelim. Alice, blok yüksekliği n olan B_n’yi önerir. Bu blok ağda yayılır, çoğunluk oyu alır ve neredeyse onaylanır. Ardından liderlik Bob’a geçer. Bob’un görevi hem zinciri B_{n+1} ile devam ettirmek hem de Alice’in B_n bloğu için gerekli olan QC’yi oluşturarak bu bloğu nihai olarak zincire yazmaktır.
Ancak diyelim ki Bob çevrimdışı olur ya da kötü niyetli şekilde QC’yi oluşturmaz. Bu durumda, Alice’in önerdiği ve oy çoğunluğunu kazanmış olan B_n bloğu resmi olarak hiçbir zaman onaylanmaz. Blok ağırlık kazanmışken bir anda sistem dışına itilir.
İşte bu, kuyruk çatalının özüdür: zincirde ilerleme yaşanırken, bir önceki liderin bloğu bir sonraki liderin ihmali ya da kasıtlı eylemi nedeniyle görünmez hale gelir ve atlanır.
Kuyruk çatalı, görmezden gelinmesi kolay bir teknik detay gibi görünse de, blok zincir ağlarında hem ekonomik hem de operasyonel açıdan ciddi tehditler oluşturur. Bu sorunun etkileri dört ana başlıkta toplanabilir:
Kuyruk çatalı oluştuğunda, geçerli bir blok terk edildiği için o bloğu öneren lider herhangi bir ödül alamaz. Ne blok ödülleri ne de işlem ücretleri. Örneğin, Alice geçerli bir blok önerir ve çoğunluk oyu alır. Ancak Bob’un ihmali veya kötü niyeti nedeniyle blok QC’ye ulaşamaz ve onaylanamazsa, Alice’in tüm emeği boşa gider. Herhangi bir ödeme almaz.
Bu durum, sistemin ekonomik yapısında ciddi bir bozulma yaratır. Bob gibi kötü niyetli doğrulayıcılar, rakiplerinin bloklarını “atlanmaya zorlayarak” onların gelir kaynaklarını kesebilir. Bu tür davranışlar teknik bir saldırı değil, sadece stratejik sabotajdır. Uzun vadede, bu tarz senaryolar düğümler arasında güveni zedeler, katılımı azaltır ve blok zincirin adalet duygusunu aşındırır. Hatta bazı düğümler arasında çıkar birlikteliklerine yol açabilir.
Kuyruk çatalı, Maximum Extractable Value (MEV) fırsatlarının kötüye kullanılması için yeni yollar açar. Diyelim ki Alice’in önerdiği blokta değerli bir arbitraj işlemi var. Eğer Bob ve ardından lider olan Carol iş birliği yaparsa, Bob kasıtlı olarak Alice’in bloğunu QC ile yaymaz, Carol da aynı yükseklikte yeni bir blok önererek Alice’in işlemini kopyalar.
Bu senaryo, zincirin teknik kurallarına uygun gözükse de aslında organize bir “MEV gaspı”dır. İşlem gelirleri, o işlemi ilk öneren doğrulayıcıdan çalınmış olur. Bu durum, liderler arasında sessiz çıkar anlaşmalarına yol açarak blok onay sürecini adil rekabetten çıkarır, bir tür fayda paylaşım oyununa dönüştürür.
BFT tabanlı protokoller, Nakamoto benzeri protokollere kıyasla daha güçlü bir “geri alınamazlık” garantisi sunar. Bir blok onaylandığında, bu kesin kabul anlamına gelir. Ancak kuyruk çatalı bu yapıyı zedeler.
Blok henüz resmi olarak QC ile onaylanmadan önce “ön taahhüt” edilmiş olsa bile, atlandığı anda bu güvence ortadan kalkar. Yüksek frekanslı uygulamalar (örneğin DeFi ya da oyun dapp’leri), bu bloklara erken erişimle işlem durumu okuması yapar. Eğer blok son anda iptal edilirse, kullanıcı deneyimi ciddi biçimde zarar görebilir. Bu, anormal bakiye hataları, geri alınan kaldıraçlı işlemler veya sıfırlanan oyun durumları gibi sonuçlar doğurabilir.
Tek bir kuyruk çatalı genellikle yalnızca bir blokluk bir gecikmeye yol açar. Ancak bazı durumlarda ardışık birkaç lider, önceki bloğu QC ile onaylamaktan kaçınırsa, zincir “sorumluluk alacak lider” bulunana kadar kilitlenebilir. Ağ ilerlemez, sistem duraksar. Bu durum, performansı değil, işleyişin sürdürülebilirliğini doğrudan tehdit eder.
Bu soruna dair bazı çözüm önerileri var, örneğin BeeGees protokolünün kuyruk çatalını önlemeye yönelik mekanizması. Ancak bu tür çözümler genellikle sisteme tekrar ağır iletişim yükü getiriyor. Yani kuyruk çatalını engellemek için sağlanan fayda, verimlilik kaybı nedeniyle pahalıya mal oluyor. Bu da sistem tasarımcılarını zor bir dengeye zorluyor: güvenlik mi, performans mı?
MonadBFT, kuyruk çatalı (tail forking) sorununu doğrudan hedef alarak tasarlanmış, yeni nesil bir konsensüs protokolüdür. En büyük avantajı, bu yapısal zayıflığı giderirken HotStuff boru hattı mimarisinin getirdiği performans avantajlarından ödün vermemesidir.
Başka bir deyişle, MonadBFT sıfırdan inşa edilmemiştir. Bunun yerine HotStuff’ın temel çerçevesi üzerine inşa edilerek sistematik olarak optimize edilmiştir. Bu süreçte üç temel özelliğini korur:
Ancak yalnızca bu üç özellik, kuyruk çatalı gibi kritik yapısal sorunları ortadan kaldırmak için yeterli değildir. Bu nedenle MonadBFT, güvenliği ve adaleti garanti altına almak için iki önemli yenilikçi mekanizma ekler:
MonadBFT bu şekilde, hem verimliliği koruyup hem de kuyruk çatalı gibi karmaşık güvenlik açıklarını sistem düzeyinde çözen yeni nesil bir konsensüs çözümü olarak öne çıkıyor.
BFT protokollerinde zaman, görünümler olarak adlandırılan turlara bölünür ve her turda bir lider, yeni bir blok önermekle sorumludur. Eğer lider görevini yerine getiremezse (örneğin, zamanında blok önermezse ya da geçersiz bir öneride bulunursa) sistem bir sonraki görünüme geçer ve yeni bir lider atanır.
MonadBFT, bu geçiş sürecinde dürüstçe önerilen blokların “zincir dışı” bırakılmaması için özel bir mekanizma geliştirir. Amaç, zincirin ucuna kadar gelmiş ve onaya yaklaşmış blokların, lider değişimi nedeniyle sessizce kaybolmasını önlemektir.
Mevcut lider başarısız olduğunda, doğrulayıcılar tur değişikliği (view change) mesajı gönderir. Bu mesaj yalnızca zaman aşımını belirtmez, aynı zamanda “geçerli bir teklif almadım, işte şu anda sahip olduğum en son blok” anlamına da gelir. Bu mesaj, doğrulayıcının son oy bilgisini de içerir.
Yeni lider, bu mesajlardan süper çoğunluk (2f+1) oranında toplar ve bunları birleştirerek bir Zaman Aşımı Sertifikası (Timeout Certificate - TC) oluşturur. TC, ağın son başarılı blok üzerindeki kolektif görüşünü temsil eder: önceki turun başarısız olduğunu ve hangi bloğun zincirin devamı olması gerektiğini kaydeder.
Yeni lider, TC’yi aldıktan sonra şu iki şeyi yapmakla yükümlüdür:
Bu adım kritiktir. Çünkü daha önce çoğunluk oyu almış ancak onay süreci tamamlanamamış bir blok, yalnızca kötü şans veya bir liderin ihmali nedeniyle sessizce silinmemelidir.
Pratik Örnek
Örneğin, Alice 5. görünümün lideridir ve önerdiği blok çoğunluk oyu almıştır. Ardından Bob, 6. görünümde lider olur ama çevrimdışı olduğu için blok öneremez. Bu durumda 7. görünümün lideri olan Carol, TC’yi toplar ve sistemin kurallarına göre Alice’in önerdiği bloğu tekrar gündeme getirmelidir.
Eğer Carol, Alice’in bloğuna sahip değilse, diğer düğümlerden talep edebilir. Düğümler bu durumda:
Unutulmaması gereken kritik bir nokta: ağda en fazla f Bizans düğümü bulunabileceği için, bazıları isteği yanıtsız bırakabilir ya da kasıtlı olarak engelleyebilir.
Ancak Carol, Alice’in bloğunu elde edip tekrar önerdiğinde, sistem ona önceki liderin hatasından doğan kaybı telafi etmesi için ekstra bir öneri fırsatı tanır. Bu sayede zincir adil şekilde ilerler.
Teklif Yeniden Öneri Mekanizması, zincirin güvenilirliğini ve adaletini korur. Dürüstçe önerilen, neredeyse onaylanmış blokların; yalnızca bir liderin çevrimdışı olması ya da kasıtlı engellemesi nedeniyle sistemden düşmesini engeller. Kısacası, “iyi niyetli bir çalışmanın kötü şansa kurban gitmemesi” garanti altına alınır.
Önceki örnek üzerinden devam edelim: Bob’un liderlik süresi zaman aşımına uğradıktan sonra, yeni lider olan Carol, diğer doğrulayıcılardan high_tc bloğunu (yani Alice’in önerdiği ve neredeyse onaylanmış bloğu) sağlamalarını ister. Bu noktada, en az 2f+1 doğrulayıcının şu iki şekilde yanıt vermesi beklenir:
Carol, eğer Alice’in bloğunu elde edebiliyorsa, protokol kurallarına göre bu bloğu yeniden önermek zorundadır. Ancak, eğer en az f+1 doğrulayıcı NE mesajı ile bu bloğa ulaşamadıklarını bildirirse, o zaman Carol’a bloğu atlama ve yeni bir blok önerme yetkisi tanınır.
Neden f+1 Yeterlidir?
Bir BFT sisteminde toplam 3f+1 doğrulayıcı varsa, en fazla f tanesi kötü niyetli olabilir. Eğer Alice’in bloğu gerçekten önceki turda yeterli desteği aldıysa, bu bloğun en az 2f+1 dürüst doğrulayıcı tarafından görülmüş olması gerekir. Bu nedenle Carol’ın, “bu bloğu alamıyorum” iddiası ancak f+1 imzalı NE mesajıyla geçerlilik kazanır.
Bu f+1 imza, Bir Endorsementsız Sertifika (NEC - No Endorsement Certificate) oluşturur. NEC, liderin zincirdeki önceki bloğu neden atladığını kriptografik olarak belgeleyen resmi bir ‘feragat kanıtıdır’.
MonadBFT, teklif yeniden öneri mekanizması ve NEC aracılığıyla zincir ilerlemesi için şu iki katı kuralı getirir:
Aksi halde, liderin önceki bloğu atlamasına izin verilmez.
Bu kurallar sayesinde:
Bu mekanizma, sadece teknik güvenlik değil, aynı zamanda ekonomik adalet sağlar. Bir blok dürüstçe önerildiyse ve yeterli oy aldıysa, daha sonraki turlarda yaşanan hatalar nedeniyle bu blok için ödülün kaybedilmesi söz konusu olmaz.
Dahası, bir lider blok üretme sırasını kasıtlı olarak sabote edip, önceki bloğu atlayarak MEV avantajı sağlamaya çalışırsa, protokol bunu önler. Sistem, yeni lideri önceki bloğu yeniden önermeye zorlar. Böylece saldırganın ekonomik çıkar elde etmesinin önüne geçilir.
MonadBFT’nin en güçlü yönlerinden biri, güvenlik için performanstan ödün vermemesidir. Geçmişte kuyruk çatalı sorununa çözüm arayan bazı protokoller (örneğin BeeGees), bunu genellikle yüksek iletişim maliyeti pahasına yapmıştır, örneğin n^2 mesaj karmaşıklığına geri dönerek ya da her turda yoğun mesajlaşma gerektirerek.
MonadBFT ise daha akıllı bir yaklaşım benimser:
Bu dinamik denge, MonadBFT’yi seleflerinden ayıran en önemli farktır.
Bu makale, geleneksel PBFT konsensüs protokolünün temel yapısını gözden geçirerek başlar, ardından HotStuff protokolünün evrimi ve getirdiği boru hattı mimarisinin avantajlarına değinir. Makalenin odak noktası ise, HotStuff’ın doğal yapısında ortaya çıkan kuyruk çatalı (tail forking) sorununa MonadBFT’nin getirdiği çözümdür.
Kuyruk çatalı, zincirin sonundaki blokların lider değişimi, gecikme veya kötü niyet nedeniyle onaylanmadan terk edilmesine neden olabilir. Bu durum, blok öneren liderlerin ekonomik teşvik yapısını bozar, sistemin güvenilirliğini zedeler ve potansiyel ağ tıkanıklıklarına yol açar.
MonadBFT, bu yapısal sorunu çözmek amacıyla iki temel mekanizma sunar:
Bu kombinasyon sayesinde MonadBFT, performanstan ödün vermeden güvenliği artırır ve zincir ilerlemesinde tutarlılığı korur.
Bu makale, michael_lwy’den alıntılanmıştır. İçeriğin tüm telif hakları yazara aittir. Telif haklarına ilişkin sorularınız için bizimle iletişime geçebilirsiniz.
Bu içerik yalnızca bilgilendirme amacı taşımaktadır ve yazarın kişisel görüşlerini yansıtır. Gate.TR’nin resmi görüşlerini yansıtmamaktadır. İçerikte yer alan marka, kurum, kuruluş veya kişilerle Gate.TR’nin herhangi bir ilişkisi bulunmamaktadır.
Bu içerik, yatırım tavsiyesi niteliğinde değildir. Dijital varlık alım-satımını teşvik etmeyi amaçlamaz, yalnızca bilgilendirme amaçlıdır.
Kripto varlıklar yüksek risk içerir ve ciddi fiyat dalgalanmalarına maruz kalabilir. Yatırım kararı vermeden önce kendi finansal durumunuzu değerlendirmeli ve kararınızı bağımsız olarak vermelisiniz.
Makalede yer alan veriler ve grafikler yalnızca genel bilgilendirme amacıyla sunulmuştur. Tüm içerikler özenle hazırlanmış olsa da, olası hata veya eksikliklerden dolayı sorumluluk kabul edilmez.
Gate TR Akademi ekibi bu içeriği farklı dillere çevirebilir. Hiçbir çeviri makale; kopyalanamaz, çoğaltılamaz veya izinsiz dağıtılamaz.
Paylaş
MonadBFT protokolünün bu sorunları nasıl ele aldığını tanıtarak, öneri mekanizmasını ve kuyruk çatallarını onay sertifikaları olmadan (NEC) kırarak performanstan ödün vermeden blok zinciri ağlarında adalet ve güvenlik sağladığını ortaya koyar.
Blok zincir teknolojisinin temel amacı, küresel düzeyde sağlam bir uzlaşı mekanizması kurmaktır. Yani, ağ düğümleri dünyanın hangi ülkesinde veya zaman diliminde bulunursa bulunsun, sistemin tüm katılımcılarının nihai olarak aynı işlem seti üzerinde fikir birliğine varması gerekir.
Ancak dağıtık ağların işleyişi ideal koşullardan uzaktır: düğümler çevrimdışı olabilir, yanlış bilgi verebilir ya da hatta kasıtlı olarak sistemi sabote edebilir. Bu durumda, sistem nasıl tek bir sesle konuşabilir? Tutarlılık nasıl korunabilir?
İşte bu noktada uzlaşı protokolü devreye girer. Bu protokol, her işlemin sırası ve içeriği konusunda karar verilmesini sağlayan, bağımsız ve hatta güvenilmez olabilen düğümleri yönlendiren bir dizi kuraldan oluşur.
Katı uzlaşma sağlandığında, blok zinciri yalnızca işlem bütünlüğü sunmakla kalmaz; aynı zamanda dijital mülkiyetin korunması, enflasyona dayanıklı para modelleri ve geniş ölçekli sosyal işbirliği yapılarının temelini oluşturur. Ancak bu sistemin sağlıklı çalışabilmesi için uzlaşma protokolü aynı anda şu iki koşulu sağlamalıdır:
MonadBFT, bu zorlukları ele alan en yeni teknolojik çözümlerden biridir.
Konsensüs mekanizmaları, onlarca yıldır araştırılan bir alan. PBFT (Practical Byzantine Fault Tolerance) gibi erken dönem protokoller, sistemdeki bazı düğümler zinciri terk etse, yanlış bilgi verse ya da kasıtlı olarak sistemi sabote etmeye çalışsa bile, bu düğümlerin toplamın üçte birini geçmemesi durumunda uzlaşmanın sağlanabileceğini gösterdi.
Bu ilk protokoller daha “geleneksel” bir yapıya sahipti: Her turda bir lider belirlenir, bu lider bir teklif sunar ve diğer doğrulayıcılar bu teklife birden fazla aşamada oy vererek işlem sırasını onaylar. Süreç genellikle dört temel aşamadan oluşur: ön hazırlık, hazırlık, taahhüt ve nihai karar. Bu adımların her birinde, tüm doğrulayıcıların birbirleriyle doğrudan iletişim kurması gerekir. Yani, herkesin herkese konuşması gereken bir yapı söz konusudur.
Bu yapı, iletişim açısından oldukça yoğundur. İletişim karmaşıklığı n^2 düzeyindedir – ağda 100 doğrulayıcı varsa, her onay turunda yaklaşık 10.000 mesajın iletilmesi gerekir.
Küçük ölçekli ağlarda bu sorun yaratmaz. Ancak ağ büyüdükçe, doğrulayıcı sayısı arttıkça, bu iletişim yükü hızla katlanır ve sistemin genel verimliliği üzerinde doğrudan baskı oluşturmaya başlar.
Kaynak: https://medium.com/coinmonks/pbft-an-algoritmayı-anlamak-b7a7869650ae
“Herkesin herkese konuştuğu” ikincil iletişim yapısı ciddi bir verimsizlik kaynağıdır. Örneğin, 100 doğrulayıcıya sahip bir ağda her bir uzlaşma turunda on binlerce mesajın işlenmesi gerekebilir. Bu, küçük ve kapalı ağlarda hâlâ yönetilebilir olsa da, küresel ve herkese açık bir zincir ortamına taşındığında bu iletişim yükü hızla kabul edilemez bir boyuta ulaşır.
Bu yüzden PBFT ve Tendermint gibi erken dönem BFT protokolleri, genellikle sadece izinli ağlarda veya sınırlı sayıda doğrulayıcıya sahip sistemlerde uygulanabilir durumda kalmıştır.
BFT protokollerini izinsiz, genel blok zincirlerine uygun hale getirebilmek için, sonraki nesil bazı tasarımlar daha hafif ve ölçeklenebilir iletişim yöntemleri geliştirmiştir. Bu yöntemlerin ortak noktası, her doğrulayıcının tüm ağla değil yalnızca liderle iletişim kurmasına dayanır. Bu sayede mesaj karmaşıklığı n^2’den n’ye indirgenir ve sistemin üzerindeki iletişim yükü büyük ölçüde azaltılır.
Bu yaklaşıma öncülük eden protokollerden biri 2018’de önerilen HotStuff oldu. Tasarım felsefesi oldukça netti: PBFT’nin çok aşamalı ve karmaşık oy verme sürecini, lider merkezli sade bir iletişim yapısıyla değiştirmek.
HotStuff’ın en belirgin özelliği, sözde doğrusal iletişim modelidir. Bu modelde her doğrulayıcı yalnızca lider düğüme oy gönderir. Lider, bu oyları toplayıp Oybirliği Sertifikası (Quorum Certificate - QC) adı verilen kolektif bir imza üretir. Bu sertifika, “ağın büyük çoğunluğu bu teklifi onaylıyor” mesajını temsil eder.
Buna karşın PBFT’de, tüm doğrulayıcılar birbirleriyle doğrudan konuşur, yani sistem “herkese yayın yap” modelini kullanır. Bu durum, ağ büyüdükçe sistemin karmaşık, hatta kaotik bir yapıya bürünmesine neden olabilir.
HotStuff’ın yaklaşımı ise “bir toplar, bir paketler” mantığına dayanır. Böylece ağda kaç doğrulayıcı olursa olsun, iletişim dengesi korunur ve sistem verimliliği sürdürülür.
Kaynak: https://www.mdpi.com/1424-8220/24/16/5417
Doğrusal iletişimin ötesinde, HotStuff protokolü verimliliği daha da artırmak için boru hattı (pipeline) yapısıyla geliştirilebilir. Orijinal HotStuff tasarımında, aynı doğrulayıcı bir blok tamamen onaylanana kadar ardışık turlarda liderlik yapar. Bu modelde, sistem her turda yalnızca bir blok işleyerek mevcut durumu adım adım ilerletmeye odaklanır.
Boru hattı sürümünde ise yapı daha esnektir: her turda yeni bir lider atanır ve bu liderin iki temel görevi olur:
Başka bir deyişle, artık “önce bir bloğu onayla, sonra yeni bir tane öner” sırası yerini bir üretim hattına bırakır. Farklı liderler sırayla bu adımlardan sorumlu olur. Bir lider blok önerir, diğeri onaylar ve bir diğeri hemen yeni bir blok önerisiyle süreci devam ettirir. Bu, zincir üzerinde uzlaşmanın bir bayrak yarışı gibi aşamalı olarak aktarıldığı anlamına gelir.
Bu modelin benzetildiği “montaj hattı” metaforu da buradan gelir: bir blok henüz doğrulanma sürecindeyken, sonraki blok zaten hazırlanmaktadır. Adımlar eşzamanlı ilerler ve bu sayede verimlilik ciddi oranda artar.
Özetle, HotStuff gibi modern protokoller geleneksel BFT yapısına göre iki temel avantaj sunar:
Bu avantajlar, HotStuff’ı birçok modern Proof-of-Stake blok zinciri için popüler bir konsensüs tasarım şablonu haline getirmiştir.
Ancak her avantajın bir bedeli vardır. Boru hattı yapısı yüksek performans sağlarken, aynı zamanda gözlemesi zor yapısal bir riski de içinde barındırır.
Sıradaki bölümde bu kritik konuyu derinlemesine inceleyeceğiz: Tail Forking.
HotStuff, özellikle boru hattı (pipeline) versiyonuyla konsensüs protokollerinin ölçeklenebilirlik sorununu etkili biçimde çözüyor. Ancak bu iyileştirme beraberinde yeni zorluklar da getiriyor. Bunlardan en önemlisi ve genellikle göz ardı edileni, “kuyruk çatalı” (tail forking) adı verilen problemdir.
Peki, kuyruk çatalı tam olarak nedir? Basit bir ifadeyle: zincirin ucunda, yani “kuyruğunda”, geçerli bir blok olması gerekirken bu blok istemeden devre dışı kalır ve yerine aynı yükseklikte farklı bir blok yazılır. Yani blok, yeterli oy almasına ve ağda çoğunluğa ulaşmasına rağmen sonradan “atlanır”, yetim kalır.
Bu bir yazılım hatası ya da saldırı değildir. Bu durum, doğrudan protokolün mimarisinden kaynaklanır. Zincir takibi yapısındaki zayıf bağlar, bu tür belirsizlikleri mümkün kılar. Bu da süreci adil olmayan bir hale getirebilir.
Sebep ne mi?
Daha önce açıklandığı gibi, HotStuff boru hattında her liderin iki görevi vardır:
Bu iki görev aynı anda ve birbirini izleyen liderler aracılığıyla yürütülür. Ancak bu modelde, kırılgan bir senaryo ortaya çıkabilir.
Örneğin, Alice’in lider olduğunu düşünelim. Alice, blok yüksekliği n olan B_n’yi önerir. Bu blok ağda yayılır, çoğunluk oyu alır ve neredeyse onaylanır. Ardından liderlik Bob’a geçer. Bob’un görevi hem zinciri B_{n+1} ile devam ettirmek hem de Alice’in B_n bloğu için gerekli olan QC’yi oluşturarak bu bloğu nihai olarak zincire yazmaktır.
Ancak diyelim ki Bob çevrimdışı olur ya da kötü niyetli şekilde QC’yi oluşturmaz. Bu durumda, Alice’in önerdiği ve oy çoğunluğunu kazanmış olan B_n bloğu resmi olarak hiçbir zaman onaylanmaz. Blok ağırlık kazanmışken bir anda sistem dışına itilir.
İşte bu, kuyruk çatalının özüdür: zincirde ilerleme yaşanırken, bir önceki liderin bloğu bir sonraki liderin ihmali ya da kasıtlı eylemi nedeniyle görünmez hale gelir ve atlanır.
Kuyruk çatalı, görmezden gelinmesi kolay bir teknik detay gibi görünse de, blok zincir ağlarında hem ekonomik hem de operasyonel açıdan ciddi tehditler oluşturur. Bu sorunun etkileri dört ana başlıkta toplanabilir:
Kuyruk çatalı oluştuğunda, geçerli bir blok terk edildiği için o bloğu öneren lider herhangi bir ödül alamaz. Ne blok ödülleri ne de işlem ücretleri. Örneğin, Alice geçerli bir blok önerir ve çoğunluk oyu alır. Ancak Bob’un ihmali veya kötü niyeti nedeniyle blok QC’ye ulaşamaz ve onaylanamazsa, Alice’in tüm emeği boşa gider. Herhangi bir ödeme almaz.
Bu durum, sistemin ekonomik yapısında ciddi bir bozulma yaratır. Bob gibi kötü niyetli doğrulayıcılar, rakiplerinin bloklarını “atlanmaya zorlayarak” onların gelir kaynaklarını kesebilir. Bu tür davranışlar teknik bir saldırı değil, sadece stratejik sabotajdır. Uzun vadede, bu tarz senaryolar düğümler arasında güveni zedeler, katılımı azaltır ve blok zincirin adalet duygusunu aşındırır. Hatta bazı düğümler arasında çıkar birlikteliklerine yol açabilir.
Kuyruk çatalı, Maximum Extractable Value (MEV) fırsatlarının kötüye kullanılması için yeni yollar açar. Diyelim ki Alice’in önerdiği blokta değerli bir arbitraj işlemi var. Eğer Bob ve ardından lider olan Carol iş birliği yaparsa, Bob kasıtlı olarak Alice’in bloğunu QC ile yaymaz, Carol da aynı yükseklikte yeni bir blok önererek Alice’in işlemini kopyalar.
Bu senaryo, zincirin teknik kurallarına uygun gözükse de aslında organize bir “MEV gaspı”dır. İşlem gelirleri, o işlemi ilk öneren doğrulayıcıdan çalınmış olur. Bu durum, liderler arasında sessiz çıkar anlaşmalarına yol açarak blok onay sürecini adil rekabetten çıkarır, bir tür fayda paylaşım oyununa dönüştürür.
BFT tabanlı protokoller, Nakamoto benzeri protokollere kıyasla daha güçlü bir “geri alınamazlık” garantisi sunar. Bir blok onaylandığında, bu kesin kabul anlamına gelir. Ancak kuyruk çatalı bu yapıyı zedeler.
Blok henüz resmi olarak QC ile onaylanmadan önce “ön taahhüt” edilmiş olsa bile, atlandığı anda bu güvence ortadan kalkar. Yüksek frekanslı uygulamalar (örneğin DeFi ya da oyun dapp’leri), bu bloklara erken erişimle işlem durumu okuması yapar. Eğer blok son anda iptal edilirse, kullanıcı deneyimi ciddi biçimde zarar görebilir. Bu, anormal bakiye hataları, geri alınan kaldıraçlı işlemler veya sıfırlanan oyun durumları gibi sonuçlar doğurabilir.
Tek bir kuyruk çatalı genellikle yalnızca bir blokluk bir gecikmeye yol açar. Ancak bazı durumlarda ardışık birkaç lider, önceki bloğu QC ile onaylamaktan kaçınırsa, zincir “sorumluluk alacak lider” bulunana kadar kilitlenebilir. Ağ ilerlemez, sistem duraksar. Bu durum, performansı değil, işleyişin sürdürülebilirliğini doğrudan tehdit eder.
Bu soruna dair bazı çözüm önerileri var, örneğin BeeGees protokolünün kuyruk çatalını önlemeye yönelik mekanizması. Ancak bu tür çözümler genellikle sisteme tekrar ağır iletişim yükü getiriyor. Yani kuyruk çatalını engellemek için sağlanan fayda, verimlilik kaybı nedeniyle pahalıya mal oluyor. Bu da sistem tasarımcılarını zor bir dengeye zorluyor: güvenlik mi, performans mı?
MonadBFT, kuyruk çatalı (tail forking) sorununu doğrudan hedef alarak tasarlanmış, yeni nesil bir konsensüs protokolüdür. En büyük avantajı, bu yapısal zayıflığı giderirken HotStuff boru hattı mimarisinin getirdiği performans avantajlarından ödün vermemesidir.
Başka bir deyişle, MonadBFT sıfırdan inşa edilmemiştir. Bunun yerine HotStuff’ın temel çerçevesi üzerine inşa edilerek sistematik olarak optimize edilmiştir. Bu süreçte üç temel özelliğini korur:
Ancak yalnızca bu üç özellik, kuyruk çatalı gibi kritik yapısal sorunları ortadan kaldırmak için yeterli değildir. Bu nedenle MonadBFT, güvenliği ve adaleti garanti altına almak için iki önemli yenilikçi mekanizma ekler:
MonadBFT bu şekilde, hem verimliliği koruyup hem de kuyruk çatalı gibi karmaşık güvenlik açıklarını sistem düzeyinde çözen yeni nesil bir konsensüs çözümü olarak öne çıkıyor.
BFT protokollerinde zaman, görünümler olarak adlandırılan turlara bölünür ve her turda bir lider, yeni bir blok önermekle sorumludur. Eğer lider görevini yerine getiremezse (örneğin, zamanında blok önermezse ya da geçersiz bir öneride bulunursa) sistem bir sonraki görünüme geçer ve yeni bir lider atanır.
MonadBFT, bu geçiş sürecinde dürüstçe önerilen blokların “zincir dışı” bırakılmaması için özel bir mekanizma geliştirir. Amaç, zincirin ucuna kadar gelmiş ve onaya yaklaşmış blokların, lider değişimi nedeniyle sessizce kaybolmasını önlemektir.
Mevcut lider başarısız olduğunda, doğrulayıcılar tur değişikliği (view change) mesajı gönderir. Bu mesaj yalnızca zaman aşımını belirtmez, aynı zamanda “geçerli bir teklif almadım, işte şu anda sahip olduğum en son blok” anlamına da gelir. Bu mesaj, doğrulayıcının son oy bilgisini de içerir.
Yeni lider, bu mesajlardan süper çoğunluk (2f+1) oranında toplar ve bunları birleştirerek bir Zaman Aşımı Sertifikası (Timeout Certificate - TC) oluşturur. TC, ağın son başarılı blok üzerindeki kolektif görüşünü temsil eder: önceki turun başarısız olduğunu ve hangi bloğun zincirin devamı olması gerektiğini kaydeder.
Yeni lider, TC’yi aldıktan sonra şu iki şeyi yapmakla yükümlüdür:
Bu adım kritiktir. Çünkü daha önce çoğunluk oyu almış ancak onay süreci tamamlanamamış bir blok, yalnızca kötü şans veya bir liderin ihmali nedeniyle sessizce silinmemelidir.
Pratik Örnek
Örneğin, Alice 5. görünümün lideridir ve önerdiği blok çoğunluk oyu almıştır. Ardından Bob, 6. görünümde lider olur ama çevrimdışı olduğu için blok öneremez. Bu durumda 7. görünümün lideri olan Carol, TC’yi toplar ve sistemin kurallarına göre Alice’in önerdiği bloğu tekrar gündeme getirmelidir.
Eğer Carol, Alice’in bloğuna sahip değilse, diğer düğümlerden talep edebilir. Düğümler bu durumda:
Unutulmaması gereken kritik bir nokta: ağda en fazla f Bizans düğümü bulunabileceği için, bazıları isteği yanıtsız bırakabilir ya da kasıtlı olarak engelleyebilir.
Ancak Carol, Alice’in bloğunu elde edip tekrar önerdiğinde, sistem ona önceki liderin hatasından doğan kaybı telafi etmesi için ekstra bir öneri fırsatı tanır. Bu sayede zincir adil şekilde ilerler.
Teklif Yeniden Öneri Mekanizması, zincirin güvenilirliğini ve adaletini korur. Dürüstçe önerilen, neredeyse onaylanmış blokların; yalnızca bir liderin çevrimdışı olması ya da kasıtlı engellemesi nedeniyle sistemden düşmesini engeller. Kısacası, “iyi niyetli bir çalışmanın kötü şansa kurban gitmemesi” garanti altına alınır.
Önceki örnek üzerinden devam edelim: Bob’un liderlik süresi zaman aşımına uğradıktan sonra, yeni lider olan Carol, diğer doğrulayıcılardan high_tc bloğunu (yani Alice’in önerdiği ve neredeyse onaylanmış bloğu) sağlamalarını ister. Bu noktada, en az 2f+1 doğrulayıcının şu iki şekilde yanıt vermesi beklenir:
Carol, eğer Alice’in bloğunu elde edebiliyorsa, protokol kurallarına göre bu bloğu yeniden önermek zorundadır. Ancak, eğer en az f+1 doğrulayıcı NE mesajı ile bu bloğa ulaşamadıklarını bildirirse, o zaman Carol’a bloğu atlama ve yeni bir blok önerme yetkisi tanınır.
Neden f+1 Yeterlidir?
Bir BFT sisteminde toplam 3f+1 doğrulayıcı varsa, en fazla f tanesi kötü niyetli olabilir. Eğer Alice’in bloğu gerçekten önceki turda yeterli desteği aldıysa, bu bloğun en az 2f+1 dürüst doğrulayıcı tarafından görülmüş olması gerekir. Bu nedenle Carol’ın, “bu bloğu alamıyorum” iddiası ancak f+1 imzalı NE mesajıyla geçerlilik kazanır.
Bu f+1 imza, Bir Endorsementsız Sertifika (NEC - No Endorsement Certificate) oluşturur. NEC, liderin zincirdeki önceki bloğu neden atladığını kriptografik olarak belgeleyen resmi bir ‘feragat kanıtıdır’.
MonadBFT, teklif yeniden öneri mekanizması ve NEC aracılığıyla zincir ilerlemesi için şu iki katı kuralı getirir:
Aksi halde, liderin önceki bloğu atlamasına izin verilmez.
Bu kurallar sayesinde:
Bu mekanizma, sadece teknik güvenlik değil, aynı zamanda ekonomik adalet sağlar. Bir blok dürüstçe önerildiyse ve yeterli oy aldıysa, daha sonraki turlarda yaşanan hatalar nedeniyle bu blok için ödülün kaybedilmesi söz konusu olmaz.
Dahası, bir lider blok üretme sırasını kasıtlı olarak sabote edip, önceki bloğu atlayarak MEV avantajı sağlamaya çalışırsa, protokol bunu önler. Sistem, yeni lideri önceki bloğu yeniden önermeye zorlar. Böylece saldırganın ekonomik çıkar elde etmesinin önüne geçilir.
MonadBFT’nin en güçlü yönlerinden biri, güvenlik için performanstan ödün vermemesidir. Geçmişte kuyruk çatalı sorununa çözüm arayan bazı protokoller (örneğin BeeGees), bunu genellikle yüksek iletişim maliyeti pahasına yapmıştır, örneğin n^2 mesaj karmaşıklığına geri dönerek ya da her turda yoğun mesajlaşma gerektirerek.
MonadBFT ise daha akıllı bir yaklaşım benimser:
Bu dinamik denge, MonadBFT’yi seleflerinden ayıran en önemli farktır.
Bu makale, geleneksel PBFT konsensüs protokolünün temel yapısını gözden geçirerek başlar, ardından HotStuff protokolünün evrimi ve getirdiği boru hattı mimarisinin avantajlarına değinir. Makalenin odak noktası ise, HotStuff’ın doğal yapısında ortaya çıkan kuyruk çatalı (tail forking) sorununa MonadBFT’nin getirdiği çözümdür.
Kuyruk çatalı, zincirin sonundaki blokların lider değişimi, gecikme veya kötü niyet nedeniyle onaylanmadan terk edilmesine neden olabilir. Bu durum, blok öneren liderlerin ekonomik teşvik yapısını bozar, sistemin güvenilirliğini zedeler ve potansiyel ağ tıkanıklıklarına yol açar.
MonadBFT, bu yapısal sorunu çözmek amacıyla iki temel mekanizma sunar:
Bu kombinasyon sayesinde MonadBFT, performanstan ödün vermeden güvenliği artırır ve zincir ilerlemesinde tutarlılığı korur.
Bu makale, michael_lwy’den alıntılanmıştır. İçeriğin tüm telif hakları yazara aittir. Telif haklarına ilişkin sorularınız için bizimle iletişime geçebilirsiniz.
Bu içerik yalnızca bilgilendirme amacı taşımaktadır ve yazarın kişisel görüşlerini yansıtır. Gate.TR’nin resmi görüşlerini yansıtmamaktadır. İçerikte yer alan marka, kurum, kuruluş veya kişilerle Gate.TR’nin herhangi bir ilişkisi bulunmamaktadır.
Bu içerik, yatırım tavsiyesi niteliğinde değildir. Dijital varlık alım-satımını teşvik etmeyi amaçlamaz, yalnızca bilgilendirme amaçlıdır.
Kripto varlıklar yüksek risk içerir ve ciddi fiyat dalgalanmalarına maruz kalabilir. Yatırım kararı vermeden önce kendi finansal durumunuzu değerlendirmeli ve kararınızı bağımsız olarak vermelisiniz.
Makalede yer alan veriler ve grafikler yalnızca genel bilgilendirme amacıyla sunulmuştur. Tüm içerikler özenle hazırlanmış olsa da, olası hata veya eksikliklerden dolayı sorumluluk kabul edilmez.
Gate TR Akademi ekibi bu içeriği farklı dillere çevirebilir. Hiçbir çeviri makale; kopyalanamaz, çoğaltılamaz veya izinsiz dağıtılamaz.