Bizans Generaller Problemi
- Bu generallerin hepsi aynı anda şehre saldırırlarsa şehri ele geçirebilirler.
- Ama hepsi aynı anda saldıramazlar ise şehri alamazlar.
- Peki 4 farklı yerde bulunan ordular nasıl aynı karara vararak aynı anda saldırmayı onaylayabilir?
- A’dan B’ye haberci gönderilir. Haber “yarın sabah 5’de saldıracağız”. Ama buradaki sıkıntı şu ;
1- Haberci sağ salim B noktasına ulaştı mı?
2- Haberci yolunu kaybetmiş olabilir.
3- Haberci ihanet etmiş olabilir.
– Dolayısıyla B’deki General haberi aldığı zaman haberci ile A noktasına senin kararına aldım. Yarın sabah 5’de saldıracağız demesi. A noktasına gidecek haberci içinde yukarıda yazdığımız senaryolar geçerli.
– C ve D generalleri içinde haberci ile ilgili aynı sıkıntılar olabilir.
Bundan dolayı generallerin hepsinin aynı anda ortak bir karara varması gerekir. İşte burada bir bloğun onaylanıp onaylanmadığı kararını vermek, ben bir Node olarak benim bildiğim blok zinciri budur diyerek dünyadaki herkese bildirmem gerekir. Bu soruna “Bizanslı Generaller Problemi” denir. Bir kötü niyetli kişi Github.com ya da Ethereum’un sitesinden kaynak kodlarını alıp üzerinde değişiklik yaparak, kötü niyetli bir blok yaparak manipule edebilir.