A situation where communication that requires consensus on a single strategy from all members within a group or party cannot be trusted.

Byzantine Generals Problem

 Introduction

The Byzantine Generals Problem is a term used in computing to denote a particular situation wherein certain components of a system may fail if participants don’t agree on a ‘concerted strategy’ to deal with the existing problem.

The problem assumes that some of the participants are corrupt, spreading misinformation or unreliable in some or the other way.

Understanding Byzantine Generals Problem Through an Example

Imagine divisions of a particular Byzantine army, attacking a completely encircled city.

 To proceed, the generals of each and every division, who are dispersed around the city’s radius, must agree on a battle plan. However, while some generals want to attack, others might want to retreat.

In the official description of the Byzantine Generals’, the commanding general, and every lieutenant must agree on the same decision.

To complicate matters even more, the generals are so far apart from each other that messengers are required in order for the generals to communicate with each other. Also, one or more lieutenants may turn out to be a traitor, intending to sabotage the existing situation.

So, given these conditions, can the army execute a strategy?

The solution to this problem relies on an algorithm that can further guarantee that:

  •   All loyal generals to agree upon the same plan of action, and
  •   A few traitors cannot influence the loyal generals to adopt a bad plan.

The loyal lieutenants will all do what the algorithm says they should be doing, but the traitors may do anything they wish. The algorithm therefore must guarantee the first condition regardless of what the traitors do. The loyal lieutenants should not only reach an agreement but should also agree upon a reasonable plan.

However, in a situation where there are an odd number of armies, common consensus must be reached among all the participants in order to successfully mount the attack.

How Cryptocurrency Solved the Byzantine Generals’ Problem

Due to the decentralized nature of the blockchain, it becomes difficult to reach specific conclusions regarding certain activities on the existing network.

For recording any data that the blockchain is processing, there needs to be a common conclusion regarding the state of data present among all participants.

This conclusion is known as consensus. Consensus is one of the most important parts of a blockchain architecture.

However, due to its distributed nature, participants on the blockchain will be functioning according to what incentivizes them. The decisions they take will also be based on the various information that they already have on hand.

To ensure the frictionless functioning of the blockchain in a network consensus needs to be reached consistently.

This is done by solving a major problem known as the Byzantine Generals Problem.

बीजान्टिन जनरलों की समस्या

 à¤ªà¤°à¤¿à¤šà¤¯

बीजान्टिन जनरल्स समस्या एक विशेष स्थिति को दर्शाने के लिए कंप्यूटिंग में इस्तेमाल किया जाने वाला शब्द है, जिसमें मौजूदा समस्या से निपटने के लिए प्रतिभागी ‘ठोस रणनीति’ पर सहमत नहीं होते हैं तो सिस्टम के कुछ घटक विफल हो सकते हैं।

समस्या यह मानती है कि प्रतिभागियों में से कुछ भ्रष्ट हैं, गलत सूचना फैला रहे हैं या किसी न किसी तरह से अविश्वसनीय हैं।

एक उदाहरण के माध्यम से बीजान्टिन जनरलों की समस्या को समझना

एक विशेष बीजान्टिन सेना के डिवीजनों की कल्पना करें, एक पूरी तरह से घेर शहर पर हमला।

 à¤†à¤—े बढ़ने के लिए, प्रत्येक और हर डिवीजन के जनरलों को, जो शहर की त्रिज्या के आसपास बिखरे हुए हैं, को एक युद्ध योजना पर सहमत होना चाहिए। हालाँकि, जबकि कुछ सेनापति हमला करना चाहते हैं, अन्य लोग पीछे हटना चाहते हैं।

बीजान्टिन जनरलों के आधिकारिक विवरण में, कमांडिंग जनरल और हर लेफ्टिनेंट को एक ही निर्णय पर सहमत होना चाहिए।

मामलों को और अधिक जटिल करने के लिए, जनरलों को एक-दूसरे से इतना अलग किया जाता है कि जनरलों को एक-दूसरे से संवाद करने के लिए दूतों की आवश्यकता होती है। इसके अलावा, एक या एक से अधिक लेफ्टिनेंट एक गद्दार हो सकते हैं, जो मौजूदा स्थिति में तोड़फोड़ करने का इरादा रखते हैं।

तो, इन शर्तों को देखते हुए, क्या सेना एक रणनीति पर अमल कर सकती है?

इस समस्या का समाधान एक एल्गोरिथ्म पर निर्भर करता है जो आगे की गारंटी दे सकता है:

  • सभी निष्ठावान जनरलों को एक ही कार्य योजना पर सहमत होने के लिए, और
  • कुछ गद्दार खराब योजना को अपनाने के लिए वफादार जनरलों को प्रभावित नहीं कर सकते हैं।

वफादार लेफ्टिनेंट वे सब करेंगे जो एल्गोरिथम कहता है कि उन्हें क्या करना चाहिए, लेकिन देशद्रोही कुछ भी कर सकते हैं जो वे चाहते हैं। इसलिए एल्गोरिथ्म को पहले शर्त की गारंटी देनी चाहिए कि देशद्रोही क्या करते हैं। वफादार लेफ्टिनेंट को न केवल एक समझौते पर पहुंचना चाहिए, बल्कि एक उचित योजना पर भी सहमत होना चाहिए।

हालांकि, ऐसी स्थिति में जहां सेनाओं की एक विषम संख्या हो, हमले को सफलतापूर्वक माउंट करने के लिए सभी प्रतिभागियों के बीच आम सहमति होनी चाहिए।

कैसे क्रिप्टोक्यूरेंसी ने बीजान्टिन जनरलों की समस्या का समाधान किया

ब्लॉकचेन की विकेंद्रीकृत प्रकृति के कारण, मौजूदा नेटवर्क पर कुछ गतिविधियों के बारे में विशिष्ट निष्कर्ष तक पहुंचना मुश्किल हो जाता है।

ब्लॉकचेन किसी भी डेटा को रिकॉर्ड करने के लिए, सभी प्रतिभागियों के बीच मौजूद डेटा की स्थिति के बारे में एक सामान्य निष्कर्ष होना चाहिए।

इस निष्कर्ष को आम सहमति के रूप में जाना जाता है। आम सहमति ब्लॉकचेन वास्तुकला के सबसे महत्वपूर्ण हिस्सों में से एक है।

हालांकि, इसकी वितरित प्रकृति के कारण, ब्लॉकचेन पर प्रतिभागियों को उनके प्रोत्साहन के अनुसार कार्य करना होगा। वे जो निर्णय लेते हैं, वे उन विभिन्न सूचनाओं पर भी आधारित होंगे जो उनके पास पहले से ही हैं।

एक नेटवर्क सर्वसम्मति में ब्लॉकचेन के घर्षण रहित कामकाज को सुनिश्चित करने के लिए लगातार पहुंचने की आवश्यकता है।

यह बीजान्टिन जनरल्स समस्या नामक एक बड़ी समस्या को हल करके किया जाता है।