Blockchain’in Olmazsa Olmazı: Bizans Hata Toleransı
Son güncelleme: Ocak 2, 2018
Hata-toleranslı bilgisayar sistemlerinde ve özellikle dağıtık hesaplama sistemlerinde, Bizans Hata Toleransı (BHT), İki General Problemi‘nin genelleştirilmiş bir versiyonu olan Bizans Generalleri Problemi olarak bilinen başarısızlık sınıfını tolere eden bir sistemin karakteristiğidir ve çözülmez bir kanıtı vardır.
Bizans Hata Toleransı
Bizans hataları, hata modları arasındaki başarısızlıkların en genel ve en zor sınıfı olarak kabul edilir.
Blockchain şirketlerine milyarlarca dolarlık yatırımlar yapılıyor ve birçok Fortune 500 şirketi günümüzde dağıtık defterli uygulamaları araştırıyor. Şu ana kadar, blockchain’in evrensel kabul aldığı açıkça görülüyor.
Blok zincir teknolojisini en iyi şekilde değerlendirmek, onu çok güçlü hale getiren kavramların anlaşılmasına yardımcı olur. Bu yüzden Bizans Hata Tolerans’ını anlamaya biraz da olsa vakit ayırmanız gerekir.
“Bizans hata toleransı” (BHT) olarak bilinen karakteristik, anlamaya değer kavramlardan biridir. Bilgisayar bilimcilerinin “Bizans başarısızlıkları” dediği şeyleri tolere etme kabiliyeti, blok zincirlerinin işlemlerin güvenilir kayıtlarını şeffaf, müdahale önleyici bir şekilde sürdürme becerisinin önemli bir parçasıdır.
Bizans Generalleri Problemi
Araştırmacılar Leslie Lamport, Robert Shostak ve Marshall Pease’in 1982’de yayınlanan akademik bir makalesinde anlattıkları mantıksal bir ikilem, “Bizans generallerinin” probleminin bir çözümünü temsil ettiği için bu şekilde adlandırıldı. Esasen, bir grup Bizans generali ve orduları çevreledikleri bir kaleye saldırıya hazırlanıyorlar. Başarılı olmak için, bu orduların hepsi aynı anda hücum etmelidir. Ama aralarında bir hain olduğunu biliyorlar. Önlerindeki sorun şu; içlerinde varolan bilinmeyen bir kötü aktörle başarılı bir saldırı başlatmaları gerekmektedir.
Metafor aslında birçok bilgisayar ağını rahatsız eden bir sorunu anlatıyor. Bir topluluk nasıl davranacaklarına ilişkin toplu bir karar vermeye çalışırken, grup içindeki hainler tercihleri hakkında kafa karıştırıcı mesajlar gönderebilirler. Hainler, grubun bazı üyelerine bir şey yapmak istediklerini söyleyebilir ve grubun diğer üyelerine bunun tam tersini söyleyebilirler. Bu, grubun eylemlerini etkili bir şekilde koordine etme becerisi için sorunlara neden olabilir. Grubun bazı üyeleri bir şeye inanmaya yönlendirilirse ve diğerleri farklı şeyler düşünürlerse, grup üyeleri birlikte hareket etmeyi başaramayacaklardır. Tam da hainlerin arzuladığı gibi, grubun bütünlüğü ve etkinliği bozulacaktır.
Dijital Metafor
Şimdi yukarıda bahsettiğimiz Bizanslı generaller metaforunun bilgisayarlarla ne ilgisi olduğunu merak ediyor olabilirsiniz.
Birden çok kullanıcının, uygulamanın, sunucunun veya diğer türdeki node’ların oluşturduğu dağıtık bir hesaplama ortamında, (örneğin blockchain), haydut veya güvenilmez aktörlerin ortama zarar verme riski vardır. Bir sunucu kümesi, içindeki bazı sunucular diğer sunuculara tutarlı bir şekilde veri iletmezse iyi çalışmaz. Bir bilgisayar ağı, üzerindeki aygıtlar, bilgi alışverişi yaparken kullanılacak ortak bir ağ protokolünü kabul etmezse başarısız olur.
Herhangi bi dağıtık hesaplama ortamı, güvenilirliği sağlamak için, Bizans generalleri problemini çözecek şekilde tasarlanmalıdır.
Belki hiçbir yerde Bizans Hata Toleransı (BHT) bir blockchain’de olduğundan daha önemli değildir. Geleneksel dağıtık hesaplama ortamlarının çoğunda, Bizans başarısızlıklarının meydana gelmesi durumunda doğru yanlışlara yardımcı olabilecek merkezi yapılandırma veritabanları veya yetkilileri bulunur. Fakat bir blockchain’de, tanım olarak merkezi bir otorite yoktur. Blockchain’in yalnızca topluluk konsensüsüne dayalı işlemleri meşru kılma kabiliyeti onu güçlü kılan şeydir.
Topluluk görüş birliğine olan bu ağır bağımlılık, aynı zamanda Bizans hatalarını blok zinciri için önemli bir zorluk haline getirir. Topluluğun bazı üyeleri, işlemler hakkında başkalarına tutarsız bilgi gönderirse, blockchain’in güvenilirliği bozulur ve onu düzeltmek için adım atabilecek hiçbir makam yoktur. Dolayısıyla, blockchain’e katılan herkese kesinlikle güvenmiyorsanız (çoğu durumda güvenmezsiniz), bazı üyelerin yanlış, yanıltıcı ya da kötü amaçlı işlem bilgilerini dağıtması durumunda ortaya çıkabilecek Bizans hatalarından korunmanın bir yoluna ihtiyacınız olacaktır.
Potansiyel çözümler
Blockchain sistemlerinde Bizans hata toleransı için tek veya resmi bir çözüm bulunmamaktadır.
Bitcoin de dahil olmak üzere bugüne kadar ortaya çıkmış en etkili blok zincir sistemlerinin çoğu, iş ispatı (PoW) adı verilen bir konsepte dayanıyor. Bu modelde, blok zincirine eklemek isteyenler, yeni bilgi eklemek için mevcut blok zincirin bilgilerini kullanarak yoğun bir işi yerine getirmelidir. Bitcoin örneğinde, PoW doğası gereği yürütülecek oldukça uzun bir zaman alan bir hash algoritması kullanılarak üretilir.
Bir PoW sisteminde, veriyi ekleyen taraf önemli bir zaman yatırımı olmadan blok zincirine veri eklenemez. Bu, blok zincirinin manipülasyonuna karşı pratik bir koruma sağlar; çünkü, grup konsensüsünü zayıflatmak için, kötü niyetli bir kişinin blok zincir üzerinde anlamlı bir etki yaratmak için yeterli PoW üretecek kadar çok zaman yatırması gerekecektir.
Yeterince büyük olan bir blockchain’de PoW gereksinimi etkili bir şekilde BHT sağlar. Bununla birlikte, bu yaklaşımın bir sınırlaması da vardır. Hata toleransından başka bir amaç için çok miktarda hesaplama gayreti gerektirir.
Alternatif çözüm önerileri, çoğunlukla hataları ortadan kaldırmak için node oylarına ve çoğunluk konsensüsüne odaklanıyor. Bu stratejinin dezavantajı, blok zincirdeki node’ların nispeten büyük çoğunluğunun meşru olarak hareket etmeye devam etmesi durumunda, bizans hatalarına karşı koruma sağlamasıdır. Kötü niyetli node’ların sayısının yüzde elliye yaklaşmaya başlaması durumunda, meşru işlemlere ilişkin fikir birliği belirsiz hale gelebilir.
Peki neden bu kadar önemli?
Bizans hata toleransının karmaşıklığı, sadece bilgisayar bilim adamlarının veya dijital para tasarımcılarının endişe etmesi gereken bir şey gibi gelebilir. Bir dereceye kadar öyle. İyi tasarlanmış bir blok zinciri uygulandıktan sonra, son kullanıcılar Bizans hatalarını düşünmek zorunda kalmamalıdırlar.
Bununla birlikte, birçok yerde bulunan blok zincir teknolojisi, tasarım ve planlama aşamalarında halen devam etmekte ve BHT’yi, dijital para biriminin ötesinde alanlarda yeni çözümler olarak blok zincirleri uygulamak isteyen insanlar için önemli kılmaktadır. Bitcoin’in Bizans hatasına yaklaşımı, diğer blok zincir uygulama türleri için pratik olmayabilir.
Örneğin, sağlık hizmeti sunucularının PoW üretmek için veri yığınlama işlerini büyük miktarda harcamalarını istemek çok verimsiz olacaktır. Sağlık gibi endüstrilerde, node oylarına güvenmek daha mantıklı olabilir. Sağlık blok zincirindeki katılımcılar, Bitcoin gibi oldukça anonim, regüle olmayan bir sistemdekilere göre gerçek kimlikleriyle oradadırlar ve sağlık sektöründe fedakarlık olasılığı yüksek olduğundan, PoW’den kaçınmanın faydaları, Bizans hatalarının çözümü olarak node oylamasına bağlı risklerden daha fazla olabilir.
BHT, etkili bir blok zincirin çok önemli bir parçasıdır ve uygulanabilmesi için çeşitli yollar vardır. Hangi yaklaşımı ele alacağınıza karar vermek, bir kuruluşun kurmak istediği blok zinciriyle ilişkili toplumun doğasını ve önceliklerini tartmayı gerektirir.
BHT sorunlarına karşı sunulan çözümler Bitcoin gibi sistemlerde belki işe yarayabilir ama geleceğin blockchain uygulamaları için iyi sonuçlar vermeyebilir.