Bizans Hata Toleransı Nedir?

Paylaş
Copied to clipboard!
Bu makaleyi dinleyin
00:00 / 00:00

Bitcoin’in 2008’de eşler arası (peer to peer) bir elektronik para sistemi olarak ortaya çıkışından beri her biri kendine has bir mekanizmaya sahip başka birçok kripto para yaratılmıştır. Fakat neredeyse tüm kripto paralarda ortak olan tek şey mimarilerinde temel öğe olarak blockchaini barındırmalarıdır. 

Birkaç istisnanın dışında, blockchainler özellikle merkeziyetsiz olmak üzere tasarlanmıştır ve dağıtılmış bilgisayar node’ları tarafından yürütülen bir dijital kayıt defteri olarak çalışmaktadır. Bu nedenle blockchain teknolojisi, şeffaf ve güvenilir finansal işlemlerin  aracılara ihtiyaç duymadan yapılabildiği güven gerektirmeyen bir ekonomik sistemin yaratılmasını sağlamıştır. Kripto paralar, büyük oranda güvene dayalı çalışan geleneksel bankacılık ve ödeme sistemlerine yerine uygulanabilir bir alternatif olarak kullanılmaya başlanmıştır. 

Çoğu dağıtılmış hesaplama sisteminde olduğu gibi, kripto para ağının katılımcıları blockchain’in mevcut durumu hakkında düzenli olarak fikir birliğine varmalıdır ve buna da mutabakat sağlanması (consensus achievement) adı verilir. Fakat, dağıtılmış ağlarda güvenli ve güvenilir bir şekilde mutabakata varmak hiç de kolay değildir. 

Öyleyse, bazı node’ların başarısız olması ya da dürüst davranmaması olasılık dahilindeyken, dağıtılmış bir bilgisayar node’ları ağı bir karar üzerinde nasıl fikir birliğine varabilir? Bu Bizans Generalleri probleminin en temel sorusudur ve Bizans hata toleransı kavramını doğurmuştur. 


Bizans Generalleri Problemi nedir? 

Kısaca açıklarsak, Bizans Generalleri Problemi, bir grup Bizans genarelinin bir sonraki hareketleri konusunda fikir birliğine varmaya çalışırken nasıl iletişim sorunları yaşadığını gösteren bir mantıksal ikilem olarak 1982 yılında tasarlanmıştır. 

İkilem, her bir generalin kendi ordusuna sahip olduğunu ve her bir grubun saldırmayı planladıkları şehrin farklı noktalarında konuşlandığını varsayar. Generaller ya saldırmak ya da geri çekilmek konusunda fikir birliğine varmalıdır. Mutabık kalındığı müddetçe saldırmaları ya da geri çekilmeleri önemsizdir, önemli olan koordinasyonlu bir şekilde ortak kararı uygulamaktır. 

Dolayısıyla, aşağıdaki hedefler göz önüne alınmalıdır

  • Her bir general karar vermelidir: saldır ya da geri çekil (evet ya da hayır)

  • Karar verildikten sonra değiştirilemez

  • Tüm generaller aynı karar üzerinde hemfikir olmalıdır ve kararı eş zamanlı bir şekilde uygulamalıdır. 


Daha önce bahsedilen iletişim problemleri bir generalin  bir diğer generalle yalnızca bir ulak tarafından taşınan mesajlar aracılığıyla iletişim kurabilmesine dayanmaktadır. Sonuç olarak, Bizans Generalleri Probleminde ana zorluk mesajların bir şekilde gecikebilmesi, zarar görebilmesi ya da kayıp olabilmesidir.  

Buna ek olarak, bir mesaj başarıyla ulaştırılsa bile bir ya da daha fazla general herhangi bir sebepten art niyetli davranmayı seçebilir ve diğer generalleri yanıltmak için sahte bir mesaj göndererek tam bir başarısızlığa sebep olabilir. 

