क्वांटम बीजान्टिन अनुबंध: Difference between revisions
No edit summary |
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 में लैमपोर्ट, शोस्टाक और पीज़ द्वारा तैयार की गई समस्या से लिया गया है।<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> जो स्वयं ऐतिहासिक समस्या का संदर्भ है। [[बीजान्टिन]] सेना को संभागों में विभाजित किया गया था, प्रत्येक संभाग का नेतृत्व निम्नलिखित गुणों वाले जनरल द्वारा किया जाता था: | ||
इसका नाम 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> समस्या को सामान्यतः कमान जनरल और निष्ठावान लेफ्टिनेंट के रूप में समान रूप से दोहराया जाता है, जिसमें जनरल या तो निष्ठावान होता है या विश्वासघाती होता है और निम्नलिखित गुणों वाले लेफ्टिनेंट के लिए भी यही बात समान होती है। | ||
समस्या को | |||
*सभी | *सभी निष्ठावान लेफ्टिनेंट ही आदेश का पालन करते हैं। | ||
*यदि | *यदि कमान जनरल निष्ठावान है, तो सभी निष्ठावान लेफ्टिनेंट उसके द्वारा भेजे गए आदेश का पालन करते हैं। | ||
* | *कमान जनरल सहित <math>\tfrac{1}{3}</math> से निश्चित कम अंश वाले विश्वासघाती हैं। | ||
==बीजान्टिन विफलता और | ==बीजान्टिन विफलता और नम्यता== | ||
[[कलन विधि]] या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है: | [[कलन विधि]] या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है: | ||
# एल्गोरिदम में और निष्पादन | # एल्गोरिदम में और निष्पादन चरण उठाने में विफलता: इसे सामान्यतः "विफल अवरोध" दोष के रूप में जाना जाता है। | ||
# | # ठीक रूप से निष्पादित करने में यादृच्छिक विफलता: इसे यादृच्छिक त्रुटि या यादृच्छिक बीजान्टिन त्रुटि कहा जाता है। | ||
# एक | # एक यादृच्छिक विफलता जहां एल्गोरिदम चरणों को ठीक रूप से निष्पादित करने में विफल रहता है (सामान्यतः कुछ विरोधियों द्वारा पूरे एल्गोरिदम को विफल करने के लिए चालाक विधि से) जिसमें पिछले दो प्रकार के दोष भी सम्मिलित होते हैं; इसे बीजान्टिन दोष कहा जाता है। | ||
बीजान्टिन | बीजान्टिन नम्यता या बीजान्टिन दोष सहिष्णुता प्रोटोकॉल या एल्गोरिदम एल्गोरिदम है जो ऊपर उल्लिखित सभी प्रकार की विफलताओं के लिए दृढ है। उदाहरण के लिए, कई निरर्थक प्रोसेसर वाले अंतरिक्ष शटल को देखते हुए, यदि प्रोसेसर परस्पर विरोधी डेटा देते हैं, तो कौन से प्रोसेसर या प्रोसेसर के समूह पर विश्वास किया जाना चाहिए? हल को बीजान्टिन दोष सहिष्णुता प्रोटोकॉल के रूप में तैयार किया जा सकता है। | ||
==एल्गोरिदम का स्केच== | ==एल्गोरिदम का स्केच== | ||
हम यहां | हम यहां अतुल्यकाली एल्गोरिदम का स्केच बनाएंगे<ref name="Ben-Or"/> एल्गोरिदम दो चरणों में कार्य करता है: | ||
*चरण 1 (संचार चरण): | *चरण 1 (संचार चरण): | ||
:इस | :इस चक्कर में सभी संदेश भेजे और प्राप्त किए जाते हैं। | ||
: सिक्का उछालने का प्रोटोकॉल ऐसी प्रक्रिया है जो दो पक्षों | : सिक्का उछालने का प्रोटोकॉल ऐसी प्रक्रिया है जो दो पक्षों A और 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> दो खिलाड़ी | * [[क्वांटम सिक्का फ़्लिपिंग]] प्रोटोकॉल:<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> दो खिलाड़ी A और B प्रारंभ में बिना किसी इनपुट के प्रारंभ करते हैं और उन्हें कुछ मान <math>c_{A},c_{B} \in [0,1]</math> की गणना करनी होती है और किसी पर भी छल का आरोप लगाने में सक्षम होना होता है। यदि A और B परिणाम पर सहमत हों तो प्रोटोकॉल सफल होता है। परिणाम 0 को A की जीत और 1 को B की जीत के रूप में परिभाषित किया गया है। प्रोटोकॉल में निम्नलिखित गुण हैं: | ||
**यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे | **यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे <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>\tfrac{1}{2} + \epsilon</math> की संभावना के साथ जीतता है। दूसरे शब्दों में, यदि B कुटिल है, तो <math>Pr(c_{A} = c_{B} = 1) \leq \tfrac{1}{2} + \epsilon</math>, और यदि A कुटिल है, तो <math>Pr(c_{A} = c_{B} = 0)\leq \tfrac{1}{2} + \epsilon </math>. | ||
* एक क्वांटम सिक्का फ़्लिपिंग: | * एक क्वांटम सिक्का फ़्लिपिंग: दृढ सिक्का फ़्लिपिंग प्रोटोकॉल में, लक्ष्य इसके अतिरिक्त यादृच्छिक बिट उत्पन्न करना है जो किसी विशेष मान 0 या 1 से दूर पक्षपाती है। स्पष्ट रूप से, पूर्वाग्रह <math>\epsilon</math> के साथ कोई भी दृढ सिक्का फ़्लिपिंग प्रोटोकॉल उसी पूर्वाग्रह के साथ दुर्बल सिक्का फ़्लिपिंग की ओर ले जाता है। | ||
=== | ===सत्यापन योग्य [[गुप्त साझाकरण]]=== | ||
* एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: | * एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: A (n,k) गुप्त साझाकरण प्रोटोकॉल n खिलाड़ियों के समूह को गुप्त साझा करने की अनुमति देता है, जैसे कि मात्र के या अधिक खिलाड़ियों का कोरम ही गुप्त की खोज कर सकता है। गुप्त को साझा करने (गुप्त टुकड़ों को वितरित करने) वाले खिलाड़ी को सामान्यतः डीलर के रूप में जाना जाता है। सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल बुनियादी गुप्त साझाकरण प्रोटोकॉल से भिन्न होता है जिसमें खिलाड़ी यह सत्यापित कर सकते हैं कि दुर्भावनापूर्ण डीलर की उपस्थिति में भी उनके शेयर सुसंगत हैं। | ||
===फेल-स्टॉप प्रोटोकॉल=== | ===फेल-स्टॉप प्रोटोकॉल=== | ||
Line 44: | Line 42: | ||
#राउंड 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>n^3</math>. वितरित करें <math>n</math> सभी खिलाड़ियों के बीच बातचीत<ref name="Ben-Or" /># सभी खिलाड़ियों से क्वांटम संदेश प्राप्त करें और अगले संचार दौर की प्रतीक्षा करें, इस प्रकार प्रतिद्वंद्वी को यह चुनने के लिए मजबूर किया जाए कि कौन से संदेश पारित किए गए थे। | # राज्य उत्पन्न करें <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> = नेता के सिक्के का माप परिणाम. | ||
===बीजान्टिन प्रोटोकॉल=== | ===बीजान्टिन प्रोटोकॉल=== | ||
Line 51: | Line 49: | ||
प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी <math>P_k</math> यादृच्छिक संख्या का चयन करता है <math>s{_{k}^{i}}</math> हर दूसरे खिलाड़ी के लिए <math>P_{i}</math> और इसे सत्यापन योग्य गुप्त साझाकरण योजना का उपयोग करके वितरित करता है। | प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी <math>P_k</math> यादृच्छिक संख्या का चयन करता है <math>s{_{k}^{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>. जिसमें राज्य को क्वांटम सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल (क्यूवीएसएस) का उपयोग करके n्कोड किया गया है।<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> चूँकि बुरे खिलाड़ी राज्य को ध्वस्त कर सकते हैं। बुरे खिलाड़ियों को ऐसा करने से रोकने के लिए हम क्वांटम सत्यापन योग्य गुप्त साझाकरण (क्यूवीएसएस) का उपयोग करके राज्य को n्कोड करते हैं और प्रत्येक खिलाड़ी को उनके भाग का गुप्त भेजते हैं। यहां फिर से सत्यापन के लिए बीजान्टिन समझौते की आवश्यकता है, लेकिन ग्रेड-कास्ट प्रोटोकॉल द्वारा समझौते को प्रतिस्थापित करना पर्याप्त है।<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 65: | Line 63: | ||
# (स्थिरता) किन्हीं दो ईमानदार खिलाड़ियों के लिए <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> क्यूवीएसएस प्रोटोकॉल का सत्यापन चरण यह गारंटी देता है कि अच्छे डीलर के लिए सही स्थिति को n्कोड किया जाएगा, और किसी भी, संभवतः दोषपूर्ण डीलर के लिए, पुनर्प्राप्ति चरण के दौरान कुछ विशेष स्थिति को पुनर्प्राप्त किया जाएगा। हम ध्यान दें कि हमारे बीजान्टिन क्वांटम सिक्का फ्लिप प्रोटोकॉल के प्रयोजन के लिए पुनर्प्राप्ति चरण बहुत सरल है। प्रत्येक खिलाड़ी QVSS के अपने भाग को मापता है और अन्य सभी खिलाड़ियों को शास्त्रीय मान भेजता है। सत्यापन चरण, उच्च संभावना के साथ, की उपस्थिति की गारंटी देता है <math>t < \tfrac{n}{4}</math> दोषपूर्ण खिलाड़ी, सभी अच्छे खिलाड़ी समान शास्त्रीय मान पुनर्प्राप्त करेंगे (जो वही मान है जो n्कोडेड स्थिति के प्रत्यक्ष माप के परिणामस्वरूप होगा)। | ||
== टिप्पणियाँ == | == टिप्पणियाँ == |
Revision as of 08:38, 15 July 2023
बीजान्टिन दोष सहिष्णुता प्रोटोकॉल (कंप्यूटिंग) एल्गोरिदम हैं जो वितरित एल्गोरिदम में यादृच्छिक प्रकार की विफलताओं के लिए दृढ हैं। बीजान्टिन समझौता प्रोटोकॉल इस कार्य का अनिवार्य भाग है। बीजान्टिन प्रोटोकॉल का निरंतर-समय क्वांटम संस्करण,[1] नीचे वर्णित है।
परिचय
बीजान्टिन दोष सहिष्णुता संचार प्रोटोकॉल वितरित कंप्यूटिंग में प्रोटोकॉल है। इसका नाम 1982 में लैमपोर्ट, शोस्टाक और पीज़ द्वारा तैयार की गई समस्या से लिया गया है।[2] जो स्वयं ऐतिहासिक समस्या का संदर्भ है। बीजान्टिन सेना को संभागों में विभाजित किया गया था, प्रत्येक संभाग का नेतृत्व निम्नलिखित गुणों वाले जनरल द्वारा किया जाता था:
- प्रत्येक जनरल या तो बीजान्टिन के प्रति निष्ठावान है या विश्वासघाती है।
- सभी जनरल संदेश भेजकर और प्राप्त करके संवाद करते हैं।
- मात्र दो आदेश हैं: आक्रमण और पीछे हटना।
- सभी निष्ठावान जनरलों को ही कार्य योजना पर सहमत होना चाहिए: आक्षेप करना या पीछे हटना।
- निकृष्ट जनरलों के छोटे से रैखिक अंश के कारण प्रोटोकॉल विफल नहीं होना चाहिए ( से अंश कम )।
(असंभव परिणाम के प्रमाण के लिए देखें) [3] समस्या को सामान्यतः कमान जनरल और निष्ठावान लेफ्टिनेंट के रूप में समान रूप से दोहराया जाता है, जिसमें जनरल या तो निष्ठावान होता है या विश्वासघाती होता है और निम्नलिखित गुणों वाले लेफ्टिनेंट के लिए भी यही बात समान होती है।
- सभी निष्ठावान लेफ्टिनेंट ही आदेश का पालन करते हैं।
- यदि कमान जनरल निष्ठावान है, तो सभी निष्ठावान लेफ्टिनेंट उसके द्वारा भेजे गए आदेश का पालन करते हैं।
- कमान जनरल सहित से निश्चित कम अंश वाले विश्वासघाती हैं।
बीजान्टिन विफलता और नम्यता
कलन विधि या संचार प्रोटोकॉल में विफलताओं को तीन मुख्य प्रकारों में वर्गीकृत किया जा सकता है:
- एल्गोरिदम में और निष्पादन चरण उठाने में विफलता: इसे सामान्यतः "विफल अवरोध" दोष के रूप में जाना जाता है।
- ठीक रूप से निष्पादित करने में यादृच्छिक विफलता: इसे यादृच्छिक त्रुटि या यादृच्छिक बीजान्टिन त्रुटि कहा जाता है।
- एक यादृच्छिक विफलता जहां एल्गोरिदम चरणों को ठीक रूप से निष्पादित करने में विफल रहता है (सामान्यतः कुछ विरोधियों द्वारा पूरे एल्गोरिदम को विफल करने के लिए चालाक विधि से) जिसमें पिछले दो प्रकार के दोष भी सम्मिलित होते हैं; इसे बीजान्टिन दोष कहा जाता है।
बीजान्टिन नम्यता या बीजान्टिन दोष सहिष्णुता प्रोटोकॉल या एल्गोरिदम एल्गोरिदम है जो ऊपर उल्लिखित सभी प्रकार की विफलताओं के लिए दृढ है। उदाहरण के लिए, कई निरर्थक प्रोसेसर वाले अंतरिक्ष शटल को देखते हुए, यदि प्रोसेसर परस्पर विरोधी डेटा देते हैं, तो कौन से प्रोसेसर या प्रोसेसर के समूह पर विश्वास किया जाना चाहिए? हल को बीजान्टिन दोष सहिष्णुता प्रोटोकॉल के रूप में तैयार किया जा सकता है।
एल्गोरिदम का स्केच
हम यहां अतुल्यकाली एल्गोरिदम का स्केच बनाएंगे[1] एल्गोरिदम दो चरणों में कार्य करता है:
- चरण 1 (संचार चरण):
- इस चक्कर में सभी संदेश भेजे और प्राप्त किए जाते हैं।
- सिक्का उछालने का प्रोटोकॉल ऐसी प्रक्रिया है जो दो पक्षों A और B को, जो एक-दूसरे पर विश्वास नहीं करते हैं, किसी विशेष वस्तु को जीतने के लिए सिक्का उछालने की अनुमति देती है।
सिक्का उछालने के प्रोटोकॉल दो प्रकार के होते हैं
- क्वांटम सिक्का फ़्लिपिंग प्रोटोकॉल:[4] दो खिलाड़ी A और B प्रारंभ में बिना किसी इनपुट के प्रारंभ करते हैं और उन्हें कुछ मान की गणना करनी होती है और किसी पर भी छल का आरोप लगाने में सक्षम होना होता है। यदि A और B परिणाम पर सहमत हों तो प्रोटोकॉल सफल होता है। परिणाम 0 को A की जीत और 1 को B की जीत के रूप में परिभाषित किया गया है। प्रोटोकॉल में निम्नलिखित गुण हैं:
- यदि दोनों खिलाड़ी ईमानदार हैं (वे प्रोटोकॉल का पालन करते हैं), तो वे के साथ प्रोटोकॉल के परिणाम पर सहमत होते हैं।
- यदि खिलाड़ियों में से एक ईमानदार है (अर्थात, दूसरा खिलाड़ी अपने स्थानीय गणना में प्रोटोकॉल से यादृच्छिक रूप से विचलन कर सकता है), तो दूसरा पक्ष अधिकतम की संभावना के साथ जीतता है। दूसरे शब्दों में, यदि B कुटिल है, तो , और यदि A कुटिल है, तो .
- एक क्वांटम सिक्का फ़्लिपिंग: दृढ सिक्का फ़्लिपिंग प्रोटोकॉल में, लक्ष्य इसके अतिरिक्त यादृच्छिक बिट उत्पन्न करना है जो किसी विशेष मान 0 या 1 से दूर पक्षपाती है। स्पष्ट रूप से, पूर्वाग्रह के साथ कोई भी दृढ सिक्का फ़्लिपिंग प्रोटोकॉल उसी पूर्वाग्रह के साथ दुर्बल सिक्का फ़्लिपिंग की ओर ले जाता है।
सत्यापन योग्य गुप्त साझाकरण
- एक सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल: A (n,k) गुप्त साझाकरण प्रोटोकॉल n खिलाड़ियों के समूह को गुप्त साझा करने की अनुमति देता है, जैसे कि मात्र के या अधिक खिलाड़ियों का कोरम ही गुप्त की खोज कर सकता है। गुप्त को साझा करने (गुप्त टुकड़ों को वितरित करने) वाले खिलाड़ी को सामान्यतः डीलर के रूप में जाना जाता है। सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल बुनियादी गुप्त साझाकरण प्रोटोकॉल से भिन्न होता है जिसमें खिलाड़ी यह सत्यापित कर सकते हैं कि दुर्भावनापूर्ण डीलर की उपस्थिति में भी उनके शेयर सुसंगत हैं।
फेल-स्टॉप प्रोटोकॉल
खिलाड़ी के लिए प्रोटोकॉल क्वांटम सिक्का फ्लिप
- राउंड 1 GHZ स्थिति उत्पन्न करता है पर qubits और भेजें वें qubit को वें खिलाड़ी भाग रखता है
- राज्य उत्पन्न करें पर क्यूडिट्स (क्वांटम-कंप्यूटिंग घटक जो कई क्वैबिट से सुसंगत हैं), 1 और के बीच की संख्याओं का समान सुपरपोजिशन . वितरित करें सभी खिलाड़ियों के बीच बातचीत[1]# सभी खिलाड़ियों से क्वांटम संदेश प्राप्त करें और अगले संचार दौर की प्रतीक्षा करें, इस प्रकार प्रतिद्वंद्वी को यह चुनने के लिए मजबूर किया जाए कि कौन से संदेश पारित किए गए थे।
- राउंड 2: सभी को मापें (मानक आधार में)। राउंड I में प्राप्त क्विबिट्स। राउंड के लीडर के रूप में उच्चतम लीडर वैल्यू (यादृच्छिक रूप से टूटे हुए संबंध) वाले खिलाड़ी का चयन करें। मानक आधार में नेता के सिक्के को मापें।
- क्वांटमकॉइनफ्लिप प्रोटोकॉल का आउटपुट समूह करें: = नेता के सिक्के का माप परिणाम.
बीजान्टिन प्रोटोकॉल
एक यादृच्छिक सिक्का उत्पन्न करने के लिए प्रत्येक खिलाड़ी को [0,n-1] श्रेणी में पूर्णांक निर्दिष्ट करें और प्रत्येक खिलाड़ी को अपना स्वयं का चयन करने की अनुमति नहीं है प्रत्येक खिलाड़ी के रूप में यादृच्छिक आईडी यादृच्छिक संख्या का चयन करता है हर दूसरे खिलाड़ी के लिए और इसे सत्यापन योग्य गुप्त साझाकरण योजना का उपयोग करके वितरित करता है।
इस चरण के अंत में खिलाड़ी इस बात पर सहमत होते हैं कि कौन से गुप्त ठीक से साझा किए गए थे, फिर गुप्त खोले जाते हैं और प्रत्येक खिलाड़ी मान निर्दिष्ट किया गया है
इसके लिए निजी सूचना चैनलों की आवश्यकता होती है इसलिए हम यादृच्छिक गोपनीयता को सुपरपोज़िशन से बदल देते हैं . जिसमें राज्य को क्वांटम सत्यापन योग्य गुप्त साझाकरण प्रोटोकॉल (क्यूवीएसएस) का उपयोग करके n्कोड किया गया है।[5] हम राज्य का वितरण नहीं कर सकते चूँकि बुरे खिलाड़ी राज्य को ध्वस्त कर सकते हैं। बुरे खिलाड़ियों को ऐसा करने से रोकने के लिए हम क्वांटम सत्यापन योग्य गुप्त साझाकरण (क्यूवीएसएस) का उपयोग करके राज्य को n्कोड करते हैं और प्रत्येक खिलाड़ी को उनके भाग का गुप्त भेजते हैं। यहां फिर से सत्यापन के लिए बीजान्टिन समझौते की आवश्यकता है, लेकिन ग्रेड-कास्ट प्रोटोकॉल द्वारा समझौते को प्रतिस्थापित करना पर्याप्त है।[6][7]
ग्रेड-कास्ट प्रोटोकॉल
ग्रेड-कास्ट प्रोटोकॉल में परिभाषाओं का उपयोग करते हुए निम्नलिखित गुण होते हैं [6]अनौपचारिक रूप से, ग्रेडेड प्रसारण (कंप्यूटिंग) प्रोटोकॉल प्रोटोकॉल है जिसमें निर्दिष्ट खिलाड़ी होता है जिसे "डीलर" (वह जो प्रसारण करता है) कहा जाता है:
- अगर डीलर अच्छा है तो सभी खिलाड़ियों को जैसा संदेश मिलता है.
- भले ही डीलर बुरा हो, अगर कोई अच्छा खिलाड़ी संदेश स्वीकार करता है, तो सभी अच्छे खिलाड़ियों को ही संदेश मिलता है (लेकिन वे इसे स्वीकार कर भी सकते हैं और नहीं भी)।
एक प्रोटोकॉल पी को श्रेणीबद्ध प्रसारण प्राप्त करने के लिए कहा जाता है, यदि प्रोटोकॉल की प्रारंभ में, नामित खिलाड़ी डी (डीलर कहा जाता है) मान वी रखता है, और प्रोटोकॉल के अंत में, प्रत्येक खिलाड़ी जोड़ी आउटपुट करता है जैसे कि निम्नलिखित गुण मौजूद हों:
- यदि D ईमानदार है, तो = वी और = प्रत्येक ईमानदार खिलाड़ी के लिए 2 .
- किन्हीं दो ईमानदार खिलाड़ियों के लिए और .
- (स्थिरता) किन्हीं दो ईमानदार खिलाड़ियों के लिए और , अगर और , तब .
के लिए क्यूवीएसएस प्रोटोकॉल का सत्यापन चरण यह गारंटी देता है कि अच्छे डीलर के लिए सही स्थिति को n्कोड किया जाएगा, और किसी भी, संभवतः दोषपूर्ण डीलर के लिए, पुनर्प्राप्ति चरण के दौरान कुछ विशेष स्थिति को पुनर्प्राप्त किया जाएगा। हम ध्यान दें कि हमारे बीजान्टिन क्वांटम सिक्का फ्लिप प्रोटोकॉल के प्रयोजन के लिए पुनर्प्राप्ति चरण बहुत सरल है। प्रत्येक खिलाड़ी QVSS के अपने भाग को मापता है और अन्य सभी खिलाड़ियों को शास्त्रीय मान भेजता है। सत्यापन चरण, उच्च संभावना के साथ, की उपस्थिति की गारंटी देता है दोषपूर्ण खिलाड़ी, सभी अच्छे खिलाड़ी समान शास्त्रीय मान पुनर्प्राप्त करेंगे (जो वही मान है जो n्कोडेड स्थिति के प्रत्यक्ष माप के परिणामस्वरूप होगा)।
टिप्पणियाँ
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.