MonadBFT ile Uzlaşıda Yeni Dönem: Çatalsız, Takılmasız İlerleme

İleri Seviye5/15/2025, 5:04:49 PM
Bu makale, geleneksel PBFT (Practical Byzantine Fault Tolerance) protokolünün sınırlamalarını değerlendiriyor, HotStuff protokolünün doğrusal iletişim modelini ve simülasyonunu analiz ediyor, ayrıca kuyruk mekanizmasında ortaya çıkan çatal probleminin ağ etkinliği ve ekonomik güvenlik üzerindeki tehdidine dikkat çekiyor.

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:

  • Aynı anda iki çelişkili blok onaylanmamalıdır;
  • Ağ işlemeye devam etmeli, tıkanmamalı ya da duraksamamalıdır.

MonadBFT, bu zorlukları ele alan en yeni teknolojik çözümlerden biridir.

Konsensüs Protokollerinin Evrimine Kısa Bir Bakış

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:

  1. Bir önceki turun oylarını toplayıp bir Oybirliği Sertifikası (Quorum Certificate - QC) haline getirerek ağı bilgilendirmek,
  2. Aynı anda yeni bir blok önererek bir sonraki turu başlatmak.

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:

  • İletişim Verimliliği: Her doğrulayıcı yalnızca liderle iletişime geçer. Bu, ağın iletişim yükünü önemli ölçüde azaltır.
  • Paralel İşleme: Çoklu blokların onay süreci aynı anda yürütülebilir, bu da işlem kapasitesini artırır.

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.

Kuyruk Çatalı Sorunu: HotStuff’ın Sessiz Açığı

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:

  • Yeni bir blok önermek – örneğin B_{n+1}
  • Önceki liderin bloğu için oyları toplayıp bir Quorum Certificate (QC) oluşturmak – yani örneğin B_n’yi kesin olarak onaylamak

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ı Neden Bu Kadar Ciddi Bir Sorun?

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:

Bozulan Teşvik Mekanizması

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.

MEV Manipülasyonunun Artması

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.

Sonluk (Finality) Garantisinin Bozulması

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.

Zincirleme Takılma Riski

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 Nedir?

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:

  1. Döner liderlik: Her turda yeni bir lider seçilir ve zincir bu liderlik sırasına göre ilerler.
  2. Örtüşen işlem dizileri: Birden fazla blok onay süreci aynı anda yürütülebilir, yani bloklar paralel olarak işlenebilir.
  3. Doğrusal iletişim: Her doğrulayıcı yalnızca o turdaki liderle iletişim kurar. Bu, ağdaki mesaj trafiğini büyük ölçüde azaltır ve sistemin verimliliğini artırır.

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:

  1. Zorunlu Teklif Yeniden Önerme Mekanizması: Önceki bloğun onay süreci tamamlanmadan yeni liderin blok önerme yetkisini sınırlayarak, blokların “atlanmasını” engeller.
  2. Onay Yok Belgesi (NEC - No Endorsement Certificate): Bir blok onaylanmazsa bunun açıkça belgelendirilmesini sağlayarak, zincirin ilerlemesi için şeffaflık ve sorumluluk mekanizması getirir.

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.

Teklif Yeniden Öneri Mekanizması: Adaletli Zincir İlerlemesi

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.

Zaman Aşımı ve Tur Değişikliği

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 Liderin Sorumluluğu

Yeni lider, TC’yi aldıktan sonra şu iki şeyi yapmakla yükümlüdür:

  • TC içeren geçerli bir yeni teklif hazırlamak
  • TC’deki en yüksek öncelikli bloğu (yani high_tc) yeniden önermek

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:

  • Bloğu sağlayabilir, ya da
  • Bloğa sahip olmadıklarını imzalı bir “Onay Yok” (No Endorsement - NE) mesajıyla bildirebilir (bu mekanizma bir sonraki bölümde ele alınacaktır)

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.

Bu Mekanizmanın Rolü Nedir?

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.

Onaylanamaz Sertifika (NEC) Nedir?

Ö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:

  1. Alice’in bloğunu sağlayarak, Carol’a iletmek,
  2. Bloğa sahip olmadıklarını belirtmek için imzalı bir NE (No Endorsement) mesajı göndermek.

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’nin Zincir Kuralları: İki Seçenekten Biri

