Pratik Bizans Hatası Toleransı (PBFT) Nedir?
Pratik Bizans Hata Toleransı (PBFT), zamanlama hakkında herhangi bir varsayımda bulunulmadığından (eş zamansız sistemde verimli çalışması için tasarlanmış olan bir konsensüs algoritması) ve düşük gecikmeye sahip olacak şekilde optimize edilmiştir.
Miguel Castro ve Barbara Liskov tarafından ilk kez 1999 yılındaki çalışma ile tanıtılan PBFT algoritması, bir durum makinesi replikasyonu şeklidir, bu da bir sistem durumunun çoğaltıldığı ve birden fazla sunucu üzerine dağıtıldığı anlamına gelir. Bu, sonuçta sistemi daha sağlam hale getirir, çünkü Bizans hataları gibi arızalar tüm ağın arızalanmasına neden olmak yerine izole bir şekilde meydana gelebilir.
PBFT Algoritmasının Nasıl Çalışır
Temel olarak, PBFT modelindeki node’lar bir sıraya dizilmiştir, bir node birincil node (lider) olarak kabul edilir ve diğer node’lar yedek olarak adlandırılır. Ancak, bir ağ içindeki tüm node’lar iletişimi sürdürmeye devam eder. Amaç, tüm güvenilir node’ların çoğunluk kuralı yoluyla sistemin durumu hakkında bir anlaşmaya regarding varmasıdır.
PBFT modelinin işleyebilmesi için maksimum kötü niyetli düğüm sayısının sistemdeki tüm düğümlerin üçte birine eşit veya daha fazla olmaması gerekir. Her PBFT konsensüs turu (genellikle “görünümler” olarak adlandırılır) dört basit aşama ile özetlenir:
- Bir istemci, bir hizmet işlemi için birincil node’a (lider) bir istek gönderir.
- Birincil node bu isteği aynı anda tüm yedek kopyalara dağıtır.
- Kopyalar isteği yürütür ve istemciye bir yanıt gönderir.
- İstemci, benzer sonuçlarla farklı kopyalardan yanıtlar bekler.
Birincil node her görünümde değişir, istek belirli bir süre sonra yayınlanmazsa bir ‘görünüm değişikliği’ protokolü ile değiştirilebilir. Ayrıca, birincil node’un arızalı olduğu tespit edilirse adil node’ların büyük çoğunluğunun onayı ile kaldırılabilir.
PBFT varyantlarını kullanan platform örnekleri Zilliqa, Hyperledger ve Tendermint.