Byzantine Fault Tolerance ya da Türkçe karşılığı ile Bizans Hata Toleransı (BFT), Bizans hataları karşısında sistem kullanılabilirliğini korumak için dağıtılmış sistemlerde kullanılan bir hata toleransı tekniğidir. Bizans hatası, bir sistemin öngörülemeyen veya yanlış bir şekilde davranmasına neden olabilecek bir hata türüdür.
Bizans Hata Toleransı yani Byzantine Fault Tolerance, bir sistemdeki Bizans hatalarını tolere etmek için kullanılabilecek bir tekniktir. Her biri farklı bir düğüm tarafından çalıştırılan sistemin birden çok kopyasına sahip olarak çalışır. Kopyalar birbiriyle senkronize tutulur ve bir kopya bir Bizans hatası tespit ederse, diğer kopyaları uyarabilir. Diğer kopyalar daha sonra hatayı düzeltmek için harekete geçebilir.
Byzantine Fault Tolerance bir diğer adıyla Bizans Hata Toleransı (BFT), dağıtık sistemlerde sistem kullanılabilirliğini sağlamak için önemli bir tekniktir. Bireysel düğümlerdeki hataları tolere etmek için kullanılabilir ve sisteme yönelik daha genel saldırılara karşı koruma sağlamak için de kullanılabilir.
Bizans Generalleri Problemi
Bizans Hata Toleransı (BFT), bilgisayar biliminde dağıtılmış bir sistemde fikir birliğine varmanın zorluğunu tanımlamak için kullanılan bir problemdir. Dağıtılmış bir sistemde, her biri kendi yerel durumuna sahip olan birkaç düğüm vardır. Fikir birliğine varmak için, tüm düğümlerin küresel durum için tek bir değer üzerinde anlaşması gerekir. Ancak sistemin asenkron yapısı nedeniyle bazı düğümlerin farklı durumlarda olması tutarsızlıklara yol açabilmektedir.
Bizans Generalleri Problemi, İki Aşamalı Taahhüt Protokolü ve Paxos algoritması dahil olmak üzere dağıtılmış sistemlerde bir dizi farklı problemi modellemek için kullanılmıştır.
Bizans Generalleri Problemi Blokzincirde Nasıl Kullanılır?
Bizans generalleri problemi, Bizans hata toleransı konusuyla ilgilenen bilgisayar biliminde iyi bilinen bir problemdir. Sorun, generallerin bir şehre farklı konumlardan saldırılarını koordine etmek zorunda kaldığı Bizans İmparatorluğu'nun adını almıştır. Sorun şu ki, bir general diğerleriyle aynı fikirde değilse, tüm saldırı başarısız olabilir.
Byzantine Fault Tolerance (BFT), dağıtılmış sistemler, eşler arası ağlar ve blok zincirleri gibi dağıtılmış taraflar arasında anlaşmaya varılması gereken çeşitli durumları modellemek için kullanılmıştır. Bir blok zincirinde, ağdaki düğümler arasında fikir birliğine varmak için Bizans generalleri problemi kullanılabilir. Düğümler generaller olarak düşünülebilir ve blok zinciri saldırdıkları şehir olarak düşünülebilir. Saldırının başarılı olabilmesi için tüm generallerin saldırı planında anlaşması gerekir.
Bizans generalleri sorunu, Bizans hata toleransı ya da diğer adıyla Byzantine Fault Tolerance (BFT) gibi çeşitli yöntemler kullanılarak çözülebilir.
Bizans Generals Problem Nasıl Ortaya Çıktı?
Bizans Generalleri Problemi, 1982 yılında tasarlanmıştır. Bu problem kısaca bir grup Bizans generalinin bir sonraki hareketleri konusunda fikir birliğine varmaya çalışırken içlerinden bir ya da birkaç generalin bilerek veya bilmeyerek hatalı bir bildirim yapma durumudur. Ayrıca aralarındaki iletişim de ulaklar aracılığıyla sağlandığı için bu kararların zarar görebilmesi ya da kaybolması ihtimali de bulunmaktadır.
Bu ikilem, her bir generalin kendi ordusuna sahip olduğunu ve her birinin şehirde farklı konuşlandığını varsayar. Generaller saldırmak ya da geri çekilmek konusunda bir fikir birliğine varmalıdır ve önemli olan kararın ne olduğu değil ortak karar alabilmektir.
Bu problem blok zincirde ise şu şekilde karşımıza çıkar: Her bir general bir ağ node’unu (düğüm) temsil eder ve node’ların mutabakata varması gerekir. Başka bir deyişle, çoğunluğun aynı aksiyon üzerinde fikir birliğine varması gerekir. Dolayısıyla ağ node’larının en az 3’te 2’si dürüst ve güvenilir olmalıdır. Çünkü eğer ağın çoğunluğu art niyetli davranırsa sistem arızalara ve % 51 saldırıları açık halde olacaktır.