MonadBFT, teklif yeniden öneri mekanizması ve NEC aracılığıyla zincir ilerlemesi için şu iki katı kuralı getirir:

  1. Ya önceki bloğu yeniden önerip onay sürecini tamamlarsın,
  2. Ya da bloğun onaylanmaya hazır olmadığını kanıtlayan yeterli sayıda NE imzası sunarsın.

Aksi halde, liderin önceki bloğu atlamasına izin verilmez.

Bu kurallar sayesinde:

  • Zincirin ilerlemesi adil biçimde sürdürülür,
  • Dürüst liderlerin önerileri, kötü niyetli veya hatalı liderler tarafından sessizce yok edilemez,
  • Protokol, “yanlış atlamaları” doğrudan tespit edip reddedebilir.

Ekonomik Teşviklerin Korunması

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.

Performanstan Ödün Verilmeden Sağlanan Güvenlik

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:

  • Ek iletişim (zaman aşımı mesajları, yeniden öneriler vs.) sadece sistem anormallik gösterdiğinde tetiklenir.
  • Dürüst liderlerin ardışık biçimde blok ürettiği sağlıklı koşullarda, sistem hafif, hızlı ve verimli çalışmaya devam eder.

Bu dinamik denge, MonadBFT’yi seleflerinden ayıran en önemli farktır.

Sonuç

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:

  • Teklif Yeniden Önerme Mekanizması: Onaya yaklaşmış blokların adil biçimde yeniden önerilmesini garanti eder.
  • Onay Yok Sertifikası (NEC): Bir bloğun neden atlandığını kriptografik olarak belgelendirir, böylece keyfi atlamaların önüne geçer.

Bu kombinasyon sayesinde MonadBFT, performanstan ödün vermeden güvenliği artırır ve zincir ilerlemesinde tutarlılığı korur.

Yasal Uyarı

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.

* Yasal Uyarı 1: 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.
* Yasal Uyarı 2: 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 Akademi ekibi bu içeriği farklı dillere çevirebilir. Hiçbir çeviri makale; kopyalanamaz, çoğaltılamaz veya izinsiz dağıtılamaz.

Paylaş

MonadBFT ile Uzlaşıda Yeni Dönem: Çatalsız, Takılmasız İlerleme

İleri Seviye5/15/2025, 5:04:49 PM
Bu makale, geleneksel PBFT (Practical Byzantine Fault Tolerance) protokolünün sınırlamalarını değerlendiriyor, HotStuff protokolünün doğrusal iletişim modelini ve simülasyonunu analiz ediyor, ayrıca kuyruk mekanizmasında ortaya çıkan çatal probleminin ağ etkinliği ve ekonomik güvenlik üzerindeki tehdidine dikkat çekiyor.

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:

  • Aynı anda iki çelişkili blok onaylanmamalıdır;
  • Ağ işlemeye devam etmeli, tıkanmamalı ya da duraksamamalıdır.

MonadBFT, bu zorlukları ele alan en yeni teknolojik çözümlerden biridir.

Konsensüs Protokollerinin Evrimine Kısa Bir Bakış

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:

  1. Bir önceki turun oylarını toplayıp bir Oybirliği Sertifikası (Quorum Certificate - QC) haline getirerek ağı bilgilendirmek,
  2. Aynı anda yeni bir blok önererek bir sonraki turu başlatmak.

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:

  • İletişim Verimliliği: Her doğrulayıcı yalnızca liderle iletişime geçer. Bu, ağın iletişim yükünü önemli ölçüde azaltır.
  • Paralel İşleme: Çoklu blokların onay süreci aynı anda yürütülebilir, bu da işlem kapasitesini artırır.

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.

Kuyruk Çatalı Sorunu: HotStuff’ın Sessiz Açığı

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:

  • Yeni bir blok önermek – örneğin B_{n+1}
  • Önceki liderin bloğu için oyları toplayıp bir Quorum Certificate (QC) oluşturmak – yani örneğin B_n’yi kesin olarak onaylamak

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ı Neden Bu Kadar Ciddi Bir Sorun?

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:

Bozulan Teşvik Mekanizması

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.

MEV Manipülasyonunun Artması

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.

Sonluk (Finality) Garantisinin Bozulması

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.

