Bizans Hata Toleransı (BFT) Nedir?

Bizans Hata Toleransı (BFT), gönderilen verinin alıcıya eksiksiz ve doğru bir şekilde ulaşamayabileceği veya düşmanca saldırılarla karşılaşabileceği dağıtık sistemlerde bile fikir birliğine varılmasını sağlayan bir kavramdır

byzantine fault tolerance

Bizans Hata Toleransı (BFT), gönderilen verinin alıcıya eksiksiz ve doğru bir şekilde ulaşamayabileceği veya düşmanca saldırılarla karşılaşabileceği dağıtık sistemlerde bile fikir birliğine varılmasını sağlayan bir kavramdır.

Bizans Hata Toleransı, Leslie Lamport, Robert Shostak ve Marshall Pease tarafından 1982 yılında yayımlanan bir makalede tanımlanan “Bizans Generalleri Problemi”ni çözmek ve olası zararları en aza indirmek için geliştirilmiş bir konsepttir.

Bizans Generalleri Problemi Nedir?

Bizans Generalleri Problemi, 1982 yılında ortaya atılan mantıksal bir ikilemdir. Bu ikilem, bir grup Bizans generalinin koordinasyonlu bir şekilde, bir sonraki hareketleri konusunda fikir birliğine varmaya çalışırken yaşadığı iletişim sorunları gösterir.

Problemin temel senaryosu, her bir generalin kendi ordusuna sahip olduğu ve saldırmayı planladıkları şehrin farklı noktalarında konuşlandığı varsayımına dayanır. Önemli olan generallerin mutabık kalması ve koordinasyonlu bir şekilde ortak kararı uygulamasıdır. Ancak, iletişimdeki sorunlar, mesajların gecikmesi, zarar görmesi veya kaybolması gibi, bu kararın başarılı bir şekilde diğer generallere iletilmesini zorlaştırır.

Ayrıca, iletişim sorunlarına ek olarak, bir veya daha fazla general art niyetli davranabilir ve diğer generalleri yanıltmak için sahte mesajlar gönderebilir. Bu tür davranışlar sistemin başarısızlığına yol açabilir.

Bizans Generalleri Problemi, blockchain teknolojisinin bağlamında ele alındığında, her bir general bir node’u temsil eder ve sistemdeki katılımcıların mutabakata varması önemlidir. Ancak, tam bir başarısızlığın önüne geçmek için çoğunluğun aynı aksiyon üzerinde fikir birliğine varması ve bunu uygulamaya koyması gereklidir.

Bu dağıtılmış sistemlerde, genellikle node’ların en az üçte ikisinin dürüst ve güvenilir olması gereklidir. Eğer ağın çoğunluğu art niyetli davranırsa, sistem arızalara ve saldırılara açık hale gelir, bu da %51 saldırısı gibi tehlikeleri beraberinde getirir.

Bizans Hata Toleransı (BFT) Nedir?

Bizans Hata Toleransı (BFT), “Bizans Generalleri Problemi”ni çözmek veya olası zararları en aza indirmek için geliştirilmiş bir konsepttir. Bu yaklaşım, dağıtık sistemdeki düğümlerin güvenilir bir şekilde çalışmasını ve doğru sonuçlar üretmesini sağlamak amacıyla tasarlanmıştır. BFT, düğümlerin arasındaki iletişimdeki hataların ve düşmanca davranışların etkilerini en aza indirerek sistemdeki fikir birliğini korur.

Bizans Generalleri Problemi, çözümü birden fazla olası senaryo içeren karmaşık bir problem olarak karşımıza çıkar. Bu yüzden, Bizans Hata Toleransı (BFT) için de farklı yaklaşımlar ve çözümler mevcuttur. Aynı şekilde, bir blockchain’in BFT’yi başarabilmesi için de çeşitli yöntemler ve mutabakat algoritmaları bulunmaktadır.

Bazı mutabakat algoritmaları, ağdaki tüm katılımcıların tam bir mutabakata varmasını gerektirirken, diğerleri yalnızca çoğunluğun mutabık kalmasını yeterli kabul eder. Bu algoritmalar aynı zamanda merkezi olmayan veya merkezi bir otoriteye dayalı olarak tasarlanabilir. Her bir yaklaşımın avantajları ve dezavantajları vardır ve projenin gereksinimlerine göre en uygun algoritmanın seçilmesi önemlidir.

Mutabakat Algoritmaları

  1. Proof of Work (PoW): PoW, en popüler ve en eski mutabakat algoritmalarından biridir. Bitcoin gibi kripto para birimlerinde kullanılan bu algoritma, madencilerin matematiksel problemleri çözerek blok oluşturmalarına dayanır. Çözülen problem, bloğun geçerli olarak kabul edilmesini sağlar. Ancak PoW, yüksek enerji tüketimiyle eleştirilir.
  2. Proof of Stake (PoS): PoS, PoW’a alternatif olarak ortaya çıkan bir mutabakat algoritmasıdır. Burada, blok oluşturacak olan katılımcılar belirli miktarda kripto parayı bir süre boyunca blok zincirinde kilitleyerek, blok oluşturma hakkını kazanır. PoS, enerji verimliliği ve çevre dostu olması nedeniyle öne çıkar.
  3. Practical Byzantine Fault Tolerance (pBFT): pBFT, özellikle üyelerin kısmen güvendiği konsorsiyumlar için uygun bir konsensüs algoritmasıdır. Algoritma, asenkron sistemlerde çalışacak şekilde tasarlanmıştır. Yüksek performans, hızlı yürütme süresi sağlamak için optimize edilmiştir. Aslında, pBFT modelindeki tüm düğümler ardışık düzene sahiptir. Bunlardan biri ana düğümdür (lider), diğerlerine yedek düğümler denir. Sistemdeki tüm düğümler birbirleriyle etkileşime girer. Tüm dürüst düğümlerin amacı, çoğunluğun görüşüne dayanarak sistemin durumu üzerinde anlaşmaktır. İletilerin yalnızca belirli bir eşler arası düğümden geldiğini kanıtlamak değil, aynı zamanda iletinin iletim sırasında değişmediğinden emin olmak da önemlidir.

Bu, bazı mutabakat algoritmalarının örnekleridir ve proje ihtiyaçlarına göre daha spesifik algoritmalar da tercih edilebilir. Mutabakat algoritmaları, dağıtılmış sistemlerin güvenilirliği ve verimliliği açısından kritik bir rol oynamaktadır ve bu algoritmaların sürekli olarak geliştirilmesi ve iyileştirilmesi, gelecekteki dağıtılmış sistemlerin performansını artıracaktır.