Ang Two Generals Problem
May 2 thought experiments na kilala sa pag-aaral ng distributed systems. Ipinapakita ng mga ito ang problema sa koneksyon at pagtitiwala sa loob ng network. Pag-usapan muna natin ang isa: Two Generals Problem. Ito ay isang paradox - hindi talaga ito nasosolusyunan.
Ipagpalagay na may 2 hukbo na bawat isa’y pinangungunahan ng 2 heneral. Ang bawat hukbo ay nakaposisyon nang magkalayo, at sa pagitan nila ay ang syudad na balak atakihin. Dahil malakas ang depensa ng syudad, kailangan sabay umatake ang hukbo para magwagi. Ang isang hukbo ay matatalo kung ito lamang ang sumugod. Kaya, ang 2 heneral ay dapat magtugma sa oras ng pag-atake. Ang bawat heneral ay dapat ring malaman na nagkasundo nga sila sa oras.
Ang paraan lamang para sila ay mag-usap ay sa pamamagitan ng mensahero. Subalit kailangan dumaan ng mensahero sa teritoryo ng kalaban, kaya may tsansa itong mahuli. Ang mensaheng ipapadala ng isang heneral ay maaring hindi matanggap ng kabila. At kapag hindi makatanggap ng mensahe ang isa, imposibleng malaman kung dahil ba ito sa pagkakahuli ng mensahero, o hindi talaga nagpadala yung kabila?
Mapapatunayan na kahit gaano karaming kompirmasyong mensahe ang ipadala, walang katiyakan ang bawat partido kung sabay nga silang aatake.
Sa distributed system, walang kasiguraduhan ang isang node ukol sa estado ng ibang node hanggat hindi nag-uusap. Subalit, may laging tsansa na hindi maaasahan ang dinadaanan ng mensahe. Kaya, ang gagawing sistema ay dapat nakadisenyo kung saan tinatanggap ang hindi kasiguraduhan; papaliitin lang ang tsansa na mangyari ang hindi nais.
Tignan ang ilustrasyon at mga halimbawang aplikasyon sa: https://bitcoinbakamo.xyz/archives/774