Zincirleme Takılma Riski

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 Nedir?

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:

  1. Döner liderlik: Her turda yeni bir lider seçilir ve zincir bu liderlik sırasına göre ilerler.
  2. Örtüşen işlem dizileri: Birden fazla blok onay süreci aynı anda yürütülebilir, yani bloklar paralel olarak işlenebilir.
  3. Doğrusal iletişim: Her doğrulayıcı yalnızca o turdaki liderle iletişim kurar. Bu, ağdaki mesaj trafiğini büyük ölçüde azaltır ve sistemin verimliliğini artırır.

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:

  1. Zorunlu Teklif Yeniden Önerme Mekanizması: Önceki bloğun onay süreci tamamlanmadan yeni liderin blok önerme yetkisini sınırlayarak, blokların “atlanmasını” engeller.
  2. Onay Yok Belgesi (NEC - No Endorsement Certificate): Bir blok onaylanmazsa bunun açıkça belgelendirilmesini sağlayarak, zincirin ilerlemesi için şeffaflık ve sorumluluk mekanizması getirir.

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.

Teklif Yeniden Öneri Mekanizması: Adaletli Zincir İlerlemesi

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.

Zaman Aşımı ve Tur Değişikliği

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 Liderin Sorumluluğu

Yeni lider, TC’yi aldıktan sonra şu iki şeyi yapmakla yükümlüdür:

  • TC içeren geçerli bir yeni teklif hazırlamak
  • TC’deki en yüksek öncelikli bloğu (yani high_tc) yeniden önermek

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:

  • Bloğu sağlayabilir, ya da
  • Bloğa sahip olmadıklarını imzalı bir “Onay Yok” (No Endorsement - NE) mesajıyla bildirebilir (bu mekanizma bir sonraki bölümde ele alınacaktır)

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.

Bu Mekanizmanın Rolü Nedir?

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.

Onaylanamaz Sertifika (NEC) Nedir?

Ö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:

  1. Alice’in bloğunu sağlayarak, Carol’a iletmek,
  2. Bloğa sahip olmadıklarını belirtmek için imzalı bir NE (No Endorsement) mesajı göndermek.

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’nin Zincir Kuralları: İki Seçenekten Biri

MonadBFT, teklif yeniden öneri mekanizması ve NEC aracılığıyla zincir ilerlemesi için şu iki katı kuralı getirir:

  1. Ya önceki bloğu yeniden önerip onay sürecini tamamlarsın,
  2. Ya da bloğun onaylanmaya hazır olmadığını kanıtlayan yeterli sayıda NE imzası sunarsın.

Aksi halde, liderin önceki bloğu atlamasına izin verilmez.

Bu kurallar sayesinde:

  • Zincirin ilerlemesi adil biçimde sürdürülür,
  • Dürüst liderlerin önerileri, kötü niyetli veya hatalı liderler tarafından sessizce yok edilemez,
  • Protokol, “yanlış atlamaları” doğrudan tespit edip reddedebilir.

Ekonomik Teşviklerin Korunması

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.

Performanstan Ödün Verilmeden Sağlanan Güvenlik

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:

  • Ek iletişim (zaman aşımı mesajları, yeniden öneriler vs.) sadece sistem anormallik gösterdiğinde tetiklenir.
  • Dürüst liderlerin ardışık biçimde blok ürettiği sağlıklı koşullarda, sistem hafif, hızlı ve verimli çalışmaya devam eder.

Bu dinamik denge, MonadBFT’yi seleflerinden ayıran en önemli farktır.

Sonuç

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:

  • Teklif Yeniden Önerme Mekanizması: Onaya yaklaşmış blokların adil biçimde yeniden önerilmesini garanti eder.
  • Onay Yok Sertifikası (NEC): Bir bloğun neden atlandığını kriptografik olarak belgelendirir, böylece keyfi atlamaların önüne geçer.

Bu kombinasyon sayesinde MonadBFT, performanstan ödün vermeden güvenliği artırır ve zincir ilerlemesinde tutarlılığı korur.

Yasal Uyarı

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.

* Yasal Uyarı 1: 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.
* Yasal Uyarı 2: 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 Akademi ekibi bu içeriği farklı dillere çevirebilir. Hiçbir çeviri makale; kopyalanamaz, çoğaltılamaz veya izinsiz dağıtılamaz.
Şimdi Başlayın
İstediğiniz zaman, istediğiniz yerde Türk lirası ile kripto alın, satın.