İki General Problemi Gerçekten Çözümsüz mü?

İçindekiler

Merkezi olmayan yapıda dağıtık defter teknolojisi (DLT) verimliliği artırıp, verilerin şeffaf ve takip edilebilirliğini sağlamış olsa da merkezi bir otorite olmadan bilgilerin düğümler arasında eş zamanlı olarak doğru ve güvenilir şekilde iletilmesi, tarafların fikir birliğine varması yeni sorunlar yaratmakta. Bilişim alanının karşılaştığı büyük sorundan biri İki General Problemidir.

İki General Problemi nedir?

Diyelim ki iki general Ali ve Ahmet ortak bir düşmanına saldırmayı planlıyor. Tek başına olduklarında kimse düşmandan daha güçlü değil, zafer kazanmak için haberleşerek birlikte savaşmak zorundalar. Düşmanın konumu Ali ve Ahmet’in tam ortasında olduğu için habercinin yakalanma olasılığı yüksektir. O zaman Ali ve Ahmet aralarında nasıl anlaşarak beraber saldıracağı önemli bir sorun haline gelir.  

Bu sorunun çözümü görüldüğü kadar basit değildir. Ali ve Ahmet iletişim kurarken mesajların gönderilmeme riski vardır. General Ali “Yarın saldırıya geçeceğiz.” diye mektup gönderir ama Ahmet’in bu mektubu alıp almadığını kontrol edemediği için Ahmet’ten geri bildirim bekler ve ikinci gün saldırmaz. Ahmet mektubu aldığını Ali’ye “mesajını aldım.” diye yeni bir mektupla bildirmesi lazım. Habercinin yolda tutuklanma olasılığı var bu yüzden Ahmet Ali’nin mektubu alamadıysa hareket etmeyeceğini düşünerek saldırıya geçmez.  

Bu mantığa göre taraflar arası her ne kadar denese de en son mektubun kabul edilip edilmediğinden emin olamaz. Her iki general da en son ilettiği mektubun gönderilmediğinden şüphelenir. Böylece İki general problemi çözümsüz bir problem haline gelir. 

Bilgisayar biliminde iki general problemi bir düşünce deneyidir. İletişimde bağlantının güvenilmez olduğu durumlarda, beraber hareket etmekteki güçlükleri bize gösterir. Bağlantı güvenilmez dediğimiz internetteki iki düğüm yani iki bilgisayar dolaysız haberleşmede her an başarısızlığa uğrayabilir. İki general problemi ve Bizans Generaller Problemi bilgisayar biliminin dersleri arasında sık görünen konulardır.Aktarım Denetim Protokolü (TCP) iki ağ terminal arasındaki durumun tutarlığını sağlayamadığını açıklar. Örneğin; internete bağlı iki bilgisayar ekranında her an %100 aynı kodların yansıması imkansızdır.

Pratikteki çözüm yolu 

Teorik olarak çözümsüz gözükse de  pratik açıdan yine de bir çözüm önerilebilir. 

Bu çözümün mantığı ilk olarak belirsizliği kabul etmek ama bu belirsizliği kabul edilebilen dereceye indirmek. Örneğin, general Ali mektup göndermek için 100 haberci gönderebilir, bu durumda tüm habercilerin yakalanma olasılığı  azalacak. Herhangi bir mesajı aldığında Ahmet de Ali ile beraber saldırıya geçebilecektir.  

Teknik açıdan, TCP üçlü el sıkışma anlaşması ile bağlantı kurur, adından da anlaşılacağı mutabakata varılması için istemci ve sunucu üç onay aşamasından geçiyor. Bağlantı süreci Kullanıcı Datagram Protokolü'ne (UDP) kıyasla yavaş olsa da bunun amacı belirsizliği azaltmak ve veri güvenilirliğini artırmaktır.  


Kaynak https://zhuanlan.zhihu.com/p/51936795  

 

bfmedia/data

BTC $ 8170.728
XRP $ 0.2954
ETC $ 4.54735
ETH $ 172.13
ADA $ 0.0392
LTC $ 54.22
USDT $ 1.00004
TRX $ 0.01545