Bu ikilemi blockchain bağlamına uygularsak, her bir general bir ağ node’unu temsil eder ve node’ların sistemin mevcut durumu üzerinde mutabakata varması gerekir. Başka bir deyişle, tam bir başarısızlığın önüne geçmek için dağıtılmış bir ağın içindeki katılımcıların çoğunluğunun aynı aksiyon üzerinde fikir birliğine varması ve bu aksiyonu uygulamaya koyması gerekir. 

Dolayısıyla, bu tip dağıtılmış sistemlerde mutabakat sağlanmasının tek yolu ağ node’larının en az ⅔’ünün dürüst ve güvenilir olmasıdır. Bu da eğer ağın çoğunluğu art niyetli davranmaya karar verirse  sistemin arızalara ve saldırılara (ör. %51 saldırısı) açık olacağı anlamına gelir. 


Bizans Hata Toleransı (BFT)

Kısaca, Bizans hata toleransı (BFT)  Bizans generalleri problemi ikileminden kaynaklanan arıza türlerine karşı dayanıklı olabilen bir sistemin özelliğidir. Bu da, BFT sisteminin bazı node’lar hata yapsa ya da kötü niyetli davransa da çalışmaya devam edebileceği anlamına gelir.

Bizans Generalleri Problemi için birden fazla çözüm vardır ve bu yüzden BFT sistemi oluşturmanın da birden fazla yolu bulunur. Benzer şekilde, bir blockchain’in Bizans hata toleransını başarabilmesi için farklı yaklaşımlar mevcuttur ve işte bu da bizi mutabakat algoritmalarına götürür. 


Blockchain Mutabakat Algoritması

Mutabakat algoritmasını, bir blockchain ağının fikir birliğine varabilmek için kullandığı mekanizma olarak tanımlayabiliriz. En yaygın uygulamalar Proof of Work (PoW- İş İspatı) ve Proof of Stake’dir (PoS-Hisse İspatı). Fakat biz  Bitcoin örneğini inceleyeceğiz.

Bitcoin protokolü sistemin başlıca kurallarını belirtirken, PoW mutabakat algoritması mutabakata ulaşmak için (örneğin işlem doğrulama ve onaylama sırasında) bu kuralların nasıl uygulanacağını tanımlar. 

Proof of Work kavramı kripto paralardan daha eskiye dayansa da, Satoshi Nakamoto PoW’un modifiye edilmiş bir versiyonunu Bitcoin’in bir BFT sistemi olarak yaratılmasını sağlayan algoritma olarak geliştirmiştir.

PoW algoritmasının Bizans hatalarına %100 toleranslı olmadığını unutmamak gerekir fakat yüksek-masraflı madencilik süreci ve altta yatan kriptografik teknikler sayesinde Pow blockchain için en güvenli ve güvenilir uygulamalardan biri olduğunu kanıtlamıştır. Bu anlamda, Satoshi Nakamoto tarafından tasarlanan Proof of Work mutabakat algoritması çoğu kişi tarafından bizans hatalarına karşı geliştirilmiş en dahiyane çözümlerden biri olarak kabul edilir. 


Sonuç

Bizans Generalleri Problemi çeşitli senaryolarda kapsamlı şekilde uygulanmakta olan BFT sistemlerinin oluşmasını sağlayan ilginç bir ikilemdir. Blockchain endüstrisi dışında, BFT’nin uygulama alanlarından bazıları havacılık, uzay ve nükleer güç sistemleridir.

Kripto para bağlamında, etkin bir ağ iletişiminin yanısıra iyi bir mutabakat mekanizmasına sahip  olmak, her blockchain ekosistemi için hayati öneme sahiptir. Bu sistemleri güvence altına almak için çalışmalar devam etmektedir ve mevcut mutabakat algoritmalarının üstesinden gelemediği birkaç kısıtlama (ölçeklenebilirlik gibi) mevcuttur. Bununla beraber, PoW ve PoS, BFT sistemlerine çok ilgi çekici yaklaşımlardır ve potansiyel uygulamaları geniş çaplı inovasyonlara ilham vermektedir. 

Loading