क्वांटम बीजान्टिन अनुबंध: Difference between revisions
(Created page with "बीजान्टिन दोष सहिष्णुता प्रोटोकॉल (कंप्यूटिंग) एल्गोरिदम हैं...") |
No edit summary |
||
Line 1: | Line 1: | ||
[[बीजान्टिन दोष सहिष्णुता]] [[प्रोटोकॉल (कंप्यूटिंग)]] एल्गोरिदम हैं जो [[वितरित एल्गोरिदम]] में मनमानी प्रकार की विफलताओं के लिए मजबूत हैं। बीजान्टिन समझौता प्रोटोकॉल इस कार्य का | [[बीजान्टिन दोष सहिष्णुता]] [[प्रोटोकॉल (कंप्यूटिंग)]] एल्गोरिदम हैं जो [[वितरित एल्गोरिदम]] में मनमानी प्रकार की विफलताओं के लिए मजबूत हैं। बीजान्टिन समझौता प्रोटोकॉल इस कार्य का अनिवार्य हिस्सा है। बीजान्टिन प्रोटोकॉल का निरंतर-समय क्वांटम संस्करण,<ref name="Ben-Or">{{cite conference|author1=Michael Ben-Or|author2=Avinatan Hassidim|title=तेज़ क्वांटम बीजान्टिन समझौता|conference=STOC '05: Proceedings of the thirty-seventh annual ACM symposium on Theory of computing|pages=481–485|year=2005|doi=10.1145/1060590.1060662|location=Baltimore, MD, USA}}</ref> नीचे वर्णित है. | ||
==परिचय== | ==परिचय== | ||
बीजान्टिन दोष सहिष्णुता [[संचार प्रोटोकॉल]] वितरित कंप्यूटिंग में | बीजान्टिन दोष सहिष्णुता [[संचार प्रोटोकॉल]] वितरित कंप्यूटिंग में प्रोटोकॉल है। | ||
इसका नाम 1982 में लैमपोर्ट, शोस्टाक और पीज़ द्वारा तैयार की गई | इसका नाम 1982 में लैमपोर्ट, शोस्टाक और पीज़ द्वारा तैयार की गई समस्या से लिया गया है।<ref name="LamportShostak1982">{{cite journal|last1=Lamport|first1=Leslie|last2=Shostak|first2=Robert|last3=Pease|first3=Marshall|title=बीजान्टिन जनरलों की समस्या|journal=ACM Transactions on Programming Languages and Systems|volume=4|issue=3|year=1982|pages=382–401|issn=0164-0925|doi=10.1145/357172.357176|s2cid=55899582 }}</ref> जो स्वयं ऐतिहासिक समस्या का संदर्भ है। [[बीजान्टिन]] सेना को डिवीजनों में विभाजित किया गया था, प्रत्येक डिवीजन का नेतृत्व निम्नलिखित गुणों वाले जनरल द्वारा किया जाता था: | ||
*प्रत्येक जनरल या तो बीजान्टिन के प्रति वफादार है या गद्दार है। | *प्रत्येक जनरल या तो बीजान्टिन के प्रति वफादार है या गद्दार है। | ||
*सभी जनरल संदेश भेजकर और प्राप्त करके संवाद करते हैं। | *सभी जनरल संदेश भेजकर और प्राप्त करके संवाद करते हैं। | ||
*केवल दो आदेश हैं: आक्रमण और पीछे हटना। | *केवल दो आदेश हैं: आक्रमण और पीछे हटना। | ||
*सभी वफ़ादार जनरलों को | *सभी वफ़ादार जनरलों को ही कार्य योजना पर सहमत होना चाहिए: हमला करना या पीछे हटना। | ||
*खराब जनरलों के | *खराब जनरलों के छोटे से रैखिक अंश के कारण प्रोटोकॉल विफल नहीं होना चाहिए (ए से कम)। <math>\tfrac{1}{3}</math> अंश)। | ||
(देखना <ref name="FischerLynch1985">{{cite journal|last1=Fischer|first1=Michael J.|last2=Lynch|first2=Nancy A.|last3=Paterson|first3=Michael S.|title=एक दोषपूर्ण प्रक्रिया के साथ वितरित सर्वसम्मति की असंभवता|journal=Journal of the ACM|volume=32|issue=2|year=1985|pages=374–382|issn=0004-5411|doi=10.1145/3149.214121|s2cid=207660233}}</ref> असंभव परिणाम के प्रमाण के लिए)। | (देखना <ref name="FischerLynch1985">{{cite journal|last1=Fischer|first1=Michael J.|last2=Lynch|first2=Nancy A.|last3=Paterson|first3=Michael S.|title=एक दोषपूर्ण प्रक्रिया के साथ वितरित सर्वसम्मति की असंभवता|journal=Journal of the ACM|volume=32|issue=2|year=1985|pages=374–382|issn=0004-5411|doi=10.1145/3149.214121|s2cid=207660233}}</ref> असंभव परिणाम के प्रमाण के लिए)। | ||
समस्या को आम तौर पर | समस्या को आम तौर पर कमांडिंग जनरल और वफादार लेफ्टिनेंट के रूप में समान रूप से दोहराया जाता है, जिसमें जनरल या तो वफादार होता है या गद्दार होता है और निम्नलिखित गुणों वाले लेफ्टिनेंट के लिए भी यही बात समान होती है। | ||
*सभी वफादार लेफ्टिनेंट | *सभी वफादार लेफ्टिनेंट ही आदेश का पालन करते हैं। | ||
*यदि कमांडिंग जनरल वफादार है, तो सभी वफादार लेफ्टिनेंट उसके द्वारा भेजे गए आदेश का पालन करते हैं। | *यदि कमांडिंग जनरल वफादार है, तो सभी वफादार लेफ्टिनेंट उसके द्वारा भेजे गए आदेश का पालन करते हैं। | ||
*ए सख्ती से कम <math>\tfrac{1}{3}</math> कमांडिंग जनरल सहित कुछ लोग गद्दार हैं। | *ए सख्ती से कम <math>\tfrac{1}{3}</math> कमांडिंग जनरल सहित कुछ लोग गद्दार हैं। | ||
Line 19: | Line 19: | ||
==बीजान्टिन विफलता और लचीलापन== | ==बीजान्टिन विफलता और लचीलापन== | ||
[[कलन विधि]] या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है: | [[कलन विधि]] या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है: | ||
# एल्गोरिदम में | # एल्गोरिदम में और निष्पादन कदम उठाने में विफलता: इसे आमतौर पर असफल स्टॉप गलती के रूप में जाना जाता है। | ||
# सही ढंग से निष्पादित करने में यादृच्छिक विफलता: इसे यादृच्छिक गलती या यादृच्छिक बीजान्टिन गलती कहा जाता है। | # सही ढंग से निष्पादित करने में यादृच्छिक विफलता: इसे यादृच्छिक गलती या यादृच्छिक बीजान्टिन गलती कहा जाता है। | ||
# एक मनमानी विफलता जहां एल्गोरिदम चरणों को सही ढंग से निष्पादित करने में विफल रहता है (आमतौर पर कुछ विरोधियों द्वारा पूरे एल्गोरिदम को विफल करने के लिए | # एक मनमानी विफलता जहां एल्गोरिदम चरणों को सही ढंग से निष्पादित करने में विफल रहता है (आमतौर पर कुछ विरोधियों द्वारा पूरे एल्गोरिदम को विफल करने के लिए चतुर तरीके से) जिसमें पिछले दो प्रकार के दोष भी शामिल होते हैं; इसे बीजान्टिन दोष कहा जाता है। | ||
बीजान्टिन लचीला या बीजान्टिन दोष सहिष्णुता प्रोटोकॉल या एल्गोरिदम | बीजान्टिन लचीला या बीजान्टिन दोष सहिष्णुता प्रोटोकॉल या एल्गोरिदम एल्गोरिदम है जो ऊपर उल्लिखित सभी प्रकार की विफलताओं के लिए मजबूत है। उदाहरण के लिए, कई निरर्थक प्रोसेसर वाले अंतरिक्ष शटल को देखते हुए, यदि प्रोसेसर परस्पर विरोधी डेटा देते हैं, तो कौन से प्रोसेसर या प्रोसेसर के सेट पर विश्वास किया जाना चाहिए? समाधान को बीजान्टिन दोष सहिष्णुता प्रोटोकॉल के रूप में तैयार किया जा सकता है। | ||
==एल्गोरिदम का स्केच== | ==एल्गोरिदम का स्केच== | ||
Line 29: | Line 29: | ||
*चरण 1 (संचार चरण): | *चरण 1 (संचार चरण): | ||
:इस दौर में सभी संदेश भेजे और प्राप्त किए जाते हैं। | :इस दौर में सभी संदेश भेजे और प्राप्त किए जाते हैं। | ||
: सिक्का उछालने का प्रोटोकॉल | : सिक्का उछालने का प्रोटोकॉल ऐसी प्रक्रिया है जो दो पक्षों ए और बी को, जो एक-दूसरे पर भरोसा नहीं करते हैं, किसी विशेष वस्तु को जीतने के लिए सिक्का उछालने की अनुमति देती है। | ||
सिक्का उछालने के प्रोटोकॉल दो प्रकार के होते हैं | सिक्का उछालने के प्रोटोकॉल दो प्रकार के होते हैं | ||
* [[क्वांटम सिक्का फ़्लिपिंग]] प्रोटोकॉल:<ref name="KerenidisNayak2004">{{cite journal|last1=Kerenidis|first1=I.|last2=Nayak|first2=A.|title=छोटे पूर्वाग्रह के साथ कमजोर सिक्का उछाल|journal=Information Processing Letters|volume=89|issue=3|year=2004|pages=131–135|issn=0020-0190|doi=10.1016/j.ipl.2003.07.007|arxiv=quant-ph/0206121|s2cid=14445949}}</ref> दो खिलाड़ी ए और बी शुरू में बिना किसी इनपुट के शुरू करते हैं और उन्हें कुछ मूल्य की गणना करनी होती है <math>c_{A},c_{B} \in [0,1]</math> और किसी पर भी धोखाधड़ी का आरोप लगाने में सक्षम हो। यदि ए और बी परिणाम पर सहमत हों तो प्रोटोकॉल सफल होता है। परिणाम 0 को A की जीत और 1 को B की जीत के रूप में परिभाषित किया गया है। प्रोटोकॉल में निम्नलिखित गुण हैं: | * [[क्वांटम सिक्का फ़्लिपिंग]] प्रोटोकॉल:<ref name="KerenidisNayak2004">{{cite journal|last1=Kerenidis|first1=I.|last2=Nayak|first2=A.|title=छोटे पूर्वाग्रह के साथ कमजोर सिक्का उछाल|journal=Information Processing Letters|volume=89|issue=3|year=2004|pages=131–135|issn=0020-0190|doi=10.1016/j.ipl.2003.07.007|arxiv=quant-ph/0206121|s2cid=14445949}}</ref> दो खिलाड़ी ए और बी शुरू में बिना किसी इनपुट के शुरू करते हैं और उन्हें कुछ मूल्य की गणना करनी होती है <math>c_{A},c_{B} \in [0,1]</math> और किसी पर भी धोखाधड़ी का आरोप लगाने में सक्षम हो। यदि ए और बी परिणाम पर सहमत हों तो प्रोटोकॉल सफल होता है। परिणाम 0 को A की जीत और 1 को B की जीत के रूप में परिभाषित किया गया है। प्रोटोकॉल में निम्नलिखित गुण हैं: | ||
**यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे प्रोटोकॉल के परिणाम पर सहमत होते हैं <math> c_{A} = c_{B}</math> साथ <math> Pr(c_{A} = c_{B} = b) = \tfrac{1}{2}</math> के लिए <math> a,b \in \{0, 1\}</math>. | **यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे प्रोटोकॉल के परिणाम पर सहमत होते हैं <math> c_{A} = c_{B}</math> साथ <math> Pr(c_{A} = c_{B} = b) = \tfrac{1}{2}</math> के लिए <math> a,b \in \{0, 1\}</math>. | ||
**यदि खिलाड़ियों में से | **यदि खिलाड़ियों में से ईमानदार है (यानी, दूसरा खिलाड़ी अपने स्थानीय गणना में प्रोटोकॉल से मनमाने ढंग से विचलन कर सकता है), तो दूसरा पक्ष अधिकतम संभावना के साथ जीतता है <math>\tfrac{1}{2} + \epsilon</math>. दूसरे शब्दों में, यदि बी बेईमान है, तो <math>Pr(c_{A} = c_{B} = 1) \leq \tfrac{1}{2} + \epsilon</math>, और यदि ए बेईमान है, तो <math>Pr(c_{A} = c_{B} = 0)\leq \tfrac{1}{2} + \epsilon </math>. | ||
* एक क्वांटम सिक्का फ़्लिपिंग: | * एक क्वांटम सिक्का फ़्लिपिंग: मजबूत सिक्का फ़्लिपिंग प्रोटोकॉल में, लक्ष्य इसके बजाय यादृच्छिक बिट उत्पन्न करना है जो किसी विशेष मान 0 या 1 से दूर पक्षपाती है। स्पष्ट रूप से, पूर्वाग्रह के साथ कोई भी मजबूत सिक्का फ़्लिपिंग प्रोटोकॉल <math>\epsilon</math> कमजोर सिक्के को उसी पूर्वाग्रह के साथ उछालने की ओर ले जाता है। | ||
===[[सत्यापन योग्य [[गुप्त साझाकरण]]]]=== | ===[[सत्यापन योग्य [[गुप्त साझाकरण]]]]=== | ||
* एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: ए (एन,के) गुप्त साझाकरण प्रोटोकॉल एन खिलाड़ियों के | * एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: ए (एन,के) गुप्त साझाकरण प्रोटोकॉल एन खिलाड़ियों के सेट को रहस्य साझा करने की अनुमति देता है, जैसे कि केवल के या अधिक खिलाड़ियों का कोरम ही रहस्य की खोज कर सकता है। रहस्य को साझा करने (गुप्त टुकड़ों को वितरित करने) वाले खिलाड़ी को आमतौर पर डीलर के रूप में जाना जाता है। सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल बुनियादी गुप्त साझाकरण प्रोटोकॉल से भिन्न होता है जिसमें खिलाड़ी यह सत्यापित कर सकते हैं कि दुर्भावनापूर्ण डीलर की उपस्थिति में भी उनके शेयर सुसंगत हैं। | ||
===फेल-स्टॉप प्रोटोकॉल=== | ===फेल-स्टॉप प्रोटोकॉल=== | ||
====खिलाड़ी के लिए प्रोटोकॉल क्वांटम सिक्का फ्लिप <math>P_i</math>==== | ====खिलाड़ी के लिए प्रोटोकॉल क्वांटम सिक्का फ्लिप <math>P_i</math>==== | ||
#राउंड 1 GHZ स्थिति उत्पन्न करता है <math>|\mathrm{Coin}_i\rangle =\tfrac{1}{\sqrt{2}}|0,0,\ldots,0\rangle + \tfrac{1}{\sqrt{2}}|1,1,\ldots,1\rangle</math> पर <math>n</math> [[qubits]] और भेजें <math>k</math>वें [[qubit]] को <math>k</math>वें खिलाड़ी | #राउंड 1 GHZ स्थिति उत्पन्न करता है <math>|\mathrm{Coin}_i\rangle =\tfrac{1}{\sqrt{2}}|0,0,\ldots,0\rangle + \tfrac{1}{\sqrt{2}}|1,1,\ldots,1\rangle</math> पर <math>n</math> [[qubits]] और भेजें <math>k</math>वें [[qubit]] को <math>k</math>वें खिलाड़ी भाग रखता है | ||
# राज्य उत्पन्न करें <math>|\mathrm{Leader}_i\rangle= \tfrac{1}{n^{3/2}}\sum\nolimits_{a=1}^{n^3}|a,a,\ldots,a\rangle</math> पर <math>n</math> क्यूडिट्स (क्वांटम-कंप्यूटिंग घटक जो कई क्वैबिट से सुसंगत हैं), 1 और के बीच की संख्याओं का | # राज्य उत्पन्न करें <math>|\mathrm{Leader}_i\rangle= \tfrac{1}{n^{3/2}}\sum\nolimits_{a=1}^{n^3}|a,a,\ldots,a\rangle</math> पर <math>n</math> क्यूडिट्स (क्वांटम-कंप्यूटिंग घटक जो कई क्वैबिट से सुसंगत हैं), 1 और के बीच की संख्याओं का समान सुपरपोजिशन <math>n^3</math>. वितरित करें <math>n</math> सभी खिलाड़ियों के बीच बातचीत<ref name="Ben-Or" /># सभी खिलाड़ियों से क्वांटम संदेश प्राप्त करें और अगले संचार दौर की प्रतीक्षा करें, इस प्रकार प्रतिद्वंद्वी को यह चुनने के लिए मजबूर किया जाए कि कौन से संदेश पारित किए गए थे। | ||
# राउंड 2: सभी को मापें (मानक आधार में)। <math>\mathrm{Leader}_{j}</math> राउंड I में प्राप्त क्विबिट्स। राउंड के लीडर के रूप में उच्चतम लीडर वैल्यू (मनमाने ढंग से टूटे हुए संबंध) वाले खिलाड़ी का चयन करें। मानक आधार में नेता के सिक्के को मापें। | # राउंड 2: सभी को मापें (मानक आधार में)। <math>\mathrm{Leader}_{j}</math> राउंड I में प्राप्त क्विबिट्स। राउंड के लीडर के रूप में उच्चतम लीडर वैल्यू (मनमाने ढंग से टूटे हुए संबंध) वाले खिलाड़ी का चयन करें। मानक आधार में नेता के सिक्के को मापें। | ||
# क्वांटमकॉइनफ्लिप प्रोटोकॉल का आउटपुट सेट करें: <math>v_{i}</math> = नेता के सिक्के का माप परिणाम. | # क्वांटमकॉइनफ्लिप प्रोटोकॉल का आउटपुट सेट करें: <math>v_{i}</math> = नेता के सिक्के का माप परिणाम. | ||
===बीजान्टिन प्रोटोकॉल=== | ===बीजान्टिन प्रोटोकॉल=== | ||
एक यादृच्छिक सिक्का उत्पन्न करने के लिए प्रत्येक खिलाड़ी को [0,n-1] श्रेणी में | एक यादृच्छिक सिक्का उत्पन्न करने के लिए प्रत्येक खिलाड़ी को [0,n-1] श्रेणी में पूर्णांक निर्दिष्ट करें और प्रत्येक खिलाड़ी को अपना स्वयं का चयन करने की अनुमति नहीं है | ||
प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी <math>P_k</math> | प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी <math>P_k</math> यादृच्छिक संख्या का चयन करता है <math>s{_{k}^{i}}</math> हर दूसरे खिलाड़ी के लिए <math>P_{i}</math> और इसे सत्यापन योग्य गुप्त साझाकरण योजना का उपयोग करके वितरित करता है। | ||
इस चरण के अंत में खिलाड़ी इस बात पर सहमत होते हैं कि कौन से रहस्य ठीक से साझा किए गए थे, फिर रहस्य खोले जाते हैं और प्रत्येक खिलाड़ी <math>P_i</math> मान निर्दिष्ट किया गया है | इस चरण के अंत में खिलाड़ी इस बात पर सहमत होते हैं कि कौन से रहस्य ठीक से साझा किए गए थे, फिर रहस्य खोले जाते हैं और प्रत्येक खिलाड़ी <math>P_i</math> मान निर्दिष्ट किया गया है | ||
: <math>s_i =\sum \, {s_{k}^{i}}{\text{for all secrets properly shared}}\mod n</math> | : <math>s_i =\sum \, {s_{k}^{i}}{\text{for all secrets properly shared}}\mod n</math> | ||
इसके लिए निजी सूचना चैनलों की आवश्यकता होती है इसलिए हम यादृच्छिक रहस्यों को सुपरपोज़िशन से बदल देते हैं <math>|\phi\rangle =\tfrac{1}{\sqrt{n}}\sum\nolimits_{a=0}^{n-1}|a\rangle</math>. जिसमें राज्य को क्वांटम सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल (क्यूवीएसएस) का उपयोग करके एन्कोड किया गया है।<ref name="CrépeauGottesman2002">{{cite conference|last1=Crépeau|first1=Claude|last2=Gottesman|first2=Daniel|last3=Smith|first3=Adam|title=सुरक्षित बहु-पक्षीय क्वांटम गणना|conference=34th ACM Symposium on the Theory of Computing, STOC|year=2002|pages=643–652|doi=10.1145/509907.510000}}</ref> हम राज्य का वितरण नहीं कर सकते <math>|\phi,\phi,\ldots \phi\rangle</math> चूँकि बुरे खिलाड़ी राज्य को ध्वस्त कर सकते हैं। बुरे खिलाड़ियों को ऐसा करने से रोकने के लिए हम क्वांटम सत्यापन योग्य गुप्त साझाकरण (क्यूवीएसएस) का उपयोग करके राज्य को एन्कोड करते हैं और प्रत्येक खिलाड़ी को उनके हिस्से का रहस्य भेजते हैं। यहां फिर से सत्यापन के लिए बीजान्टिन समझौते की आवश्यकता है, लेकिन ग्रेड-कास्ट प्रोटोकॉल द्वारा समझौते को प्रतिस्थापित करना पर्याप्त है।<ref name="wiki:byzantine">{{cite book|last1=Ben-Or|first1=Michael|title=Proceedings of the thirty-eighth annual ACM symposium on Theory of computing - STOC '06|last2=Pavlov|first2=Elan|last3=Vaikuntanathan|first3=Vinod|chapter=Byzantine agreement in the full-information model in O(log n) rounds|year=2006|pages=179–186|doi=10.1145/1132516.1132543|citeseerx=10.1.1.296.4133|isbn=1595931341|s2cid=6379620}}</ref><ref name="FeldmanMicali1997">{{cite journal|last1=Feldman|first1=Pesech|last2=Micali|first2=Silvio|title=सिंक्रोनस बीजान्टिन समझौते के लिए एक इष्टतम संभाव्य प्रोटोकॉल|journal=SIAM Journal on Computing|volume=26|issue=4|year=1997|pages=873–933|issn=0097-5397|doi=10.1137/S0097539790187084}}</ref> | इसके लिए निजी सूचना चैनलों की आवश्यकता होती है इसलिए हम यादृच्छिक रहस्यों को सुपरपोज़िशन से बदल देते हैं <math>|\phi\rangle =\tfrac{1}{\sqrt{n}}\sum\nolimits_{a=0}^{n-1}|a\rangle</math>. जिसमें राज्य को क्वांटम सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल (क्यूवीएसएस) का उपयोग करके एन्कोड किया गया है।<ref name="CrépeauGottesman2002">{{cite conference|last1=Crépeau|first1=Claude|last2=Gottesman|first2=Daniel|last3=Smith|first3=Adam|title=सुरक्षित बहु-पक्षीय क्वांटम गणना|conference=34th ACM Symposium on the Theory of Computing, STOC|year=2002|pages=643–652|doi=10.1145/509907.510000}}</ref> हम राज्य का वितरण नहीं कर सकते <math>|\phi,\phi,\ldots \phi\rangle</math> चूँकि बुरे खिलाड़ी राज्य को ध्वस्त कर सकते हैं। बुरे खिलाड़ियों को ऐसा करने से रोकने के लिए हम क्वांटम सत्यापन योग्य गुप्त साझाकरण (क्यूवीएसएस) का उपयोग करके राज्य को एन्कोड करते हैं और प्रत्येक खिलाड़ी को उनके हिस्से का रहस्य भेजते हैं। यहां फिर से सत्यापन के लिए बीजान्टिन समझौते की आवश्यकता है, लेकिन ग्रेड-कास्ट प्रोटोकॉल द्वारा समझौते को प्रतिस्थापित करना पर्याप्त है।<ref name="wiki:byzantine">{{cite book|last1=Ben-Or|first1=Michael|title=Proceedings of the thirty-eighth annual ACM symposium on Theory of computing - STOC '06|last2=Pavlov|first2=Elan|last3=Vaikuntanathan|first3=Vinod|chapter=Byzantine agreement in the full-information model in O(log n) rounds|year=2006|pages=179–186|doi=10.1145/1132516.1132543|citeseerx=10.1.1.296.4133|isbn=1595931341|s2cid=6379620}}</ref><ref name="FeldmanMicali1997">{{cite journal|last1=Feldman|first1=Pesech|last2=Micali|first2=Silvio|title=सिंक्रोनस बीजान्टिन समझौते के लिए एक इष्टतम संभाव्य प्रोटोकॉल|journal=SIAM Journal on Computing|volume=26|issue=4|year=1997|pages=873–933|issn=0097-5397|doi=10.1137/S0097539790187084}}</ref> | ||
====ग्रेड-कास्ट प्रोटोकॉल==== | ====ग्रेड-कास्ट प्रोटोकॉल==== | ||
ग्रेड-कास्ट प्रोटोकॉल में परिभाषाओं का उपयोग करते हुए निम्नलिखित गुण होते हैं <ref name="wiki:byzantine"/>अनौपचारिक रूप से, ग्रेडेड [[ प्रसारण (कंप्यूटिंग) ]] प्रोटोकॉल प्रोटोकॉल है जिसमें निर्दिष्ट खिलाड़ी होता है जिसे "डीलर" (वह जो प्रसारण करता है) कहा जाता है: | |||
ग्रेड-कास्ट प्रोटोकॉल में परिभाषाओं का उपयोग करते हुए निम्नलिखित गुण होते हैं <ref name="wiki:byzantine"/>अनौपचारिक रूप से, | # अगर डीलर अच्छा है तो सभी खिलाड़ियों को जैसा संदेश मिलता है. | ||
# अगर डीलर अच्छा है तो सभी खिलाड़ियों को | # भले ही डीलर बुरा हो, अगर कोई अच्छा खिलाड़ी संदेश स्वीकार करता है, तो सभी अच्छे खिलाड़ियों को ही संदेश मिलता है (लेकिन वे इसे स्वीकार कर भी सकते हैं और नहीं भी)। | ||
# भले ही डीलर बुरा हो, अगर कोई अच्छा खिलाड़ी संदेश स्वीकार करता है, तो सभी अच्छे खिलाड़ियों को | एक प्रोटोकॉल पी को श्रेणीबद्ध प्रसारण प्राप्त करने के लिए कहा जाता है, यदि प्रोटोकॉल की शुरुआत में, नामित खिलाड़ी डी (डीलर कहा जाता है) मान वी रखता है, और प्रोटोकॉल के अंत में, प्रत्येक खिलाड़ी <math>P_{i}</math> जोड़ी आउटपुट करता है <math>(\mathrm{value}_{i}, \mathrm{confidence}_{i}) | ||
एक प्रोटोकॉल पी को श्रेणीबद्ध प्रसारण प्राप्त करने के लिए कहा जाता है, यदि प्रोटोकॉल की शुरुआत में, | |||
</math> जैसे कि निम्नलिखित गुण मौजूद हों: | </math> जैसे कि निम्नलिखित गुण मौजूद हों: | ||
<math>(\forall i, \mathrm{confidence}_{i} \in \{0, 1, 2\})</math> | <math>(\forall i, \mathrm{confidence}_{i} \in \{0, 1, 2\})</math> | ||
Line 68: | Line 65: | ||
# (स्थिरता) किन्हीं दो ईमानदार खिलाड़ियों के लिए <math>P_{i}</math> और <math>P_{j}</math>, अगर <math>\mathrm{confidence}_{i}> 0</math> और <math> \mathrm{confidence}_{j}> 0 </math>, तब <math> \mathrm{value}_{i}= \mathrm{value}_{j}</math>. | # (स्थिरता) किन्हीं दो ईमानदार खिलाड़ियों के लिए <math>P_{i}</math> और <math>P_{j}</math>, अगर <math>\mathrm{confidence}_{i}> 0</math> और <math> \mathrm{confidence}_{j}> 0 </math>, तब <math> \mathrm{value}_{i}= \mathrm{value}_{j}</math>. | ||
के लिए <math>t < \tfrac{n}{4}</math> क्यूवीएसएस प्रोटोकॉल का सत्यापन चरण यह गारंटी देता है कि | के लिए <math>t < \tfrac{n}{4}</math> क्यूवीएसएस प्रोटोकॉल का सत्यापन चरण यह गारंटी देता है कि अच्छे डीलर के लिए सही स्थिति को एन्कोड किया जाएगा, और किसी भी, संभवतः दोषपूर्ण डीलर के लिए, पुनर्प्राप्ति चरण के दौरान कुछ विशेष स्थिति को पुनर्प्राप्त किया जाएगा। हम ध्यान दें कि हमारे बीजान्टिन क्वांटम सिक्का फ्लिप प्रोटोकॉल के प्रयोजन के लिए पुनर्प्राप्ति चरण बहुत सरल है। प्रत्येक खिलाड़ी QVSS के अपने हिस्से को मापता है और अन्य सभी खिलाड़ियों को शास्त्रीय मूल्य भेजता है। सत्यापन चरण, उच्च संभावना के साथ, की उपस्थिति की गारंटी देता है <math>t < \tfrac{n}{4}</math> दोषपूर्ण खिलाड़ी, सभी अच्छे खिलाड़ी समान शास्त्रीय मूल्य पुनर्प्राप्त करेंगे (जो वही मूल्य है जो एन्कोडेड स्थिति के प्रत्यक्ष माप के परिणामस्वरूप होगा)। | ||
== टिप्पणियाँ == | == टिप्पणियाँ == | ||
2007 में, बीजान्टिन समझौते के लिए | 2007 में, बीजान्टिन समझौते के लिए क्वांटम प्रोटोकॉल प्रयोगात्मक रूप से प्रदर्शित किया गया था <ref name="GaertnerBourennane2008">{{cite journal|last1=Gaertner|first1=Sascha|last2=Bourennane|first2=Mohamed|last3=Kurtsiefer|first3=Christian|last4=Cabello|first4=Adán|last5=Weinfurter|first5=Harald|title=बीजान्टिन समझौते और झूठ का पता लगाने के लिए क्वांटम प्रोटोकॉल का प्रायोगिक प्रदर्शन|journal=Physical Review Letters|volume=100|issue=7|pages=070504|year=2008|issn=0031-9007|doi=10.1103/PhysRevLett.100.070504|pmid=18352533|arxiv=0710.0290|bibcode=2008PhRvL.100g0504G|s2cid=30443015}}</ref> चार-फोटॉन ध्रुवीकरण-उलझी स्थिति का उपयोग करना। इससे पता चलता है कि शास्त्रीय बीजान्टिन समझौते प्रोटोकॉल का क्वांटम कार्यान्वयन वास्तव में संभव है। | ||
== संदर्भ == | == संदर्भ == |
Revision as of 22:08, 14 July 2023
बीजान्टिन दोष सहिष्णुता प्रोटोकॉल (कंप्यूटिंग) एल्गोरिदम हैं जो वितरित एल्गोरिदम में मनमानी प्रकार की विफलताओं के लिए मजबूत हैं। बीजान्टिन समझौता प्रोटोकॉल इस कार्य का अनिवार्य हिस्सा है। बीजान्टिन प्रोटोकॉल का निरंतर-समय क्वांटम संस्करण,[1] नीचे वर्णित है.
परिचय
बीजान्टिन दोष सहिष्णुता संचार प्रोटोकॉल वितरित कंप्यूटिंग में प्रोटोकॉल है। इसका नाम 1982 में लैमपोर्ट, शोस्टाक और पीज़ द्वारा तैयार की गई समस्या से लिया गया है।[2] जो स्वयं ऐतिहासिक समस्या का संदर्भ है। बीजान्टिन सेना को डिवीजनों में विभाजित किया गया था, प्रत्येक डिवीजन का नेतृत्व निम्नलिखित गुणों वाले जनरल द्वारा किया जाता था:
- प्रत्येक जनरल या तो बीजान्टिन के प्रति वफादार है या गद्दार है।
- सभी जनरल संदेश भेजकर और प्राप्त करके संवाद करते हैं।
- केवल दो आदेश हैं: आक्रमण और पीछे हटना।
- सभी वफ़ादार जनरलों को ही कार्य योजना पर सहमत होना चाहिए: हमला करना या पीछे हटना।
- खराब जनरलों के छोटे से रैखिक अंश के कारण प्रोटोकॉल विफल नहीं होना चाहिए (ए से कम)। अंश)।
(देखना [3] असंभव परिणाम के प्रमाण के लिए)। समस्या को आम तौर पर कमांडिंग जनरल और वफादार लेफ्टिनेंट के रूप में समान रूप से दोहराया जाता है, जिसमें जनरल या तो वफादार होता है या गद्दार होता है और निम्नलिखित गुणों वाले लेफ्टिनेंट के लिए भी यही बात समान होती है।
- सभी वफादार लेफ्टिनेंट ही आदेश का पालन करते हैं।
- यदि कमांडिंग जनरल वफादार है, तो सभी वफादार लेफ्टिनेंट उसके द्वारा भेजे गए आदेश का पालन करते हैं।
- ए सख्ती से कम कमांडिंग जनरल सहित कुछ लोग गद्दार हैं।
बीजान्टिन विफलता और लचीलापन
कलन विधि या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है:
- एल्गोरिदम में और निष्पादन कदम उठाने में विफलता: इसे आमतौर पर असफल स्टॉप गलती के रूप में जाना जाता है।
- सही ढंग से निष्पादित करने में यादृच्छिक विफलता: इसे यादृच्छिक गलती या यादृच्छिक बीजान्टिन गलती कहा जाता है।
- एक मनमानी विफलता जहां एल्गोरिदम चरणों को सही ढंग से निष्पादित करने में विफल रहता है (आमतौर पर कुछ विरोधियों द्वारा पूरे एल्गोरिदम को विफल करने के लिए चतुर तरीके से) जिसमें पिछले दो प्रकार के दोष भी शामिल होते हैं; इसे बीजान्टिन दोष कहा जाता है।
बीजान्टिन लचीला या बीजान्टिन दोष सहिष्णुता प्रोटोकॉल या एल्गोरिदम एल्गोरिदम है जो ऊपर उल्लिखित सभी प्रकार की विफलताओं के लिए मजबूत है। उदाहरण के लिए, कई निरर्थक प्रोसेसर वाले अंतरिक्ष शटल को देखते हुए, यदि प्रोसेसर परस्पर विरोधी डेटा देते हैं, तो कौन से प्रोसेसर या प्रोसेसर के सेट पर विश्वास किया जाना चाहिए? समाधान को बीजान्टिन दोष सहिष्णुता प्रोटोकॉल के रूप में तैयार किया जा सकता है।
एल्गोरिदम का स्केच
हम यहां एसिंक्रोनस एल्गोरिदम का स्केच बनाएंगे [1]एल्गोरिदम दो चरणों में काम करता है:
- चरण 1 (संचार चरण):
- इस दौर में सभी संदेश भेजे और प्राप्त किए जाते हैं।
- सिक्का उछालने का प्रोटोकॉल ऐसी प्रक्रिया है जो दो पक्षों ए और बी को, जो एक-दूसरे पर भरोसा नहीं करते हैं, किसी विशेष वस्तु को जीतने के लिए सिक्का उछालने की अनुमति देती है।
सिक्का उछालने के प्रोटोकॉल दो प्रकार के होते हैं
- क्वांटम सिक्का फ़्लिपिंग प्रोटोकॉल:[4] दो खिलाड़ी ए और बी शुरू में बिना किसी इनपुट के शुरू करते हैं और उन्हें कुछ मूल्य की गणना करनी होती है और किसी पर भी धोखाधड़ी का आरोप लगाने में सक्षम हो। यदि ए और बी परिणाम पर सहमत हों तो प्रोटोकॉल सफल होता है। परिणाम 0 को A की जीत और 1 को B की जीत के रूप में परिभाषित किया गया है। प्रोटोकॉल में निम्नलिखित गुण हैं:
- यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे प्रोटोकॉल के परिणाम पर सहमत होते हैं साथ के लिए .
- यदि खिलाड़ियों में से ईमानदार है (यानी, दूसरा खिलाड़ी अपने स्थानीय गणना में प्रोटोकॉल से मनमाने ढंग से विचलन कर सकता है), तो दूसरा पक्ष अधिकतम संभावना के साथ जीतता है . दूसरे शब्दों में, यदि बी बेईमान है, तो , और यदि ए बेईमान है, तो .
- एक क्वांटम सिक्का फ़्लिपिंग: मजबूत सिक्का फ़्लिपिंग प्रोटोकॉल में, लक्ष्य इसके बजाय यादृच्छिक बिट उत्पन्न करना है जो किसी विशेष मान 0 या 1 से दूर पक्षपाती है। स्पष्ट रूप से, पूर्वाग्रह के साथ कोई भी मजबूत सिक्का फ़्लिपिंग प्रोटोकॉल कमजोर सिक्के को उसी पूर्वाग्रह के साथ उछालने की ओर ले जाता है।
[[सत्यापन योग्य गुप्त साझाकरण]]
- एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: ए (एन,के) गुप्त साझाकरण प्रोटोकॉल एन खिलाड़ियों के सेट को रहस्य साझा करने की अनुमति देता है, जैसे कि केवल के या अधिक खिलाड़ियों का कोरम ही रहस्य की खोज कर सकता है। रहस्य को साझा करने (गुप्त टुकड़ों को वितरित करने) वाले खिलाड़ी को आमतौर पर डीलर के रूप में जाना जाता है। सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल बुनियादी गुप्त साझाकरण प्रोटोकॉल से भिन्न होता है जिसमें खिलाड़ी यह सत्यापित कर सकते हैं कि दुर्भावनापूर्ण डीलर की उपस्थिति में भी उनके शेयर सुसंगत हैं।
फेल-स्टॉप प्रोटोकॉल
खिलाड़ी के लिए प्रोटोकॉल क्वांटम सिक्का फ्लिप
- राउंड 1 GHZ स्थिति उत्पन्न करता है पर qubits और भेजें वें qubit को वें खिलाड़ी भाग रखता है
- राज्य उत्पन्न करें पर क्यूडिट्स (क्वांटम-कंप्यूटिंग घटक जो कई क्वैबिट से सुसंगत हैं), 1 और के बीच की संख्याओं का समान सुपरपोजिशन . वितरित करें सभी खिलाड़ियों के बीच बातचीत[1]# सभी खिलाड़ियों से क्वांटम संदेश प्राप्त करें और अगले संचार दौर की प्रतीक्षा करें, इस प्रकार प्रतिद्वंद्वी को यह चुनने के लिए मजबूर किया जाए कि कौन से संदेश पारित किए गए थे।
- राउंड 2: सभी को मापें (मानक आधार में)। राउंड I में प्राप्त क्विबिट्स। राउंड के लीडर के रूप में उच्चतम लीडर वैल्यू (मनमाने ढंग से टूटे हुए संबंध) वाले खिलाड़ी का चयन करें। मानक आधार में नेता के सिक्के को मापें।
- क्वांटमकॉइनफ्लिप प्रोटोकॉल का आउटपुट सेट करें: = नेता के सिक्के का माप परिणाम.
बीजान्टिन प्रोटोकॉल
एक यादृच्छिक सिक्का उत्पन्न करने के लिए प्रत्येक खिलाड़ी को [0,n-1] श्रेणी में पूर्णांक निर्दिष्ट करें और प्रत्येक खिलाड़ी को अपना स्वयं का चयन करने की अनुमति नहीं है प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी यादृच्छिक संख्या का चयन करता है हर दूसरे खिलाड़ी के लिए और इसे सत्यापन योग्य गुप्त साझाकरण योजना का उपयोग करके वितरित करता है।
इस चरण के अंत में खिलाड़ी इस बात पर सहमत होते हैं कि कौन से रहस्य ठीक से साझा किए गए थे, फिर रहस्य खोले जाते हैं और प्रत्येक खिलाड़ी मान निर्दिष्ट किया गया है
इसके लिए निजी सूचना चैनलों की आवश्यकता होती है इसलिए हम यादृच्छिक रहस्यों को सुपरपोज़िशन से बदल देते हैं . जिसमें राज्य को क्वांटम सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल (क्यूवीएसएस) का उपयोग करके एन्कोड किया गया है।[5] हम राज्य का वितरण नहीं कर सकते चूँकि बुरे खिलाड़ी राज्य को ध्वस्त कर सकते हैं। बुरे खिलाड़ियों को ऐसा करने से रोकने के लिए हम क्वांटम सत्यापन योग्य गुप्त साझाकरण (क्यूवीएसएस) का उपयोग करके राज्य को एन्कोड करते हैं और प्रत्येक खिलाड़ी को उनके हिस्से का रहस्य भेजते हैं। यहां फिर से सत्यापन के लिए बीजान्टिन समझौते की आवश्यकता है, लेकिन ग्रेड-कास्ट प्रोटोकॉल द्वारा समझौते को प्रतिस्थापित करना पर्याप्त है।[6][7]
ग्रेड-कास्ट प्रोटोकॉल
ग्रेड-कास्ट प्रोटोकॉल में परिभाषाओं का उपयोग करते हुए निम्नलिखित गुण होते हैं [6]अनौपचारिक रूप से, ग्रेडेड प्रसारण (कंप्यूटिंग) प्रोटोकॉल प्रोटोकॉल है जिसमें निर्दिष्ट खिलाड़ी होता है जिसे "डीलर" (वह जो प्रसारण करता है) कहा जाता है:
- अगर डीलर अच्छा है तो सभी खिलाड़ियों को जैसा संदेश मिलता है.
- भले ही डीलर बुरा हो, अगर कोई अच्छा खिलाड़ी संदेश स्वीकार करता है, तो सभी अच्छे खिलाड़ियों को ही संदेश मिलता है (लेकिन वे इसे स्वीकार कर भी सकते हैं और नहीं भी)।
एक प्रोटोकॉल पी को श्रेणीबद्ध प्रसारण प्राप्त करने के लिए कहा जाता है, यदि प्रोटोकॉल की शुरुआत में, नामित खिलाड़ी डी (डीलर कहा जाता है) मान वी रखता है, और प्रोटोकॉल के अंत में, प्रत्येक खिलाड़ी जोड़ी आउटपुट करता है जैसे कि निम्नलिखित गुण मौजूद हों:
- यदि D ईमानदार है, तो = वी और = प्रत्येक ईमानदार खिलाड़ी के लिए 2 .
- किन्हीं दो ईमानदार खिलाड़ियों के लिए और .
- (स्थिरता) किन्हीं दो ईमानदार खिलाड़ियों के लिए और , अगर और , तब .
के लिए क्यूवीएसएस प्रोटोकॉल का सत्यापन चरण यह गारंटी देता है कि अच्छे डीलर के लिए सही स्थिति को एन्कोड किया जाएगा, और किसी भी, संभवतः दोषपूर्ण डीलर के लिए, पुनर्प्राप्ति चरण के दौरान कुछ विशेष स्थिति को पुनर्प्राप्त किया जाएगा। हम ध्यान दें कि हमारे बीजान्टिन क्वांटम सिक्का फ्लिप प्रोटोकॉल के प्रयोजन के लिए पुनर्प्राप्ति चरण बहुत सरल है। प्रत्येक खिलाड़ी QVSS के अपने हिस्से को मापता है और अन्य सभी खिलाड़ियों को शास्त्रीय मूल्य भेजता है। सत्यापन चरण, उच्च संभावना के साथ, की उपस्थिति की गारंटी देता है दोषपूर्ण खिलाड़ी, सभी अच्छे खिलाड़ी समान शास्त्रीय मूल्य पुनर्प्राप्त करेंगे (जो वही मूल्य है जो एन्कोडेड स्थिति के प्रत्यक्ष माप के परिणामस्वरूप होगा)।
टिप्पणियाँ
2007 में, बीजान्टिन समझौते के लिए क्वांटम प्रोटोकॉल प्रयोगात्मक रूप से प्रदर्शित किया गया था [8] चार-फोटॉन ध्रुवीकरण-उलझी स्थिति का उपयोग करना। इससे पता चलता है कि शास्त्रीय बीजान्टिन समझौते प्रोटोकॉल का क्वांटम कार्यान्वयन वास्तव में संभव है।
संदर्भ
- ↑ 1.0 1.1 1.2 Michael Ben-Or; Avinatan Hassidim (2005). तेज़ क्वांटम बीजान्टिन समझौता. STOC '05: Proceedings of the thirty-seventh annual ACM symposium on Theory of computing. Baltimore, MD, USA. pp. 481–485. doi:10.1145/1060590.1060662.
- ↑ Lamport, Leslie; Shostak, Robert; Pease, Marshall (1982). "बीजान्टिन जनरलों की समस्या". ACM Transactions on Programming Languages and Systems. 4 (3): 382–401. doi:10.1145/357172.357176. ISSN 0164-0925. S2CID 55899582.
- ↑ Fischer, Michael J.; Lynch, Nancy A.; Paterson, Michael S. (1985). "एक दोषपूर्ण प्रक्रिया के साथ वितरित सर्वसम्मति की असंभवता". Journal of the ACM. 32 (2): 374–382. doi:10.1145/3149.214121. ISSN 0004-5411. S2CID 207660233.
- ↑ Kerenidis, I.; Nayak, A. (2004). "छोटे पूर्वाग्रह के साथ कमजोर सिक्का उछाल". Information Processing Letters. 89 (3): 131–135. arXiv:quant-ph/0206121. doi:10.1016/j.ipl.2003.07.007. ISSN 0020-0190. S2CID 14445949.
- ↑ Crépeau, Claude; Gottesman, Daniel; Smith, Adam (2002). सुरक्षित बहु-पक्षीय क्वांटम गणना. 34th ACM Symposium on the Theory of Computing, STOC. pp. 643–652. doi:10.1145/509907.510000.
- ↑ 6.0 6.1 Ben-Or, Michael; Pavlov, Elan; Vaikuntanathan, Vinod (2006). "Byzantine agreement in the full-information model in O(log n) rounds". Proceedings of the thirty-eighth annual ACM symposium on Theory of computing - STOC '06. pp. 179–186. CiteSeerX 10.1.1.296.4133. doi:10.1145/1132516.1132543. ISBN 1595931341. S2CID 6379620.
- ↑ Feldman, Pesech; Micali, Silvio (1997). "सिंक्रोनस बीजान्टिन समझौते के लिए एक इष्टतम संभाव्य प्रोटोकॉल". SIAM Journal on Computing. 26 (4): 873–933. doi:10.1137/S0097539790187084. ISSN 0097-5397.
- ↑ Gaertner, Sascha; Bourennane, Mohamed; Kurtsiefer, Christian; Cabello, Adán; Weinfurter, Harald (2008). "बीजान्टिन समझौते और झूठ का पता लगाने के लिए क्वांटम प्रोटोकॉल का प्रायोगिक प्रदर्शन". Physical Review Letters. 100 (7): 070504. arXiv:0710.0290. Bibcode:2008PhRvL.100g0504G. doi:10.1103/PhysRevLett.100.070504. ISSN 0031-9007. PMID 18352533. S2CID 30443015.