अल्गोरंड: क्रिप्टोकरेंसी के लिए बीजान्टिन समझौतों का विस्तार
सारांश
सार्वजनिक बही-खाता डेटा का एक छेड़छाड़-रोधी अनुक्रम है जिसे हर कोई पढ़ सकता है और बढ़ा सकता है। सार्वजनिक बहीखातों के असंख्य और आकर्षक उपयोग हैं। वे स्पष्ट दृष्टि से सभी प्रकार की सुरक्षा कर सकते हैं लेन-देन - जैसे शीर्षक, बिक्री और भुगतान - ठीक उसी क्रम में जिसमें वे घटित होते हैं। सार्वजनिक बहीखाता न केवल भ्रष्टाचार पर अंकुश लगाता है, बल्कि बहुत परिष्कृत अनुप्रयोगों को भी सक्षम बनाता है - जैसे क्रिप्टोकरेंसी और smart contracts। वे एक लोकतांत्रिक समाज में क्रांति लाने के लिए खड़े हैं संचालित होता है. हालाँकि, जैसा कि वर्तमान में लागू किया गया है, वे खराब पैमाने पर हैं और अपनी क्षमता हासिल नहीं कर सकते हैं। Algorand सार्वजनिक बहीखाता को लागू करने का वास्तव में लोकतांत्रिक और कुशल तरीका है। पहले के विपरीत कार्य के प्रमाण के आधार पर कार्यान्वयन के लिए नगण्य मात्रा में गणना की आवश्यकता होती है, और एक लेन-देन इतिहास उत्पन्न करता है जो अत्यधिक संभावना के साथ "कांटा" नहीं करेगा। Algorand (एक उपन्यास और सुपर फास्ट) संदेश-पासिंग बीजान्टिन समझौते पर आधारित है। संक्षिप्तता के लिए, हम Algorand को केवल एक धन मंच के रूप में वर्णित करेंगे।
परिचय
पैसा तेजी से आभासी होता जा रहा है। यह अनुमान लगाया गया है कि संयुक्त राज्य अमेरिका का लगभग 80% डॉलर आज केवल बही प्रविष्टियों [5] के रूप में मौजूद हैं। अन्य वित्तीय साधन भी इसका अनुसरण कर रहे हैं। एक आदर्श दुनिया में, जिसमें हम सार्वभौमिक रूप से भरोसेमंद केंद्रीय इकाई, प्रतिरक्षा पर भरोसा कर सकते हैं सभी संभावित साइबर हमलों के लिए, धन और अन्य वित्तीय लेनदेन पूरी तरह से इलेक्ट्रॉनिक हो सकते हैं। दुर्भाग्य से, हम ऐसी दुनिया में नहीं रहते हैं। तदनुसार, विकेंद्रीकृत क्रिप्टोकरेंसी, जैसे जैसे Bitcoin [29], और "smart contract" सिस्टम, जैसे Ethereum, प्रस्तावित किए गए हैं [4]। पर इन प्रणालियों का हृदय एक साझा खाता बही है जो लेन-देन के क्रम को विश्वसनीय रूप से रिकॉर्ड करता है, ∗यह दूसरे लेखक [24], एक पेपर द्वारा ArXiv पेपर का अधिक औपचारिक (और अतुल्यकालिक) संस्करण है स्वयं गोर्बुनोव और मिकाली [18] पर आधारित है। Algorand की प्रौद्योगिकियाँ निम्नलिखित का उद्देश्य हैं पेटेंट आवेदन: US62/117,138 US62/120,916 US62/142,318 US62/218,817 US62/314,601 PCT/US2016/018300 यूएस62/326,865 62/331,654 यूएस62/333,340 यूएस62/343,369 यूएस62/344,667 यूएस62/346,775 यूएस62/351,011 यूएस62/653,482 US62/352,195 US62/363,970 US62/369,447 US62/378,753 US62/383,299 US62/394,091 US62/400,361 US62/403,403 US62/410,721 US62/416,959 US62/422,883 US62/455,444 US62/458,746 US62/459,652 US62/460,928 US62/465,931भुगतान और अनुबंधों के रूप में विविध, छेड़छाड़ रहित तरीके से। पसंद की तकनीक ऐसी छेड़छाड़रोधी गारंटी blockchain है। ब्लॉकचेन जैसे अनुप्रयोगों के पीछे हैं क्रिप्टोकरेंसी [29], वित्तीय अनुप्रयोग [4], और इंटरनेट ऑफ थिंग्स [3]। कई तकनीकें blockchain-आधारित बही-खातों को प्रबंधित करने के लिए प्रस्तावित किया गया है: कार्य का प्रमाण [29], हिस्सेदारी का प्रमाण [2], व्यावहारिक बीजान्टिन दोष-सहिष्णुता [8], या कुछ संयोजन। हालाँकि, वर्तमान में, बही-खाता प्रबंधन करने में अक्षम हो सकते हैं। उदाहरण के लिए, Bitcoin का proof-of-work दृष्टिकोण ([14] की मूल अवधारणा पर आधारित) के लिए बड़ी मात्रा में गणना की आवश्यकता होती है, यह बेकार है और स्केल ख़राब [1]। इसके अलावा, यह वास्तव में बहुत कम हाथों में शक्ति केंद्रित करता है। इसलिए हम सार्वजनिक बही-खाता को लागू करने के लिए एक नई विधि सामने रखना चाहते हैं जो प्रदान करता है एक विश्वसनीय और अनुल्लंघनीय प्राधिकारी द्वारा संचालित केंद्रीकृत प्रणाली की सुविधा और दक्षता, बिना वर्तमान विकेंद्रीकृत कार्यान्वयन की अक्षमताएं और कमजोरियां। हम अपना दृष्टिकोण कहते हैं Algorand, क्योंकि हम अब तक बनाए गए बहीखाते के आधार पर चयन करने के लिए एल्गोरिथम यादृच्छिकता का उपयोग करते हैं, सत्यापनकर्ताओं का एक समूह जो वैध लेनदेन के अगले ब्लॉक के निर्माण के प्रभारी हैं। स्वाभाविक रूप से, हम यह सुनिश्चित करते हैं कि इस तरह के चयन हेरफेर से सुरक्षित और अप्रत्याशित हों अंतिम मिनट, लेकिन यह भी कि वे अंततः सार्वभौमिक रूप से स्पष्ट हैं। Algorand का दृष्टिकोण काफी लोकतांत्रिक है, इस अर्थ में कि यह न तो सैद्धांतिक रूप से और न ही वास्तव में उपयोगकर्ताओं के विभिन्न वर्ग बनाता है (Bitcoin में "खनिक" और "सामान्य उपयोगकर्ता" के रूप में)। Algorand में “सभी शक्ति सभी उपयोगकर्ताओं के समूह के पास रहती है।” Algorand की एक उल्लेखनीय संपत्ति यह है कि इसका लेनदेन इतिहास केवल बहुत छोटे से ही कांटा जा सकता है संभाव्यता (उदाहरण के लिए, ट्रिलियन में से एक, यानी, या यहां तक कि 10−18)। Algorand कुछ कानूनी समाधान भी दे सकता है और राजनीतिक चिंताएँ। Algorand दृष्टिकोण blockchain पर लागू होता है और, अधिक सामान्यतः, उत्पादन की किसी भी विधि पर लागू होता है ब्लॉकों का छेड़छाड़रोधी अनुक्रम। हमने वास्तव में एक नई विधि सामने रखी है - और का विकल्प blockchains से अधिक कुशल - जो स्वतंत्र हित का हो सकता है। 1.1 Bitcoin की धारणा और तकनीकी समस्याएं Bitcoin एक बहुत ही सरल प्रणाली है और इसने बाद के कई शोधों को प्रेरित किया है। फिर भी, यह समस्याग्रस्त भी है. आइए हम इसकी अंतर्निहित धारणा और तकनीकी समस्याओं को संक्षेप में प्रस्तुत करें-जो वास्तव में अनिवार्य रूप से सभी क्रिप्टोकरेंसी द्वारा साझा किए जाते हैं, जो Bitcoin की तरह, proof-of-work पर आधारित होते हैं। इस सारांश के लिए, यह याद रखना पर्याप्त है कि, Bitcoin में, एक उपयोगकर्ता के पास एकाधिक सार्वजनिक कुंजियाँ हो सकती हैं एक डिजिटल हस्ताक्षर योजना में, वह पैसा सार्वजनिक कुंजी से जुड़ा होता है, और वह एक भुगतान है डिजिटल हस्ताक्षर जो कुछ धनराशि को एक सार्वजनिक कुंजी से दूसरे में स्थानांतरित करता है। मूलतः, Bitcoin सभी संसाधित भुगतानों को ब्लॉक, B1, B2, की श्रृंखला में व्यवस्थित करता है। . ., प्रत्येक में एकाधिक शामिल हैं भुगतान, जैसे कि, B1 के सभी भुगतान, किसी भी क्रम में लिए गए, उसके बाद B2 के सभी भुगतान, किसी भी क्रम में, आदि, वैध भुगतानों का एक क्रम बनाते हैं। प्रत्येक ब्लॉक औसतन हर 10 मिनट में उत्पन्न होता है। ब्लॉकों का यह क्रम एक श्रृंखला है, क्योंकि इसे इस तरह से संरचित किया गया है कि यह सुनिश्चित किया जा सके कि कोई भी बदलाव हो एक ही ब्लॉक में, बाद के सभी ब्लॉकों में फैल जाता है, जिससे किसी भी बदलाव को पहचानना आसान हो जाता है भुगतान इतिहास. (जैसा कि हम देखेंगे, यह प्रत्येक ब्लॉक में एक क्रिप्टोग्राफ़िक को शामिल करके हासिल किया जाता है पिछले वाले का hash।) ऐसी ब्लॉक संरचना को blockchain कहा जाता है। धारणा: कम्प्यूटेशनल शक्ति का ईमानदार बहुमत Bitcoin मानता है कि कोई दुर्भावनापूर्ण नहीं है इकाई (न ही समन्वित दुर्भावनापूर्ण संस्थाओं का गठबंधन) अधिकांश कम्प्यूटेशनल को नियंत्रित करती है ब्लॉक उत्पादन के लिए समर्पित शक्ति। ऐसी इकाई, वास्तव में, blockchain को संशोधित करने में सक्षम होगी,और इस प्रकार भुगतान इतिहास को फिर से लिखें, जैसा वह चाहे। विशेष रूप से, यह भुगतान कर सकता है \(\wp\), भुगतान किए गए लाभ प्राप्त करें, और फिर \(\wp\) का कोई भी निशान "मिटा" दें। तकनीकी समस्या 1: कम्प्यूटेशनल अपशिष्ट ब्लॉक करने के लिए Bitcoin का proof-of-work दृष्टिकोण पीढ़ी को असाधारण मात्रा में गणना की आवश्यकता होती है। वर्तमान में, केवल कुछ सौ के साथ सिस्टम में हजारों सार्वजनिक कुंजियाँ, शीर्ष 500 सबसे शक्तिशाली सुपर कंप्यूटर ही जुटा सकते हैं Bitcoin खिलाड़ियों से आवश्यक कुल कम्प्यूटेशनल शक्ति का मात्र 12.8% प्रतिशत। यह गणना की मात्रा बहुत बढ़ जाएगी, यदि अधिक उपयोगकर्ता सिस्टम में शामिल हो जाएं। तकनीकी समस्या 2: शक्ति का संकेन्द्रण आज अत्यधिक मात्रा के कारण गणना की आवश्यकता है, एक उपयोगकर्ता, एक साधारण डेस्कटॉप का उपयोग करके एक नया ब्लॉक उत्पन्न करने का प्रयास कर रहा है (अकेले एक को छोड़ दें)। सेल फोन), पैसे खोने की उम्मीद है। दरअसल, एक साधारण कंप्यूटर के साथ एक नए ब्लॉक की गणना करने के लिए, गणना को बिजली देने के लिए आवश्यक बिजली की अपेक्षित लागत अपेक्षित इनाम से अधिक है। केवल विशेष रूप से निर्मित कंप्यूटरों के पूल का उपयोग करना (जो "नए ब्लॉकों को माइन करने" के अलावा कुछ नहीं करते हैं), एक नए ब्लॉक उत्पन्न करके लाभ कमाने की उम्मीद कर सकते हैं। तदनुसार, आज वस्तुतः दो हैं उपयोगकर्ताओं के असंयुक्त वर्ग: सामान्य उपयोगकर्ता, जो केवल भुगतान करते हैं, और विशेष खनन पूल, वह केवल नए ब्लॉक की खोज करता है। इसलिए यह आश्चर्य की बात नहीं होनी चाहिए कि, हाल ही में, ब्लॉक के लिए कुल कंप्यूटिंग शक्ति पीढ़ी केवल पाँच पूलों के भीतर है। ऐसी स्थितियों में, यह धारणा कि अधिकांश कम्प्यूटेशनल शक्ति ईमानदार है कम विश्वसनीय हो जाता है। तकनीकी समस्या 3: अस्पष्टता Bitcoin में, blockchain आवश्यक रूप से अद्वितीय नहीं है। सचमुच इसका नवीनतम भाग अक्सर द्विभाजित होता है: blockchain हो सकता है - मान लीजिए- B1,। . . , बीके, बी' के+1, बी' k+2, के अनुसार एक उपयोगकर्ता, और B1, . . . , बीके, बी'' के+1, बी'' के+2, बी'' एक अन्य उपयोगकर्ता के अनुसार k+3। कई ब्लॉक होने के बाद ही श्रृंखला में जोड़ा गया है, क्या कोई यथोचित रूप से आश्वस्त हो सकता है कि पहले k + 3 ब्लॉक समान होंगे सभी उपयोगकर्ताओं के लिए. इस प्रकार, कोई भी अंतिम ब्लॉक में शामिल भुगतानों पर तुरंत भरोसा नहीं कर सकता है श्रृंखला. यह इंतजार करना और देखना अधिक विवेकपूर्ण है कि क्या ब्लॉक पर्याप्त गहराई तक जाता है blockchain और इस प्रकार पर्याप्त रूप से स्थिर। अलग से, कानून-प्रवर्तन और मौद्रिक-नीति संबंधी चिंताओं को भी Bitcoin.1 के बारे में उठाया गया है 1.2 Algorand, संक्षेप में सेटिंग Algorand बहुत कठिन सेटिंग में काम करता है। संक्षेप में, (ए) अनुमति रहित और अनुमति प्राप्त वातावरण। Algorand कुशलतापूर्वक और सुरक्षित रूप से भी काम करता है पूरी तरह से अनुमति रहित वातावरण में, जहां मनमाने ढंग से कई उपयोगकर्ताओं को इसमें शामिल होने की अनुमति दी जाती है सिस्टम को किसी भी समय, बिना किसी जाँच या किसी भी प्रकार की अनुमति के। बेशक, Algorand काम करता है अनुमति प्राप्त वातावरण में और भी बेहतर। 1Bitcoin भुगतान द्वारा दी गई (छद्म) गुमनामी का दुरुपयोग मनी लॉन्ड्रिंग और/या वित्तपोषण के लिए किया जा सकता है आपराधिक व्यक्तियों या आतंकवादी संगठनों का. पारंपरिक बैंकनोट या सोने की छड़ें, जो सिद्धांत रूप में उत्तम हैं गुमनामी को भी वही चुनौती पेश करनी चाहिए, लेकिन इन मुद्राओं की भौतिकता पैसे को काफी हद तक धीमा कर देती है स्थानांतरण, ताकि कानून-प्रवर्तन एजेंसियों द्वारा कुछ हद तक निगरानी की अनुमति दी जा सके। "पैसा छापने" की क्षमता किसी राष्ट्र राज्य की सबसे बुनियादी शक्तियों में से एक है। सिद्धांत रूप में, इसलिए, बड़े पैमाने पर स्वतंत्र रूप से चलने वाली मुद्रा को अपनाने से इस शक्ति में कमी आ सकती है। हालाँकि, वर्तमान में, Bitcoin होने से बहुत दूर है यह सरकारी मौद्रिक नीतियों के लिए ख़तरा है, और, इसकी स्केलेबिलिटी समस्याओं के कारण, यह कभी नहीं हो सकता है।(बी) बहुत प्रतिकूल वातावरण। Algorand एक बहुत शक्तिशाली प्रतिद्वंद्वी का सामना कर सकता है, जो कर सकता है (1) किसी भी उपयोगकर्ता को जब चाहे, तुरंत भ्रष्ट कर सकता है, बशर्ते कि, ए में अनुमति रहित वातावरण, सिस्टम में 2/3 पैसा ईमानदार उपयोगकर्ता का है। (ए में अनुमति प्राप्त वातावरण, पैसे की परवाह किए बिना, यह पर्याप्त है कि 2/3 उपयोगकर्ता ईमानदार हैं।) (2) सभी भ्रष्ट उपयोगकर्ताओं को पूरी तरह से नियंत्रित और समन्वयित करना; और (3) सभी संदेशों की डिलीवरी शेड्यूल करें, बशर्ते कि प्रत्येक संदेश एक ईमानदार उपयोगकर्ता द्वारा भेजा गया हो एक समय \(\lambda\)m के भीतर 95% ईमानदार उपयोगकर्ताओं तक पहुँच जाता है, जो पूरी तरह से m के आकार पर निर्भर करता है। मुख्य गुण हमारे शक्तिशाली प्रतिद्वंद्वी की उपस्थिति के बावजूद, Algorand में • आवश्यक गणना की मात्रा न्यूनतम है. मूलतः, इससे कोई फर्क नहीं पड़ता कि कितने उपयोगकर्ता हैं सिस्टम में मौजूद, पंद्रह सौ उपयोगकर्ताओं में से प्रत्येक को अधिकतम कुछ सेकंड का प्रदर्शन करना होगा गणना. • एक नया ब्लॉक 10 मिनट से भी कम समय में तैयार हो जाता है, और वास्तव में यह blockchain को कभी नहीं छोड़ेगा। उदाहरण के लिए, अपेक्षा में, पहले अवतार में ब्लॉक उत्पन्न करने का समय कम है Λ + 12.4\(\lambda\) से, जहां Λ एक सहकर्मी से सहकर्मी गपशप में एक ब्लॉक को प्रचारित करने के लिए आवश्यक समय है फैशन, इससे कोई फर्क नहीं पड़ता कि कोई कौन सा ब्लॉक आकार चुन सकता है, और \(\lambda\) 1,500 200Blong संदेशों को प्रसारित करने का समय है। (चूंकि वास्तव में विकेन्द्रीकृत प्रणाली में, Λ अनिवार्य रूप से एक आंतरिक विलंबता है Algorand ब्लॉक जेनरेशन में सीमित कारक नेटवर्क स्पीड है।) दूसरे अवतार में है वास्तव में प्रयोगात्मक रूप से परीक्षण किया गया (? द्वारा), यह दर्शाता है कि एक ब्लॉक 40 से कम में उत्पन्न होता है सेकंड. इसके अलावा, Algorand का blockchain केवल नगण्य संभावना (यानी, एक से कम) के साथ कांटा जा सकता है एक ट्रिलियन में), और इस प्रकार उपयोगकर्ता जितनी जल्दी हो सके एक नए ब्लॉक में निहित भुगतान पर रिले कर सकते हैं ब्लॉक प्रकट होता है. • सारी शक्ति स्वयं उपयोगकर्ताओं के पास रहती है। Algorand एक वास्तविक वितरित प्रणाली है। विशेष रूप से, कोई बहिर्जात संस्थाएं नहीं हैं (Bitcoin में "खनिक" के रूप में), जो लेनदेन को नियंत्रित कर सकें पहचाने जाते हैं. Algorand की तकनीकें। 1. एक नया और तेज़ बीजान्टिन समझौता प्रोटोकॉल। Algorand के माध्यम से एक नया ब्लॉक उत्पन्न करता है एक नया क्रिप्टोग्राफ़िक, संदेश-पासिंग, बाइनरी बीजान्टिन समझौता (बीए) प्रोटोकॉल, बीए⋆। प्रोटोकॉल BA⋆न केवल कुछ अतिरिक्त गुणों को संतुष्ट करता है (जिन पर हम जल्द ही चर्चा करेंगे), बल्कि यह बहुत तेज़ भी है। मोटे तौर पर कहा जाए तो, इसके बाइनरी-इनपुट संस्करण में 3-स्टेप लूप होता है, जिसमें मैं एक प्लेयर को सिंगल भेजता हूं अन्य सभी खिलाड़ियों को संदेश भेजें। अधिक के साथ पूर्ण और समकालिक नेटवर्क में निष्पादित 2/3 से अधिक खिलाड़ी ईमानदार हैं, संभावना > 1/3 के साथ, प्रत्येक लूप के बाद प्रोटोकॉल समाप्त होता है समझौता. (हम इस बात पर जोर देते हैं कि प्रोटोकॉल बीजान्टिन समझौते की मूल परिभाषा को संतुष्ट करता है) पीज़, शोस्ताक और लामपोर्ट [31], बिना किसी कमज़ोरी के।) Algorand हमारे विभिन्न संचार में सहमति तक पहुंचने के लिए इस बाइनरी बीए प्रोटोकॉल का लाभ उठाता है मॉडल, प्रत्येक नए ब्लॉक पर। इसके बाद सहमत ब्लॉक को एक निर्धारित संख्या के माध्यम से प्रमाणित किया जाता है उचित सत्यापनकर्ताओं के डिजिटल हस्ताक्षर, और नेटवर्क के माध्यम से प्रचारित। 2. क्रिप्टोग्राफ़िक सॉर्टिशन। हालाँकि बहुत तेज़, प्रोटोकॉल BA⋆ को आगे से फ़ायदा होगा लाखों उपयोगकर्ताओं द्वारा खेले जाने पर गति। तदनुसार, Algorand BA⋆के खिलाड़ियों को चुनता हैसभी उपयोगकर्ताओं के समूह का एक बहुत छोटा उपसमूह। एक अलग प्रकार की शक्ति की एकाग्रता से बचने के लिए समस्या, प्रत्येक नए ब्लॉक Br का निर्माण और सहमति BA⋆ के एक नए निष्पादन के माध्यम से की जाएगी, चयनित सत्यापनकर्ताओं के एक अलग सेट द्वारा, एसवी आर। सिद्धांत रूप में, ऐसे सेट का चयन करना उतना ही कठिन हो सकता है सीधे Br का चयन करना। हम इस संभावित समस्या का समाधान उस दृष्टिकोण से करते हैं जिसे हम गले लगाना कहते हैं मौरिस हर्लिही का व्यावहारिक सुझाव, क्रिप्टोग्राफ़िक सॉर्टिशन। वर्गीकरण का अभ्यास है पात्र व्यक्तियों के एक बड़े समूह में से यादृच्छिक रूप से अधिकारियों का चयन करना [6]। (सॉर्टिशन का अभ्यास किया गया था सदियों से: उदाहरण के लिए, एथेंस, फ़्लोरेंस और वेनिस के गणराज्यों द्वारा। आधुनिक न्यायिक में सिस्टम में, जूरी को चुनने के लिए अक्सर यादृच्छिक चयन का उपयोग किया जाता है। हाल ही में रैंडम सैंपलिंग भी की गई है डेविड चाउम द्वारा चुनाव की वकालत [9]।) एक विकेन्द्रीकृत प्रणाली में, निश्चित रूप से, चुनना प्रत्येक सत्यापनकर्ता सेट एसवी आर के सदस्यों को यादृच्छिक रूप से चुनने के लिए आवश्यक यादृच्छिक सिक्के समस्याग्रस्त हैं। इस प्रकार हम सभी उपयोगकर्ताओं की आबादी से प्रत्येक सत्यापनकर्ता सेट का चयन करने के लिए क्रिप्टोग्राफी का सहारा लेते हैं, एक तरह से जो स्वचालित होने की गारंटी देता है (यानी, किसी संदेश के आदान-प्रदान की आवश्यकता नहीं) और यादृच्छिक। संक्षेप में, हम पिछले ब्लॉक से स्वचालित रूप से निर्धारित करने के लिए एक क्रिप्टोग्राफ़िक फ़ंक्शन का उपयोग करते हैं Br−1, एक उपयोगकर्ता, नेता, नए ब्लॉक Br का प्रस्ताव करने का प्रभारी, और सत्यापनकर्ता सेट SV r, में नेता द्वारा प्रस्तावित ब्लॉक पर सहमति तक पहुंचने का आरोप। चूँकि दुर्भावनापूर्ण उपयोगकर्ता प्रभावित कर सकते हैं Br−1 की संरचना (उदाहरण के लिए, इसके कुछ भुगतानों को चुनकर), हम विशेष रूप से निर्माण और उपयोग करते हैं अतिरिक्त इनपुट ताकि यह साबित हो सके कि आरटी ब्लॉक के लिए लीडर और सत्यापनकर्ता सेट एसवी आर वास्तव में हैं बेतरतीब ढंग से चुना गया. 3. मात्रा (बीज) Qr. हम blockchain में अंतिम ब्लॉक Br−1 का उपयोग करते हैं स्वचालित रूप से अगले सत्यापनकर्ता सेट और नए ब्लॉक के निर्माण के प्रभारी नेता का निर्धारण करें ब्र. इस दृष्टिकोण के साथ चुनौती यह है कि, इसमें थोड़ा अलग भुगतान चुनकर पिछले दौर में, हमारा शक्तिशाली प्रतिद्वंद्वी अगले नेता पर जबरदस्त नियंत्रण हासिल कर लेता है। भले ही वह सिस्टम में केवल 1/1000 खिलाड़ियों/पैसे को नियंत्रित किया, वह यह सुनिश्चित कर सका कि सभी नेता हैं दुर्भावनापूर्ण. (अंतर्ज्ञान अनुभाग 4.1 देखें।) यह चुनौती सभी proof-of-stake दृष्टिकोणों के लिए केंद्रीय है, और, जहां तक हमारी जानकारी है, इसे अब तक संतोषजनक ढंग से हल नहीं किया जा सका है। इस चुनौती का सामना करने के लिए, हम जानबूझकर एक अलग और सावधानीपूर्वक निर्माण करते हैं और लगातार अद्यतन करते हैं परिभाषित मात्रा, Qr, जो न केवल अप्रत्याशित है, बल्कि हमारे द्वारा प्रभावशाली भी नहीं है शक्तिशाली प्रतिद्वंद्वी. हम Qr को rth बीज के रूप में संदर्भित कर सकते हैं, क्योंकि यह Qr से है जिसे Algorand चुनता है, गुप्त क्रिप्टोग्राफ़िक सॉर्टिशन के माध्यम से, सभी उपयोगकर्ता जो की पीढ़ी में एक विशेष भूमिका निभाएंगे आरटीएच ब्लॉक. 4. गुप्त क्रिप्टोग्राफ़िक सॉर्टिशन और गुप्त क्रेडेंशियल्स। सत्यापनकर्ता सेट और प्रभारी नेता को चुनने के लिए यादृच्छिक रूप से और स्पष्ट रूप से वर्तमान अंतिम ब्लॉक, Br−1 का उपयोग करें। नए ब्लॉक, बीआर का निर्माण पर्याप्त नहीं है। चूँकि Br उत्पन्न करने से पहले Br−1 ज्ञात होना चाहिए, Br−1 में निहित अंतिम गैर-प्रभावकारी मात्रा Qr−1 भी ज्ञात होनी चाहिए। तदनुसार, तो ब्लॉक ब्र की गणना करने के लिए सत्यापनकर्ता और प्रभारी नेता हैं। इस प्रकार, हमारा शक्तिशाली प्रतिद्वंद्वी इससे पहले कि वे ब्र के बारे में किसी भी चर्चा में शामिल हों, उन सभी को तुरंत भ्रष्ट कर सकते हैं, ताकि प्राप्त किया जा सके उनके द्वारा प्रमाणित ब्लॉक पर पूर्ण नियंत्रण। इस समस्या को रोकने के लिए, नेता (और वास्तव में सत्यापनकर्ता भी) गुप्त रूप से अपनी भूमिका सीखते हैं, लेकिन सीख सकते हैं एक उचित क्रेडेंशियल की गणना करें, जो हर किसी को यह साबित करने में सक्षम हो कि वास्तव में वह भूमिका है। कब एक उपयोगकर्ता को निजी तौर पर पता चलता है कि वह अगले ब्लॉक के लिए नेता है, पहले वह गुप्त रूप से अपने ब्लॉक को इकट्ठा करता है स्वयं प्रस्तावित नया ब्लॉक, और फिर अपने स्वयं के साथ मिलकर इसे प्रसारित करता है (ताकि प्रमाणित किया जा सके) साख. इस तरह, हालांकि प्रतिद्वंद्वी को तुरंत एहसास हो जाएगा कि अगला नेता कौन है ब्लॉक है, और यद्यपि वह उसे तुरंत भ्रष्ट कर सकता है, लेकिन प्रतिद्वंद्वी के लिए बहुत देर हो चुकी होगी नये ब्लॉक के चुनाव को प्रभावित करें। वास्तव में, वह अब नेता के संदेश को "वापस कॉल" नहीं कर सकताएक शक्तिशाली सरकार विकीलीक्स द्वारा वायरल रूप से फैलाए गए संदेश को वापस बोतल में बंद कर सकती है। जैसा कि हम देखेंगे, हम नेता की विशिष्टता की गारंटी नहीं दे सकते, न ही हर कोई निश्चित है कि नेता कौन है है, जिसमें स्वयं नेता भी शामिल हैं! लेकिन, Algorand में, स्पष्ट प्रगति की गारंटी दी जाएगी। 5. प्लेयर रिप्लेसमेंटेबिलिटी। एक नए ब्लॉक का प्रस्ताव करने के बाद, नेता "मर" भी सकता है (या हो सकता है)। विरोधी द्वारा भ्रष्ट), क्योंकि उसका काम पूरा हो गया है। लेकिन, एसवी आर में सत्यापनकर्ताओं के लिए चीजें कम हैं सरल. दरअसल, पर्याप्त संख्या में हस्ताक्षरों के साथ नए ब्लॉक बीआर को प्रमाणित करने का प्रभारी होने के नाते, उन्हें पहले नेता द्वारा प्रस्तावित ब्लॉक पर बीजान्टिन समझौता चलाना होगा। समस्या यह है कि, इससे कोई फर्क नहीं पड़ता कि यह कितना कुशल है, BA⋆ को कई कदमों और इसके 2/3 खिलाड़ियों की ईमानदारी की आवश्यकता होती है। यह एक समस्या है, क्योंकि, दक्षता कारणों से, BA⋆ के प्लेयर सेट में छोटा सेट SV r होता है सभी उपयोगकर्ताओं के समूह के बीच यादृच्छिक रूप से चुना गया। इस प्रकार, हमारा शक्तिशाली प्रतिद्वंद्वी, हालांकि असमर्थ है सभी उपयोगकर्ताओं में से 1/3 भ्रष्ट, निश्चित रूप से एसवी आर के सभी सदस्यों को भ्रष्ट कर सकते हैं! सौभाग्य से हम यह साबित कर देंगे कि प्रोटोकॉल BA⋆, जो पीयर-टॉपियर फैशन में संदेशों को प्रसारित करके निष्पादित होता है, प्लेयर-रिप्लेसेबल है। इस नवीन आवश्यकता का अर्थ है कि प्रोटोकॉल सही ढंग से और भले ही इसका प्रत्येक चरण पूरी तरह से नए और बेतरतीब ढंग से क्रियान्वित किया जाता है, फिर भी यह सर्वसम्मति तक प्रभावी ढंग से पहुंचता है और स्वतंत्र रूप से चयनित, खिलाड़ियों का सेट। इस प्रकार, लाखों उपयोगकर्ताओं के साथ, खिलाड़ियों का प्रत्येक छोटा समूह BA⋆के एक चरण से संबद्ध, संभवतः अगले सेट के साथ रिक्त प्रतिच्छेदन है। इसके अलावा, BA⋆ के विभिन्न चरणों के खिलाड़ियों के सेट में संभवतः पूरी तरह से अलग-अलग होंगे कार्डिनलिटीज़ इसके अलावा, प्रत्येक सेट के सदस्यों को यह नहीं पता होता है कि खिलाड़ियों का अगला सेट कौन होगा हो, और किसी भी आंतरिक स्थिति को गुप्त रूप से पारित न करें। बदली-खिलाड़ी संपत्ति वास्तव में गतिशील और बहुत शक्तिशाली को हराने के लिए महत्वपूर्ण है हम जिस प्रतिद्वंद्वी की परिकल्पना करते हैं। हमारा मानना है कि बदले जाने योग्य खिलाड़ी प्रोटोकॉल कई मामलों में महत्वपूर्ण साबित होंगे संदर्भ और अनुप्रयोग. विशेष रूप से, वे छोटे उप-प्रोटोकॉल को सुरक्षित रूप से निष्पादित करने के लिए महत्वपूर्ण होंगे एक गतिशील प्रतिद्वंद्वी के साथ खिलाड़ियों के एक बड़े ब्रह्मांड में अंतर्निहित, जो भ्रष्ट करने में भी सक्षम है कुल खिलाड़ियों का एक छोटा सा हिस्सा, छोटे खिलाड़ियों को भ्रष्ट करने में कोई कठिनाई नहीं है उप-प्रोटोकॉल. एक अतिरिक्त संपत्ति/तकनीक: आलसी ईमानदारी एक ईमानदार उपयोगकर्ता अपने निर्धारित का पालन करता है निर्देश, जिसमें ऑनलाइन होना और प्रोटोकॉल चलाना शामिल है। चूंकि, Algorand में केवल मामूली है गणना और संचार की आवश्यकता, ऑनलाइन होना और प्रोटोकॉल चलाना “में पृष्ठभूमि" कोई बड़ा बलिदान नहीं है। बेशक, ईमानदार खिलाड़ियों के बीच कुछ "अनुपस्थितियाँ" हैं कनेक्टिविटी के अचानक ख़त्म होने या रिबूट करने की आवश्यकता के कारण, स्वचालित रूप से सहन किया जाता है (क्योंकि हम ऐसे कुछ खिलाड़ियों को हमेशा अस्थायी रूप से दुर्भावनापूर्ण मान सकते हैं)। हालाँकि, आइए बताते हैं उस Algorand को आसानी से अनुकूलित किया जा सकता है ताकि एक नए मॉडल में काम किया जा सके, जिसमें ईमानदार उपयोगकर्ता हों अधिकांश समय ऑफ़लाइन. हमारे नए मॉडल को अनौपचारिक रूप से इस प्रकार पेश किया जा सकता है। आलसी ईमानदारी. मोटे तौर पर कहें तो, एक उपयोगकर्ता आलसी-लेकिन-ईमानदार है यदि (1) वह अपने सभी निर्धारित नियमों का पालन करता है निर्देश, जब उसे प्रोटोकॉल में भाग लेने के लिए कहा जाता है, और (2) उसे भाग लेने के लिए कहा जाता है प्रोटोकॉल के लिए शायद ही कभी, और एक उपयुक्त अग्रिम सूचना के साथ। ईमानदारी की ऐसी सहज धारणा के साथ, हम ईमानदार लोगों की तुलना में और भी अधिक आश्वस्त हो सकते हैं जब हमें उनकी आवश्यकता होती है, तो वे उपलब्ध होते हैं, और Algorand गारंटी देते हैं कि, जब ऐसा मामला हो, सिस्टम सुरक्षित रूप से संचालित होता है, भले ही, किसी निश्चित समय पर, भाग लेने वाले अधिकांश खिलाड़ी दुर्भावनापूर्ण हैं।1.3 निकट से संबंधित कार्य कार्य का प्रमाण दृष्टिकोण (जैसे उद्धृत [29] और [4]) हमारे लिए काफी रूढ़िवादी हैं। वैसे ही हैं संदेश-पारित करने वाले बीजान्टिन समझौते या व्यावहारिक बीजान्टिन दोष सहिष्णुता पर आधारित दृष्टिकोण (उद्धृत [8] की तरह)। वास्तव में, ये प्रोटोकॉल सभी उपयोगकर्ताओं के समूह के बीच नहीं चलाए जा सकते हैं और न ही, हमारे मॉडल में, उपयोगकर्ताओं के एक उपयुक्त छोटे समूह तक ही सीमित रहें। वास्तव में, हमारे शक्तिशाली प्रतिद्वंद्वी मेरे वास्तव में बीए प्रोटोकॉल चलाने के लिए चार्ज किए गए एक छोटे से सेट में शामिल सभी उपयोगकर्ताओं को तुरंत भ्रष्ट कर दें। हमारे दृष्टिकोण को हिस्सेदारी के प्रमाण [2] से संबंधित माना जा सकता है, इस अर्थ में कि उपयोगकर्ताओं की "शक्ति" ब्लॉक बिल्डिंग में सिस्टम में उनके पास मौजूद पैसे के समानुपाती होता है (जैसा कि कहा जाता है- के विपरीत)। जो पैसा उन्होंने "एस्क्रो" में लगाया है)। हमारे सबसे करीब का पेपर पास और शि [30] का स्लीपी कंसेंसस मॉडल है। से बचने के लिए proof-of-work दृष्टिकोण में भारी गणना की आवश्यकता होती है, उनका पेपर (और कृपया) पर निर्भर करता है क्रेडिट) Algorand की गुप्त क्रिप्टोग्राफ़िक सॉर्टिशन। इस महत्वपूर्ण पहलू को समान रूप से रखते हुए, अनेक हमारे पेपरों के बीच महत्वपूर्ण अंतर मौजूद हैं। विशेष रूप से, (1) उनकी सेटिंग की केवल अनुमति है। इसके विपरीत, Algorand भी एक अनुमति रहित प्रणाली है। (2) वे नाकामोटो-शैली प्रोटोकॉल का उपयोग करते हैं, और इस प्रकार उनके blockchain बार-बार फोर्क होते हैं। हालाँकि proof-of-work को त्यागते हुए, उनके प्रोटोकॉल में एक गुप्त रूप से चयनित नेता को लंबा करने के लिए कहा जाता है सबसे लंबे समय तक वैध (अधिक समृद्ध अर्थ में) blockchain। इस प्रकार, कांटे अपरिहार्य हैं और व्यक्ति को इसके लिए इंतजार करना होगा ब्लॉक श्रृंखला में पर्याप्त रूप से "गहरा" है। दरअसल, एक प्रतिद्वंद्वी के साथ अपने लक्ष्यों को प्राप्त करने के लिए अनुकूली भ्रष्टाचारों में सक्षम, उन्हें पॉली (एन) गहराई वाले एक ब्लॉक की आवश्यकता होती है, जहां एन का प्रतिनिधित्व करता है सिस्टम में उपयोगकर्ताओं की कुल संख्या. ध्यान दें, यह मानते हुए भी कि एक ब्लॉक का उत्पादन किया जा सकता है एक मिनट में, यदि N = 1M उपयोगकर्ता होते, तो लगभग 2M वर्षों तक प्रतीक्षा करनी पड़ती एक ब्लॉक को एन 2-डीप बनने में, और एक ब्लॉक को एन-डीप बनने में लगभग 2 साल लगते हैं। इसके विपरीत, Algorand का blockchain केवल नगण्य संभावना के साथ घूमता है, भले ही प्रतिद्वंद्वी भ्रष्ट हो उपयोगकर्ता तुरंत और अनुकूल रूप से, और इसके नए ब्लॉक पर तुरंत भरोसा किया जा सकता है। (3) वे व्यक्तिगत बीजान्टिन समझौतों को संभाल नहीं पाते हैं। एक तरह से, वे केवल गारंटी देते हैं "मूल्यों के बढ़ते अनुक्रम पर अंततः सहमति"। बल्कि उनका एक राज्य प्रतिकृति प्रोटोकॉल है बीए की तुलना में, और ब्याज के व्यक्तिगत मूल्य पर बीजान्टिन समझौते तक पहुंचने के लिए इसका उपयोग नहीं किया जा सकता है। इसके विपरीत, Algorand का उपयोग केवल एक बार ही किया जा सकता है, यदि चाहें तो लाखों उपयोगकर्ताओं को शीघ्रता से सक्षम बनाया जा सकता है ब्याज के एक विशिष्ट मूल्य पर बीजान्टिन समझौते पर पहुँचें। (4) उन्हें कमजोर सिंक्रनाइज़ घड़ियों की आवश्यकता होती है। अर्थात्, सभी उपयोगकर्ताओं की घड़ियाँ थोड़े समय के लिए निर्धारित होती हैं δ. इसके विपरीत, Algorand में, घड़ियों की केवल (अनिवार्य रूप से) समान "गति" होनी चाहिए। (5) उनका प्रोटोकॉल आलसी-लेकिन-ईमानदार उपयोगकर्ताओं या ऑनलाइन उपयोगकर्ताओं के ईमानदार बहुमत के साथ काम करता है। वे ईमानदार उपयोगकर्ताओं के मुद्दे को सामूहिक रूप से उठाने के लिए Algorand को श्रेय देते हैं, और इसके लिए प्रतिक्रिया में आलसी ईमानदारी मॉडल को सामने रखना। उनका प्रोटोकॉल न केवल आलसी में काम करता है ईमानदारी मॉडल, लेकिन उनके प्रतिकूल नींद मॉडल में भी, जहां एक प्रतिद्वंद्वी चुनता है कि कौन से उपयोगकर्ता हैं ऑनलाइन हैं और जो ऑफ़लाइन हैं, बशर्ते कि, हर समय, अधिकांश ऑनलाइन उपयोगकर्ता ईमानदार हों।2 2उनके पेपर के मूल संस्करण में वास्तव में उनके प्रतिकूल नींद वाले मॉडल में केवल सुरक्षा पर विचार किया गया था। द Algorand का मूल संस्करण, जो उनके पूर्ववर्ती है, में भी स्पष्ट रूप से यह मानते हुए परिकल्पना की गई है कि दिए गए बहुमत ऑनलाइन खिलाड़ी हमेशा ईमानदार होते हैं, लेकिन आलसी ईमानदारी मॉडल के पक्ष में इसे स्पष्ट रूप से विचार से बाहर रखा जाता है। (उदाहरण के लिए, यदि किसी समय आधे ईमानदार उपयोगकर्ता ऑफ़लाइन जाना चुनते हैं, तो अधिकांश उपयोगकर्ता ऑनलाइन दुर्भावनापूर्ण हो सकता है। इस प्रकार, ऐसा होने से रोकने के लिए, प्रतिद्वंद्वी को अपना अधिकांश बल लगाना चाहिए भ्रष्ट खिलाड़ियों को भी ऑफ़लाइन जाना होगा, जो स्पष्ट रूप से उनके अपने हित के विरुद्ध है।) ध्यान दें कि बहुमत के साथ एक प्रोटोकॉल यदि अधिकांश ऑन-लाइन उपयोगकर्ता हमेशा दुर्भावनापूर्ण होते हैं तो आलसी-लेकिन-ईमानदार खिलाड़ियों का समूह ठीक काम करता है। ऐसा इसलिए है, क्योंकि पर्याप्त संख्या में ईमानदार खिलाड़ी, यह जानते हुए कि किसी दुर्लभ समय में वे महत्वपूर्ण होंगे, चुनाव करेंगे उन क्षणों में ऑफ़लाइन नहीं जाना है, न ही उन्हें प्रतिद्वंद्वी द्वारा ऑफ़लाइन होने के लिए मजबूर किया जा सकता है, क्योंकि वह नहीं जानता कि कौन है महत्वपूर्ण ईमानदार खिलाड़ी हो सकते हैं।(6) उन्हें साधारण ईमानदार बहुमत की आवश्यकता है। इसके विपरीत, Algorand के वर्तमान संस्करण की आवश्यकता है 2/3 ईमानदार बहुमत। हमारे करीब एक और पेपर है ऑरोबोरोस: ए प्रोवेबली सिक्योर प्रूफ-ऑफ-स्टेक ब्लॉकचेन प्रोटोकॉल, कियियास, रसेल, डेविड और ओलिन्यकोव द्वारा [20]। साथ ही उनका सिस्टम हमारे बाद सामने आया। यह भी सिद्ध तरीके से काम का सबूत देने के लिए क्रिप्टोग्राफ़िक सॉर्टिशन का उपयोग करता है। हालाँकि, उनके सिस्टम, फिर से, एक नाकामोटो-शैली प्रोटोकॉल है, जिसमें कांटे अपरिहार्य और लगातार होते हैं। (हालांकि, उनके मॉडल में, ब्लॉक को स्लीपी-सर्वसम्मति मॉडल जितना गहरा होने की आवश्यकता नहीं है।) इसके अलावा, उनकी प्रणाली निम्नलिखित धारणाओं पर निर्भर करती है: स्वयं लेखकों के शब्दों में, “(1) द नेटवर्क अत्यधिक समकालिक है, (2) चयनित हितधारकों का बहुमत आवश्यकतानुसार उपलब्ध है प्रत्येक युग में भाग लेने के लिए, (3) हितधारक लंबे समय तक कार्यालय में नहीं रहते हैं, (4) भ्रष्टाचार की अनुकूलता एक छोटी देरी के अधीन है जिसे राउंड लीनियर में मापा जाता है सुरक्षा पैरामीटर।” इसके विपरीत, Algorand अत्यधिक संभावना के साथ, कांटा-मुक्त है, और इन चार धारणाओं में से किसी पर भी भरोसा नहीं करता। विशेष रूप से, Algorand में, प्रतिद्वंद्वी सक्षम है जिन उपयोगकर्ताओं को वह नियंत्रित करना चाहता है उन्हें तुरंत भ्रष्ट कर देता है।
प्रारंभिक
2.1 क्रिप्टोग्राफ़िक आदिम आदर्श हैशिंग. हम एक कुशल गणना योग्य क्रिप्टोग्राफ़िक hash फ़ंक्शन, H पर भरोसा करेंगे, जो कि मनमाने ढंग से लंबी स्ट्रिंग्स को निश्चित लंबाई की बाइनरी स्ट्रिंग्स में मैप करता है। हम एक लंबी परंपरा का अनुसरण करते हुए मॉडल बनाते हैं H एक यादृच्छिक oracle के रूप में, अनिवार्य रूप से एक फ़ंक्शन प्रत्येक संभावित स्ट्रिंग को यादृच्छिक रूप से मैप करता है और चुनी गई लंबाई की स्वतंत्र रूप से चयनित (और फिर तय की गई) बाइनरी स्ट्रिंग, एच(एस)। इस पेपर में, H के पास 256-बिट लंबे आउटपुट हैं। दरअसल, ऐसी लंबाई बनाने के लिए काफी कम है सिस्टम कुशल और सिस्टम को सुरक्षित बनाने के लिए पर्याप्त लंबा। उदाहरण के लिए, हम चाहते हैं कि H टकराव-लचीला हो। अर्थात्, दो अलग-अलग स्ट्रिंग x और y को इस प्रकार खोजना कठिन होना चाहिए कि H(x) = H(y)। जब H 256-बिट लंबे आउटपुट के साथ एक यादृच्छिक oracle है, तो स्ट्रिंग की ऐसी किसी भी जोड़ी को ढूंढना वास्तव में है कठिन. (यादृच्छिक रूप से प्रयास करने और जन्मदिन विरोधाभास पर भरोसा करने के लिए 2256/2 = 2128 की आवश्यकता होगी परीक्षण।) डिजिटल हस्ताक्षर. डिजिटल हस्ताक्षर उपयोगकर्ताओं को एक दूसरे को जानकारी प्रमाणित करने की अनुमति देते हैं किसी भी गुप्त कुंजी को साझा किए बिना। एक डिजिटल हस्ताक्षर योजना में तीन चरण शामिल हैं एल्गोरिदम: एक संभाव्य कुंजी जनरेटर जी, एक हस्ताक्षर एल्गोरिथ्म एस, और एक सत्यापन एल्गोरिदम वी। सुरक्षा पैरामीटर k को देखते हुए, एक पर्याप्त उच्च पूर्णांक, एक उपयोगकर्ता i एक जोड़ी बनाने के लिए G का उपयोग करता है के-बिट कुंजी (यानी, स्ट्रिंग्स): एक "सार्वजनिक" कुंजी पीकी और एक मिलान "गुप्त" साइनिंग कुंजी स्की। महत्वपूर्ण रूप से, ए सार्वजनिक कुंजी अपनी संबंधित गुप्त कुंजी के साथ "विश्वासघात" नहीं करती है। यानी पीकेआई का ज्ञान भी दिया, नहीं मेरे अलावा एक और खगोलीय समय से भी कम समय में स्की की गणना करने में सक्षम है। उपयोगकर्ता I संदेशों पर डिजिटल रूप से हस्ताक्षर करने के लिए स्की का उपयोग करता है। प्रत्येक संभावित संदेश (बाइनरी स्ट्रिंग) के लिए, मैं पहले hashes m और फिर इनपुट H(m) और स्की पर एल्गोरिदम S चलाता है ताकि k-बिट स्ट्रिंग का उत्पादन किया जा सके सिगपकी(एम) \(\triangleq\)एस(एच(एम), स्की) .3 3चूंकि एच टकराव-लचीला है, इसलिए यह व्यावहारिक रूप से असंभव है कि, एम पर हस्ताक्षर करके कोई "गलती से हस्ताक्षर" कर दे। संदेश एम'.बाइनरी स्ट्रिंग sigpki(m) को i के m के डिजिटल हस्ताक्षर (pki के सापेक्ष) के रूप में संदर्भित किया जाता है, और हो सकता है इसे अधिक सरलता से सिगी(एम) द्वारा दर्शाया जाता है, जब सार्वजनिक कुंजी पीकेआई संदर्भ से स्पष्ट होती है। पीकेआई को जानने वाला हर कोई इसका उपयोग आई द्वारा उत्पादित डिजिटल हस्ताक्षरों को सत्यापित करने के लिए कर सकता है। विशेष रूप से, पर इनपुट (ए) एक खिलाड़ी की सार्वजनिक कुंजी पीकेआई, (बी) एक संदेश एम, और (सी) एक स्ट्रिंग एस, यानी, मैं कथित हूं संदेश m के डिजिटल हस्ताक्षर, सत्यापन एल्गोरिथ्म V या तो हाँ या नहीं आउटपुट देता है। डिजिटल हस्ताक्षर योजना के लिए हमें जिन संपत्तियों की आवश्यकता है वे हैं: 1. वैध हस्ताक्षर हमेशा सत्यापित होते हैं: यदि s = sigi(m), तो V (pki, m, s) = Y ES; और 2. डिजिटल हस्ताक्षर बनाना कठिन है: स्की के ज्ञान के बिना ऐसी स्ट्रिंग ढूंढने का समय वह V (pki, m, s) = Y ES, एक संदेश के लिए m जिस पर i द्वारा कभी हस्ताक्षर नहीं किया गया है, खगोलीय रूप से लंबा है। (गोल्डवेसर, मिकाली और रिवेस्ट [17] की मजबूत सुरक्षा आवश्यकता के बाद, यह सच है भले ही कोई किसी अन्य संदेश के हस्ताक्षर प्राप्त कर सकता है।) तदनुसार, किसी अन्य को उसकी ओर से संदेशों पर हस्ताक्षर करने से रोकने के लिए, मुझे उसका एक खिलाड़ी रखना होगा हस्ताक्षर कुंजी स्की रहस्य (इसलिए शब्द "गुप्त कुंजी"), और किसी को भी संदेशों को सत्यापित करने में सक्षम बनाना वह हस्ताक्षर करता है, मुझे उसकी कुंजी पीकी (इसलिए शब्द "सार्वजनिक कुंजी") को प्रचारित करने में रुचि है। सामान्य तौर पर, एक संदेश m को उसके हस्ताक्षर sigi(m) से पुनर्प्राप्त नहीं किया जा सकता है। वस्तुतः सौदा करने के लिए डिजिटल हस्ताक्षरों के साथ जो वैचारिक रूप से सुविधाजनक "पुनर्प्राप्ति" संपत्ति (यानी, को) को संतुष्ट करते हैं हम गारंटी देते हैं कि हस्ताक्षरकर्ता और संदेश की गणना हस्ताक्षर से आसानी से की जा सकती है SIGpki(m) = (i, m, sigpki(m)) और SIGi(m) = (i, m, sigi(m)), यदि pki स्पष्ट है। अद्वितीय डिजिटल हस्ताक्षर. हम डिजिटल हस्ताक्षर योजनाओं (जी, एस, वी) को भी संतुष्ट करने पर विचार करते हैं अतिरिक्त संपत्ति के बाद. 3. विशिष्टता. ऐसे तार pk', m, s, और s' ढूँढना कठिन है s ̸= s′ और वी (पीके′, एम, एस) = वी (पीके′, एम, एस′) = 1. (ध्यान दें कि अद्वितीयता गुण उन स्ट्रिंग्स pk′ के लिए भी लागू होता है जो वैध रूप से उत्पन्न नहीं होती हैं सार्वजनिक कुंजियाँ. विशेष रूप से, हालांकि, विशिष्टता संपत्ति का तात्पर्य यह है कि, यदि किसी ने इसका उपयोग किया है एक मिलान गुप्त कुंजी एसके के साथ एक सार्वजनिक कुंजी पीके की गणना करने के लिए निर्दिष्ट कुंजी जेनरेटर जी, और इस प्रकार एसके को पता था, उसके लिए दो अलग-अलग डिजिटल ढूंढना भी अनिवार्य रूप से असंभव होगा पीके के सापेक्ष एक ही संदेश के हस्ताक्षर।) टिप्पणियाँ • अद्वितीय हस्ताक्षरों से लेकर सत्यापन योग्य यादृच्छिक कार्यों तक। एक डिजिटल से संबंधित विशिष्टता गुण के साथ हस्ताक्षर योजना, मैपिंग m \(\to\) H(sigi(m)) से संबद्ध है प्रत्येक संभावित स्ट्रिंग एम, एक अद्वितीय, यादृच्छिक रूप से चयनित, 256-बिट स्ट्रिंग, और इसकी शुद्धता मैपिंग को सिग्नेचर sigi(m) देकर सिद्ध किया जा सकता है। यानी आदर्श hashing और डिजिटल हस्ताक्षर योजना अनिवार्य रूप से विशिष्टता संपत्ति को संतुष्ट करती है एक सत्यापन योग्य यादृच्छिक फ़ंक्शन का प्रारंभिक कार्यान्वयन प्रदान करें, जैसा कि प्रस्तुत किया गया है और इसके द्वारा मिकाली, राबिन, और वधान [27]। (उनका मूल कार्यान्वयन आवश्यक रूप से अधिक जटिल था, चूँकि वे आदर्श hashing पर भरोसा नहीं करते थे।)• डिजिटल हस्ताक्षर के लिए तीन अलग-अलग आवश्यकताएँ। Algorand में, एक उपयोगकर्ता i डिजिटल पर निर्भर है के लिए हस्ताक्षर (1) अपने स्वयं के भुगतानों को प्रमाणित करना। इस एप्लिकेशन में, कुंजियाँ "दीर्घकालिक" हो सकती हैं (अर्थात, उपयोग की जाती हैं)। लंबी अवधि में कई संदेशों पर हस्ताक्षर करें) और एक सामान्य हस्ताक्षर योजना से आते हैं। (2) यह साबित करने वाले क्रेडेंशियल उत्पन्न करना कि मैं राउंड आर के कुछ चरणों पर कार्य करने का हकदार हूं। यहाँ, कुंजियाँ दीर्घकालिक हो सकती हैं, लेकिन विशिष्टता संपत्ति को संतुष्ट करने वाली योजना से आनी चाहिए। (3) प्रत्येक चरण में मेरे द्वारा भेजे गए संदेश को प्रमाणित करना जिसमें वह कार्य करता है। यहाँ, चाबियाँ होनी चाहिए अल्पकालिक (अर्थात, उनके पहले उपयोग के बाद नष्ट हो गया), लेकिन एक साधारण हस्ताक्षर योजना से आ सकता है। • एक छोटी लागत वाला सरलीकरण। सरलता के लिए, हम कल्पना करते हैं कि प्रत्येक उपयोगकर्ता के पास एक ही दीर्घकालिक कुंजी हो। तदनुसार, ऐसी कुंजी विशिष्टता के साथ एक हस्ताक्षर योजना से आनी चाहिए संपत्ति. ऐसी सरलता की कम कम्प्यूटेशनल लागत होती है। आमतौर पर, वास्तव में, अद्वितीय डिजिटल सामान्य हस्ताक्षरों की तुलना में हस्ताक्षर बनाना और सत्यापित करना थोड़ा अधिक महंगा है। 2.2 आदर्शीकृत सार्वजनिक बहीखाता Algorand एक आदर्श सार्वजनिक बहीखाता के आधार पर निम्नलिखित भुगतान प्रणाली की नकल करने का प्रयास करता है। 1. प्रारंभिक स्थिति. पैसा व्यक्तिगत सार्वजनिक कुंजी (निजी रूप से उत्पन्न और) से जुड़ा हुआ है उपयोगकर्ताओं के स्वामित्व में)। देना pk1, . . . , pkj प्रारंभिक सार्वजनिक कुंजी और a1, हो। . . , ए जे उनके संबंधित प्रारंभिक मात्रा में धन इकाइयाँ, तो प्रारंभिक स्थिति है S0 = (pk1, a1), . . . , (पीकेजे, एजे) , जिसे सिस्टम में सामान्य ज्ञान माना जाता है। 2. भुगतान. मान लीजिए pk एक सार्वजनिक कुंजी है जिसमें वर्तमान में \(\geq\)0 धन इकाइयाँ हैं, pk' एक अन्य सार्वजनिक कुंजी है कुंजी, और a′ एक गैर-ऋणात्मक संख्या, a से बड़ी नहीं। फिर, एक (वैध) भुगतान \(\wp\) एक डिजिटल है हस्ताक्षर, पीके के सापेक्ष, पीके से पीके तक 'मौद्रिक इकाइयों' के हस्तांतरण को एक साथ निर्दिष्ट करना कुछ अतिरिक्त जानकारी के साथ. प्रतीकों में, \(\wp\)= SIGpk(pk, pk′, a′, I, H(I)), जहां मैं किसी भी अतिरिक्त जानकारी का प्रतिनिधित्व करता हूं जो उपयोगी मानी जाती है लेकिन संवेदनशील नहीं है (उदाहरण के लिए, समय)। जानकारी और भुगतान पहचानकर्ता), और मैं संवेदनशील समझी जाने वाली कोई भी अतिरिक्त जानकारी (जैसे, भुगतान का कारण, संभवतः पीके और पीके' के मालिकों की पहचान, इत्यादि)। हम पीके (या उसके मालिक) को भुगतानकर्ता के रूप में, प्रत्येक पीके' (या उसके मालिक) को भुगतानकर्ता के रूप में, और ए' को संदर्भित करते हैं। भुगतान की राशि \(\wp\). भुगतान के माध्यम से मुफ़्त में शामिल होना। ध्यान दें कि उपयोगकर्ता जब चाहें तब सिस्टम से जुड़ सकते हैं अपने स्वयं के सार्वजनिक/गुप्त कुंजी जोड़े तैयार करना। तदनुसार, सार्वजनिक कुंजी pk′ जो दिखाई देती है उपरोक्त भुगतान एक नव निर्मित सार्वजनिक कुंजी हो सकती है जिसके पास कभी भी कोई पैसा "स्वामित्व" नहीं था पहले. 3. जादुई बहीखाता। आदर्शीकृत प्रणाली में, सभी भुगतान वैध होते हैं और छेड़छाड़-रोधी रूप में दिखाई देते हैं सभी के देखने के लिए भुगतान के सेटों की सूची "आकाश पर पोस्ट की गई": एल = वेतन 1, वेतन 2,। . . ,प्रत्येक ब्लॉक PAY r+1 में ब्लॉक की उपस्थिति के बाद से किए गए सभी भुगतानों का सेट शामिल होता है भुगतान आर. आदर्श प्रणाली में, एक निश्चित (या सीमित) समय के बाद एक नया ब्लॉक प्रकट होता है। बहस। • अधिक सामान्य भुगतान और अव्ययित लेनदेन आउटपुट। अधिक सामान्यतः, यदि कोई सार्वजनिक कुंजी हो pk के पास एक राशि a है, तो एक वैध भुगतान \(\wp\)of pk राशि a' को स्थानांतरित कर सकता है 1, ए' 2, . . ., क्रमशः कुंजियों के लिए pk' 1, पीके' 2, . . ., जब तक पी जे ए' जे \(\leq\)ए. Bitcoin और इसी तरह की प्रणालियों में, सार्वजनिक कुंजी पीके के स्वामित्व वाले पैसे को अलग-अलग भागों में विभाजित किया जाता है रकम, और पीके द्वारा किए गए भुगतान को ऐसी अलग की गई राशि को पूरी तरह से स्थानांतरित करना होगा। यदि pk किसी अन्य कुंजी में a का केवल एक अंश a′ < a स्थानांतरित करना चाहता है, तो उसे भी स्थानांतरित करना होगा शेष, अव्ययित लेनदेन आउटपुट, किसी अन्य कुंजी के लिए, संभवतः पीके ही। Algorand अलग-अलग मात्रा वाली कुंजियों के साथ भी काम करता है। हालाँकि, पर ध्यान केंद्रित करने के लिए Algorand के नवीन पहलू, हमारे भुगतान के सरल रूपों पर टिके रहना अवधारणात्मक रूप से सरल है और कुंजियाँ जिनके साथ एक ही राशि जुड़ी हुई है। • वर्तमान स्थिति. आदर्शीकृत योजना सीधे तौर पर वर्तमान के बारे में जानकारी प्रदान नहीं करती है सिस्टम की स्थिति (अर्थात, प्रत्येक सार्वजनिक कुंजी में कितनी धन इकाइयाँ हैं)। यह जानकारी मैजिक लेजर से अनुमान लगाया जा सकता है। आदर्श प्रणाली में, एक सक्रिय उपयोगकर्ता नवीनतम स्थिति की जानकारी लगातार संग्रहीत और अद्यतन करता है, या अन्यथा उसे इसका पुनर्निर्माण करना होगा, या तो खरोंच से, या पिछली बार से इसकी गणना की. (इस पेपर के अगले संस्करण में, हम Algorand को बढ़ाएंगे ताकि इसे सक्षम किया जा सके) उपयोगकर्ता वर्तमान स्थिति को कुशल तरीके से पुनर्निर्मित करें।) • सुरक्षा और "गोपनीयता"। डिजिटल हस्ताक्षर यह गारंटी देते हैं कि कोई भी भुगतान में फर्जीवाड़ा नहीं कर सकता अन्य उपयोगकर्ता. भुगतान \(\wp\) में, सार्वजनिक कुंजी और राशि छिपी नहीं होती, बल्कि संवेदनशील होती है जानकारी मैं है. वास्तव में, केवल H(I) \(\wp\) में दिखाई देता है, और चूँकि H एक आदर्श hash फ़ंक्शन है, H(I) एक यादृच्छिक 256-बिट मान है, और इस प्रकार यह पता लगाने का कोई तरीका नहीं है कि मैं किससे बेहतर था बस इसका अनुमान लगा रहा हूँ। फिर भी, यह साबित करने के लिए कि मैं क्या था (उदाहरण के लिए, भुगतान का कारण साबित करने के लिए)। भुगतानकर्ता केवल I प्रकट कर सकता है। प्रकट I की सत्यता को H(I) की गणना करके सत्यापित किया जा सकता है और परिणामी मूल्य की तुलना \(\wp\) के अंतिम आइटम से करें। वास्तव में, चूँकि H टकराव प्रतिरोधी है, दूसरा मान I′ ढूँढना कठिन है जैसे कि H(I) = H(I′)। 2.3 बुनियादी धारणाएँ और संकेतन कुंजियाँ, उपयोगकर्ता और स्वामी जब तक अन्यथा निर्दिष्ट न किया जाए, प्रत्येक सार्वजनिक कुंजी (संक्षिप्त रूप में "कुंजी") अद्वितीय गुण वाली डिजिटल हस्ताक्षर योजना के लिए दीर्घकालिक और सापेक्ष होती है। मैं एक सार्वजनिक कुंजी से जुड़ता हूं सिस्टम जब सिस्टम में पहले से मौजूद एक अन्य सार्वजनिक कुंजी j, i को भुगतान करता है। रंग के लिए, हम कुंजियों का मानवीकरण करते हैं। हम एक कुंजी i को "वह" के रूप में संदर्भित करते हैं, कहते हैं कि मैं ईमानदार हूं, कि मैं भेजता हूं और संदेश आदि प्राप्त करता है। उपयोगकर्ता कुंजी का पर्याय है। जब हम किसी कुंजी को अलग करना चाहते हैं वह व्यक्ति जिसके पास यह है, हम क्रमशः "डिजिटल कुंजी" और "मालिक" शब्द का उपयोग करते हैं। अनुमति रहित और अनुमति प्राप्त प्रणालियाँ। यदि कोई डिजिटल कुंजी मुफ़्त है तो सिस्टम अनुमति रहित है किसी भी समय शामिल होने के लिए और एक मालिक के पास कई डिजिटल कुंजियाँ हो सकती हैं; और इसकी अनुमति है, अन्यथा।अनोखा प्रतिनिधित्व Algorand में प्रत्येक ऑब्जेक्ट का एक अद्वितीय प्रतिनिधित्व होता है। विशेष रूप से, प्रत्येक सेट {(x, y, z,...) : x \(\in\)X, y \(\in\)Y, z \(\in\)Z, . . .} को पूर्व-निर्दिष्ट तरीके से आदेश दिया गया है: उदाहरण के लिए, सबसे पहले शब्दकोष की दृष्टि से x में, फिर y में, आदि। समान गति वाली घड़ियाँ कोई वैश्विक घड़ी नहीं है: बल्कि, प्रत्येक उपयोगकर्ता की अपनी घड़ी होती है। उपयोगकर्ता घड़ियाँ किसी भी तरह से सिंक्रनाइज़ करने की आवश्यकता नहीं है. हालाँकि, हम मानते हैं कि उन सभी की गति समान है। उदाहरण के लिए, जब किसी उपयोगकर्ता की घड़ी के अनुसार दोपहर के 12 बजे हैं, तो उसके अनुसार दोपहर के 2:30 हो सकते हैं दूसरे उपयोगकर्ता j की घड़ी, लेकिन जब i की घड़ी के अनुसार 12:01 होगा, तो उसके अनुसार 2:31 होगा जे की घड़ी के लिए. अर्थात्, "प्रत्येक उपयोगकर्ता के लिए एक मिनट समान (पर्याप्त रूप से, अनिवार्य रूप से समान) है"। दौर Algorand को तार्किक इकाइयों, r = 0, 1, में व्यवस्थित किया गया है। . ., जिसे राउंड कहा जाता है। हम राउंड को इंगित करने के लिए लगातार सुपरस्क्रिप्ट का उपयोग करते हैं। यह इंगित करने के लिए कि एक गैर-संख्यात्मक मात्रा Q (उदाहरण के लिए, एक स्ट्रिंग, एक सार्वजनिक कुंजी, एक सेट, एक डिजिटल हस्ताक्षर, आदि) एक राउंड आर को संदर्भित करता है, हम बस क्यूआर लिखते हैं। केवल तभी जब Q एक वास्तविक संख्या हो (एक संख्या के रूप में व्याख्या की जाने वाली बाइनरी स्ट्रिंग के विपरीत), ऐसा करें हम Q(r) लिखते हैं, ताकि प्रतीक r की व्याख्या Q के प्रतिपादक के रूप में न की जा सके। (ए की शुरुआत) राउंड आर > 0 पर, सभी सार्वजनिक कुंजियों का सेट पीकेआर है, और सिस्टम स्थिति है श्री = एन मैं, ए(आर) मैं , . . . : मैं पीकेआरओ , जहां ए(आर) मैं सार्वजनिक कुंजी के लिए उपलब्ध धनराशि है I ध्यान दें कि पीकेआर से कटौती योग्य है सीनियर, और वह सीनियर प्रत्येक सार्वजनिक कुंजी के लिए अन्य घटकों को भी निर्दिष्ट कर सकता है। राउंड 0 के लिए, PK0 प्रारंभिक सार्वजनिक कुंजियों का सेट है, और S0 प्रारंभिक स्थिति है। दोनों PK0 और S0 को सिस्टम में सामान्य ज्ञान माना जाता है। सरलता के लिए, राउंड आर की शुरुआत में, इसलिए PK1 हैं, . . . , पीकेआर और एस1, . . . , सीनियर एक राउंड आर में, सिस्टम स्थिति सीनियर से सीनियर+1 में परिवर्तित हो जाती है: प्रतीकात्मक रूप से, राउंड आर: सीनियर −→एसआर+1। भुगतान Algorand में, उपयोगकर्ता लगातार भुगतान करते हैं (और उन्हें रास्ते में प्रसारित करते हैं) उपधारा 2.7 में वर्णित है)। किसी उपयोगकर्ता के भुगतान \(\wp\) i \(\in\)PKr का प्रारूप और शब्दार्थ समान है जैसा कि आदर्श प्रणाली में होता है। अर्थात्, \(\wp\)= SIGi(i, i′, a, I, H(I)) . भुगतान \(\wp\) राउंड आर पर व्यक्तिगत रूप से मान्य है (संक्षेप में, राउंड-आर भुगतान है) यदि (1) इसकी राशि a, a(r) से कम या उसके बराबर है i, और (2) यह किसी भी आधिकारिक भुगतान PAY r' for r' < r में प्रकट नहीं होता है। (जैसा कि नीचे बताया गया है, दूसरी शर्त का मतलब है कि \(\wp\)पहले से ही प्रभावी नहीं हुआ है। I के राउंड-आर भुगतान का एक सेट सामूहिक रूप से मान्य है यदि उनकी राशियों का योग अधिकतम a(r) है मैं . भुगतान सेट राउंड-आर पेसेट पी, राउंड-आर भुगतानों का एक सेट है, जैसे कि प्रत्येक उपयोगकर्ता के लिए, भुगतान पी में आई (संभवतः कोई नहीं) सामूहिक रूप से मान्य हैं। सभी राउंड-आर पेसेट का सेट PAY(r) है। एक राउंड-आर यदि P का कोई भी सुपरसेट राउंड-आर पेसेट नहीं है, तो पेसेट P अधिकतम है। हम वास्तव में सुझाव देते हैं कि भुगतान \(\wp\) में एक राउंड \(\rho\) भी निर्दिष्ट होता है, \(\wp\)= SIGi(\(\rho\), i, i′, a, I, H(I)) , और कुछ निश्चित गैर-नकारात्मक पूर्णांक k.4 के लिए [\(\rho\), \(\rho\) + k] के बाहर किसी भी दौर में मान्य नहीं हो सकता 4इससे यह जाँचना सरल हो जाता है कि क्या \(\wp\)"प्रभावी" हो गया है (अर्थात्, यह यह निर्धारित करना सरल कर देता है कि क्या कुछ भुगतान PAY r में \(\wp\) शामिल है। जब k = 0, यदि \(\wp\)= SIGi(r, i, i′, a, I, H(I)) , और \(\wp\)/\(\in\)PAY r, तो मुझे \(\wp\) पुनः सबमिट करना होगा।आधिकारिक भुगतान प्रत्येक राउंड आर के लिए, Algorand सार्वजनिक रूप से चयन करता है (बाद में वर्णित तरीके से) एक एकल (संभवतः खाली) पेसेट, PAY r, राउंड का आधिकारिक पेसेट। (अनिवार्य रूप से, PAY r दर्शाता है राउंड-आर भुगतान जो "वास्तव में" हुआ है।) जैसा कि आदर्श सिस्टम (और Bitcoin) में होता है, (1) नए उपयोगकर्ता j के लिए सिस्टम में प्रवेश करने का एकमात्र तरीका किसी दिए गए राउंड आर के आधिकारिक भुगतान PAY r से संबंधित भुगतान का प्राप्तकर्ता होना चाहिए; और (2) PAY r वर्तमान राउंड, सीनियर से अगले राउंड, सीनियर+1 की स्थिति निर्धारित करता है। प्रतीकात्मक रूप से, भुगतान r : Sr −→Sr+1. विशेष रूप से, 1. राउंड आर + 1, पीकेआर+1 की सार्वजनिक कुंजी के सेट में पीकेआर का मिलन और सभी का सेट शामिल है भुगतानकर्ता कुंजियाँ जो पहली बार PAY r के भुगतान में दिखाई देती हैं; और 2. धन की राशि a(r+1) मैं राउंड आर + 1 में जो उपयोगकर्ता मेरे पास है, वह एआई(आर) का योग है - यानी, पिछले दौर में मेरे पास मौजूद धनराशि (0 यदि मैं ̸\(\in\)PKr) - और राशियों का योग PAY r के भुगतान के अनुसार मुझे भुगतान किया गया। संक्षेप में, आदर्श प्रणाली की तरह, प्रत्येक स्थिति Sr+1 पिछले भुगतान इतिहास से घटाई जा सकती है: भुगतान 0, . . . , भुगतान आर. 2.4 ब्लॉक और सिद्ध ब्लॉक Algorand0 में, ब्लॉक Br एक राउंड r विशिष्टताओं के अनुरूप है: r स्वयं; के भुगतान का सेट राउंड आर, पे आर; एक मात्रा Qr, जिसे समझाया जाना है, और पिछले ब्लॉक का hash, H(Br−1)। इस प्रकार, कुछ निश्चित ब्लॉक B0 से शुरू करके, हमारे पास एक पारंपरिक blockchain है: बी1 = (1, भुगतान 1, क्यू0, एच(बी0)), बी2 = (2, भुगतान 2, क्यू1, एच(बी1)), बी3 = (3, वेतन 3, क्यू2, एच(बी2)), . . . Algorand में, किसी ब्लॉक की प्रामाणिकता वास्तव में जानकारी के एक अलग टुकड़े द्वारा प्रमाणित की जाती है, एक "ब्लॉक सर्टिफिकेट" CERT r, जो Br को एक सिद्ध ब्लॉक, Br में बदल देता है। जादुई बहीखाता, इसलिए, सिद्ध ब्लॉकों के अनुक्रम द्वारा कार्यान्वित किया जाता है, बी1, बी2, . . . चर्चा जैसा कि हम देखेंगे, CERT r में H(Br) के लिए डिजिटल हस्ताक्षरों का एक सेट शामिल है एसवी आर के अधिकांश सदस्य, एक प्रमाण के साथ कि उनमें से प्रत्येक सदस्य वास्तव में संबंधित है एसवी आर को. बेशक, हम प्रमाणपत्र CERT r को ब्लॉक में ही शामिल कर सकते हैं, लेकिन इसे खोजें इसे अलग रखने के लिए वैचारिक रूप से अधिक स्वच्छ।) Bitcoin में प्रत्येक ब्लॉक को एक विशेष संपत्ति को संतुष्ट करना होगा, अर्थात, "इसमें एक समाधान होना चाहिए" क्रिप्टो पहेली", जो ब्लॉक पीढ़ी को कम्प्यूटेशनल रूप से गहन बनाती है और फोर्क्स दोनों को अपरिहार्य बनाती है और दुर्लभ नहीं. इसके विपरीत, Algorand के blockchain के दो मुख्य लाभ हैं: यह किसके साथ उत्पन्न होता है न्यूनतम गणना, और यह अत्यधिक उच्च संभावना के साथ कांटा नहीं करेगा। प्रत्येक ब्लॉक Bi है जैसे ही यह blockchain में प्रवेश करता है, सुरक्षित रूप से समाप्त हो जाता है।2.5 स्वीकार्य विफलता की संभावना Algorand की सुरक्षा का विश्लेषण करने के लिए हम संभाव्यता, F निर्दिष्ट करते हैं, जिसके साथ हम तैयार हैं स्वीकार करें कि कुछ गलत हो गया है (उदाहरण के लिए, एक सत्यापनकर्ता सेट एसवी आर के पास ईमानदार बहुमत नहीं है)। जैसा कि क्रिप्टोग्राफ़िक hash फ़ंक्शन H की आउटपुट लंबाई के मामले में, F भी एक पैरामीटर है। लेकिन, उस मामले में, हमें F को एक ठोस मान पर सेट करना उपयोगी लगता है, ताकि अधिक सहज ज्ञान प्राप्त किया जा सके इस तथ्य को समझें कि Algorand में, एक साथ पर्याप्त सुरक्षा का आनंद लेना वास्तव में संभव है और पर्याप्त दक्षता. इस बात पर जोर देने के लिए कि एफ वह पैरामीटर है जिसे पहले इच्छानुसार सेट किया जा सकता है और दूसरा अवतार हम क्रमशः निर्धारित करते हैं एफ = 10−12 और एफ = 10−18 . चर्चा ध्यान दें कि 10−12 वास्तव में एक ट्रिलियन में से एक से भी कम है, और हमारा मानना है कि ऐसा है हमारे आवेदन में एफ का विकल्प पर्याप्त है। आइए हम इस बात पर ज़ोर दें कि 10−12 प्रायिकता नहीं है जिससे विरोधी किसी ईमानदार उपयोगकर्ता के भुगतान में जालसाजी कर सकता है। सभी भुगतान डिजिटल रूप से होते हैं हस्ताक्षरित, और इस प्रकार, यदि उचित डिजिटल हस्ताक्षर का उपयोग किया जाता है, तो भुगतान में जालसाजी की संभावना है 10−12 से बहुत कम, और वास्तव में, अनिवार्य रूप से 0 है। वह बुरी घटना जिसे हम सहन करने को तैयार हैं प्रायिकता F के साथ यह है कि Algorand के blockchain कांटे हैं। ध्यान दें कि, एफ और की हमारी सेटिंग के साथ एक मिनट लंबे राउंड में, Algorand के blockchain में शायद ही कभी कांटा आने की उम्मीद होती है (लगभग) 1.9 मिलियन वर्षों में एक बार। इसके विपरीत, Bitcoin में, कांटा अक्सर होता है। अधिक मांग वाला व्यक्ति F को कम मान पर सेट कर सकता है। इस प्रयोजन के लिए, हमारे दूसरे अवतार में हम F को 10−18 पर सेट करने पर विचार करते हैं। ध्यान दें, यह मानते हुए कि हर सेकंड एक ब्लॉक उत्पन्न होता है, 1018 ब्रह्मांड द्वारा अब तक लिए गए सेकंडों की अनुमानित संख्या है: बिग बैंग से लेकर वर्तमान तक समय. इस प्रकार, F = 10−18 के साथ, यदि एक ब्लॉक एक सेकंड में उत्पन्न होता है, तो किसी को इसकी आयु की अपेक्षा करनी चाहिए एक कांटा देखने के लिए ब्रह्मांड. 2.6 प्रतिकूल मॉडल Algorand को बहुत प्रतिकूल मॉडल में सुरक्षित रहने के लिए डिज़ाइन किया गया है। आइये समझाते हैं. ईमानदार और दुर्भावनापूर्ण उपयोगकर्ता एक उपयोगकर्ता ईमानदार है यदि वह अपने सभी प्रोटोकॉल निर्देशों का पालन करता है, और संदेश भेजने और प्राप्त करने में पूरी तरह सक्षम है। एक उपयोगकर्ता दुर्भावनापूर्ण है (अर्थात, बीजान्टिन, में वितरित कंप्यूटिंग की भाषा में) यदि वह अपने निर्धारित निर्देशों से मनमाने ढंग से विचलन कर सकता है। विरोधी एडवर्सरी एक कुशल (तकनीकी रूप से बहुपद-समय) एल्गोरिदम है, जो रंग के लिए विशिष्ट है, जो किसी भी उपयोगकर्ता को जब चाहे, किसी भी समय दुर्भावनापूर्ण बना सकता है (विषय) केवल उपयोगकर्ताओं की संख्या की ऊपरी सीमा तक ही वह भ्रष्ट हो सकता है)। विरोधी सभी दुर्भावनापूर्ण उपयोगकर्ताओं को पूरी तरह से नियंत्रित और समन्वयित करता है। वह सभी कार्य करता है उनकी ओर से, जिसमें उनके सभी संदेश प्राप्त करना और भेजना शामिल है, और उन्हें इससे भटकने दे सकते हैं मनमाने तरीके से उनके निर्धारित निर्देश। या वह बस एक दूषित उपयोगकर्ता भेजने को अलग कर सकता है और संदेश प्राप्त कर रहे हैं। आइए स्पष्ट करें कि कोई भी अन्य व्यक्ति स्वचालित रूप से यह नहीं जान पाता कि i उपयोगकर्ता दुर्भावनापूर्ण है, हालाँकि विरोधी द्वारा उसके द्वारा किए गए कार्यों से मेरी दुर्भावना प्रकट हो सकती है। हालाँकि, यह शक्तिशाली प्रतिद्वंद्वी, • इसमें असीमित कम्प्यूटेशनल शक्ति नहीं है और यह डिजिटल को सफलतापूर्वक नहीं बना सकता है नगण्य संभावना को छोड़कर, एक ईमानदार उपयोगकर्ता के हस्ताक्षर; और• ईमानदार उपयोगकर्ताओं के बीच संदेशों के आदान-प्रदान में किसी भी तरह से हस्तक्षेप नहीं किया जा सकता। इसके अलावा, ईमानदार उपयोगकर्ताओं पर हमला करने की उसकी क्षमता निम्नलिखित धारणाओं में से एक से बंधी है। ईमानदारी अधिकांश धन हम धन के ईमानदार बहुमत (एचएमएम) की निरंतरता पर विचार करते हैं धारणाएँ: अर्थात्, प्रत्येक गैर-नकारात्मक पूर्णांक k और वास्तविक h > 1/2 के लिए, एचएचएमके > एच: प्रत्येक दौर में ईमानदार उपयोगकर्ताओं के पास सभी धन के एच से अधिक हिस्सा होता है राउंड r −k पर सिस्टम। बहस। यह मानते हुए कि सभी दुर्भावनापूर्ण उपयोगकर्ता अपने कार्यों को पूरी तरह से समन्वयित करते हैं (जैसे कि नियंत्रित हों)। एक इकाई द्वारा, विरोधी) एक निराशावादी परिकल्पना है। आपस में उत्तम समन्वय भी कई व्यक्तियों को हासिल करना मुश्किल है। शायद समन्वय केवल अलग-अलग समूहों के भीतर ही होता है दुर्भावनापूर्ण खिलाड़ियों का. लेकिन, चूँकि दुर्भावनापूर्ण उपयोगकर्ताओं के समन्वय के स्तर के बारे में कोई निश्चित नहीं हो सकता आनंद ले सकते हैं, खेद जताने से बेहतर होगा कि हम सुरक्षित रहें। यह मानते हुए कि विरोधी गुप्त रूप से, गतिशील रूप से और तुरंत उपयोगकर्ताओं को भ्रष्ट कर सकता है निराशावादी. आख़िरकार, वास्तविक रूप से, उपयोगकर्ता के संचालन पर पूर्ण नियंत्रण लेने में कुछ समय लगना चाहिए। उदाहरण के लिए, धारणा HMMk > h का तात्पर्य यह है कि, यदि एक राउंड (औसतन) लागू किया जाता है एक मिनट में, किसी दिए गए दौर में अधिकांश पैसा ईमानदार हाथों में रहेगा कम से कम दो घंटे, यदि k = 120, और कम से कम एक सप्ताह, यदि k = 10,000। ध्यान दें कि एचएमएम धारणाएं और कंप्यूटिंग शक्ति का पिछला ईमानदार बहुमत धारणाएँ इस अर्थ में संबंधित हैं कि, चूँकि कंप्यूटिंग शक्ति पैसे से खरीदी जा सकती है, यदि दुर्भावनापूर्ण उपयोगकर्ताओं के पास अधिकांश धन है, तो वे अधिकांश कंप्यूटिंग शक्ति प्राप्त कर सकते हैं। 2.7 संचार मॉडल हम संदेश प्रसार की परिकल्पना करते हैं - यानी, "पीयर-टू-पीयर गपशप"5- इसका एकमात्र साधन है संचार. अस्थायी धारणा: संपूर्ण नेटवर्क में संदेशों की समय पर डिलीवरी। के लिए इस पेपर के अधिकांश भाग में हम मानते हैं कि प्रत्येक प्रचारित संदेश लगभग सभी ईमानदार उपयोगकर्ताओं तक पहुंचता है समयानुकूल ढंग से. हम धारा 10 में इस धारणा को हटा देंगे, जहां हम नेटवर्क से निपटते हैं विभाजन, या तो स्वाभाविक रूप से घटित होते हैं या प्रतिकूल रूप से प्रेरित होते हैं। (जैसा कि हम देखेंगे, हम केवल मान लेते हैं नेटवर्क के प्रत्येक जुड़े घटक के भीतर संदेशों की समय पर डिलीवरी।) प्रचारित संदेशों (संपूर्ण नेटवर्क में) की समय पर डिलीवरी को पकड़ने का एक ठोस तरीका है निम्नलिखित: सभी पहुंच क्षमता \(\rho\) > 95% और संदेश आकार \(\mu\) \(\in\)Z+ के लिए, \(\lambda\) \(\rho\),\(\mu\) मौजूद है जैसे कि, यदि कोई ईमानदार उपयोगकर्ता समय t पर \(\mu\)-बाइट संदेश m प्रसारित करता है, तब m, समय t + \(\lambda\) \(\rho\),\(\mu\) तक, ईमानदार उपयोगकर्ताओं के कम से कम एक अंश \(\rho\) तक पहुँच जाता है। 5अनिवार्य रूप से, जैसा कि Bitcoin में है, जब कोई उपयोगकर्ता एक संदेश m प्रसारित करता है, तो प्रत्येक सक्रिय उपयोगकर्ता को पहली बार m प्राप्त होता है, बेतरतीब ढंग से और स्वतंत्र रूप से सक्रिय उपयोगकर्ताओं की एक छोटी संख्या, उसके "पड़ोसियों" का चयन करता है, जिन्हें वह आगे भेजता है, संभवतः जब तक वह उनसे पावती प्राप्त नहीं कर लेता। जब कोई उपयोगकर्ता प्राप्त नहीं करता तो m का प्रसार समाप्त हो जाता है मैं पहली बार.हालाँकि, उपरोक्त संपत्ति हमारे Algorand प्रोटोकॉल का समर्थन नहीं कर सकती है, बिना स्पष्ट रूप से और अलग से किसी अन्य उपयोगकर्ता/डिपॉजिटरी/आदि द्वारा नवीनतम blockchain प्राप्त करने के लिए एक तंत्र की परिकल्पना किए बिना। वास्तव में, एक नए ब्लॉक के निर्माण के लिए न केवल सत्यापनकर्ताओं का एक उचित सेट समय पर राउंड-आर प्राप्त करना चाहिए संदेश, बल्कि पिछले दौर के संदेश भी, ताकि Br−1 और अन्य सभी पिछले दौर को जान सकें ब्लॉक, जो यह निर्धारित करने के लिए आवश्यक है कि Br में भुगतान वैध हैं या नहीं। निम्नलिखित इसके बजाय धारणा पर्याप्त है। संदेश प्रसार (एमपी) धारणा: सभी \(\rho\) > 95% और \(\mu\) \(\in\)Z+ के लिए, \(\lambda\) \(\rho\),\(\mu\) मौजूद है ऐसा कि, सभी समय t और सभी \(\mu\)-बाइट संदेशों के लिए m को t −\(\lambda\) \(\rho\),\(\mu\) से पहले एक ईमानदार उपयोगकर्ता द्वारा प्रचारित किया जाता है। एम को समय टी के अनुसार, ईमानदार उपयोगकर्ताओं के कम से कम एक अंश \(\rho\) द्वारा प्राप्त किया जाता है। प्रोटोकॉल Algorand 'वास्तव में उपयोगकर्ताओं की एक छोटी संख्या में से प्रत्येक को निर्देश देता है (अर्थात, किसी के सत्यापनकर्ताओं को) (छोटे) निर्धारित आकार के एक अलग संदेश को प्रसारित करने के लिए, Algorand ′ में एक राउंड का चरण दिया गया है, और हमें इन निर्देशों को पूरा करने के लिए आवश्यक समय निर्धारित करने की आवश्यकता है। हम एमपी को समृद्ध बनाकर ऐसा करते हैं अनुमान इस प्रकार है. सभी n, \(\rho\) > 95%, और \(\mu\) \(\in\)Z+ के लिए, \(\lambda\)n,\(\rho\),\(\mu\) मौजूद है, जैसे कि, सभी समय t और सभी \(\mu\)-बाइट के लिए संदेश एम1, . . . , mn, प्रत्येक को t −\(\lambda\)n,\(\rho\),\(\mu\), m1, से पहले एक ईमानदार उपयोगकर्ता द्वारा प्रचारित किया जाता है। . . , एमएन प्राप्त हुए हैं, समय t के अनुसार, ईमानदार उपयोगकर्ताओं के कम से कम एक अंश \(\rho\) द्वारा। नोट • उपरोक्त धारणा जानबूझकर सरल है, लेकिन हमारे पेपर में आवश्यकता से अधिक मजबूत भी है।6 • सरलता के लिए, हम \(\rho\) = 1 मानते हैं, और इस प्रकार \(\rho\) का उल्लेख करना छोड़ देते हैं। • हम निराशावादी रूप से यह मानते हैं, बशर्ते कि वह सांसद की धारणा, प्रतिद्वंद्वी का उल्लंघन न करे सभी संदेशों की डिलीवरी को पूरी तरह से नियंत्रित करता है। विशेष रूप से, ईमानदार लोगों की नज़र में आए बिना उपयोगकर्ता, विरोधी मनमाने ढंग से यह तय कर सकता है कि कौन सा ईमानदार खिलाड़ी कब कौन सा संदेश प्राप्त करेगा, और मनमाने ढंग से अपने इच्छित किसी भी संदेश के वितरण में तेजी लाता है।7
पारंपरिक सेटिंग में बीए प्रोटोकॉल बीए⋆
जैसा कि पहले ही जोर दिया गया है, बीजान्टिन समझौता Algorand का एक प्रमुख घटक है। सचमुच, यह हो चुका है ऐसे BA प्रोटोकॉल का उपयोग जिससे Algorand फोर्क्स द्वारा अप्रभावित रहे। हालाँकि, हमारे विरुद्ध सुरक्षित रहने के लिए शक्तिशाली प्रतिद्वंद्वी, Algorand को BA प्रोटोकॉल पर भरोसा करना चाहिए जो नए खिलाड़ी-प्रतिस्थापन को संतुष्ट करता है बाधा. इसके अलावा, Algorand के कुशल होने के लिए, ऐसा BA प्रोटोकॉल बहुत कुशल होना चाहिए। बीए प्रोटोकॉल को सबसे पहले एक आदर्श संचार मॉडल, समकालिक पूर्णता के लिए परिभाषित किया गया था नेटवर्क (एससी नेटवर्क)। ऐसा मॉडल बीए प्रोटोकॉल के सरल डिजाइन और विश्लेषण की अनुमति देता है। 6 ईमानदार प्रतिशत एच और स्वीकार्य विफलता संभावना एफ को देखते हुए, Algorand ऊपरी सीमा, एन की गणना करता है, एक चरण में सत्यापनकर्ताओं की अधिकतम संख्या तक। इस प्रकार, एमपी धारणा को केवल n \(\leq\)N के लिए बनाए रखने की आवश्यकता है। इसके अलावा, जैसा कि कहा गया है, एमपी की धारणा यह मायने नहीं रखती कि इसके साथ कितने अन्य संदेश भी प्रचारित किए जा सकते हैं एम.जे. हालाँकि, जैसा कि हम देखेंगे, Algorand में संदेशों को अनिवार्य रूप से गैर-अतिव्यापी समय में प्रचारित किया जाता है अंतराल, जिसके दौरान या तो एक एकल ब्लॉक का प्रचार किया जाता है, या अधिकतम एन सत्यापनकर्ता एक छोटे से प्रचारित करते हैं (उदाहरण के लिए, 200बी) संदेश. इस प्रकार, हम एमपी धारणा को कमजोर, लेकिन अधिक जटिल तरीके से दोहरा सकते हैं। 7उदाहरण के लिए, वह ईमानदार खिलाड़ियों द्वारा भेजे गए संदेशों को तुरंत जान सकता है। इस प्रकार, एक दुर्भावनापूर्ण उपयोगकर्ता i', जो है एक ईमानदार उपयोगकर्ता के साथ एक संदेश को एक साथ प्रचारित करने के लिए कहा गया, मैं हमेशा उसके आधार पर अपना संदेश चुन सकता हूं संदेश m वास्तव में i द्वारा प्रचारित किया गया है। वितरित-गणना की भाषा में, यह क्षमता शीघ्रता से संबंधित है साहित्य.तदनुसार, इस खंड में, हम एससी नेटवर्क और अनदेखी के लिए एक नया बीए प्रोटोकॉल, बीए⋆ पेश करते हैं खिलाड़ी प्रतिस्थापनीयता का मुद्दा पूरी तरह से। प्रोटोकॉल BA⋆ अलग मूल्य का योगदान है। वास्तव में, यह SC नेटवर्क के लिए अब तक ज्ञात सबसे कुशल क्रिप्टोग्राफ़िक BA प्रोटोकॉल है। हमारे Algorand प्रोटोकॉल के भीतर इसका उपयोग करने के लिए, हम BA⋆a बिट को संशोधित करते हैं, ताकि हमारे अलग-अलग को ध्यान में रखा जा सके संचार मॉडल और संदर्भ, लेकिन सुनिश्चित करें कि, अनुभाग X में, BA⋆ का उपयोग कैसे किया जाता है, इस पर प्रकाश डाला जाए हमारे वास्तविक प्रोटोकॉल Algorand के भीतर। हम उस मॉडल को याद करके शुरू करते हैं जिसमें BA⋆संचालित होता है और बीजान्टिन समझौते की धारणा। 3.1 सिंक्रोनस कम्प्लीट नेटवर्क और मैचिंग एडवर्सरीज SC नेटवर्क में, एक सामान्य घड़ी होती है, जो प्रत्येक अभिन्न समय r = 1, 2, पर टिक करती है। . . प्रत्येक सम समय पर आर क्लिक करें, प्रत्येक खिलाड़ी तुरंत और साथ ही एक सिंगल भेजता है संदेश श्रीमान i,j (संभवतः खाली संदेश) प्रत्येक खिलाड़ी j को, जिसमें स्वयं भी शामिल है। प्रत्येक श्रीमान i,j प्राप्त हो गया है समय पर प्रेषक i की पहचान के साथ खिलाड़ी j द्वारा r + 1 पर क्लिक करें। फिर, एक संचार प्रोटोकॉल में, एक खिलाड़ी ईमानदार होता है यदि वह अपने सभी निर्धारित नियमों का पालन करता है निर्देश, और अन्यथा दुर्भावनापूर्ण। सभी दुर्भावनापूर्ण खिलाड़ी पूरी तरह से नियंत्रित और परिपूर्ण हैं विरोधी द्वारा समन्वित, जो, विशेष रूप से, संबोधित सभी संदेशों को तुरंत प्राप्त करता है दुर्भावनापूर्ण खिलाड़ी, और उनके द्वारा भेजे गए संदेशों को चुनते हैं। विरोधी किसी भी ईमानदार उपयोगकर्ता को किसी भी विषम समय में तुरंत क्लिक करके दुर्भावनापूर्ण बना सकता है वह चाहता है, केवल दुर्भावनापूर्ण खिलाड़ियों की संख्या में संभावित ऊपरी सीमा के अधीन। अर्थात्, विरोधी "एक ईमानदार उपयोगकर्ता द्वारा पहले से भेजे गए संदेशों में हस्तक्षेप नहीं कर सकता", जो होगा हमेशा की तरह वितरित किया गया। प्रतिद्वंद्वी के पास प्रत्येक सम दौर में तुरंत देखने की अतिरिक्त क्षमता भी होती है संदेश जो वर्तमान में ईमानदार खिलाड़ी भेजते हैं, और चुनने के लिए तुरंत इस जानकारी का उपयोग करते हैं दुर्भावनापूर्ण खिलाड़ी एक ही समय में जो संदेश भेजते हैं, वे टिक जाते हैं। टिप्पणियाँ • विरोधी शक्ति. उपरोक्त सेटिंग बहुत प्रतिकूल है. दरअसल, बीजान्टिन समझौते में साहित्य में, कई सेटिंग्स कम प्रतिकूल हैं। हालाँकि, कुछ और प्रतिकूल सेटिंग्स हैं इस पर भी विचार किया गया, जहां प्रतिद्वंद्वी, एक ईमानदार खिलाड़ी द्वारा भेजे गए संदेशों को देखने के बाद किसी निश्चित समय पर क्लिक आर, नेटवर्क से इन सभी संदेशों को तुरंत मिटाने की क्षमता रखता है भ्रष्ट i, वह संदेश चुनें जो अब दुर्भावनापूर्ण i समय पर भेजता है, r पर क्लिक करें, और उन्हें प्राप्त करें हमेशा की तरह वितरित किया गया। प्रतिद्वंद्वी की परिकल्पित शक्ति हमारी सेटिंग में उसके पास मौजूद शक्ति से मेल खाती है। • शारीरिक अमूर्तन. परिकल्पित संचार मॉडल एक अधिक भौतिक मॉडल का सार प्रस्तुत करता है, जिसमें खिलाड़ियों की प्रत्येक जोड़ी (i, j) एक अलग और निजी संचार लाइन li,j से जुड़ी हुई है। अर्थात्, कोई भी अन्य व्यक्ति भेजे गए संदेशों के बारे में जानकारी नहीं डाल सकता, हस्तक्षेप नहीं कर सकता या जानकारी हासिल नहीं कर सकता ली, जे. प्रतिद्वंद्वी के लिए li,j तक पहुंच पाने का एकमात्र तरीका i या j को भ्रष्ट करना है। • गोपनीयता और प्रमाणीकरण. SC नेटवर्क में संदेश गोपनीयता और प्रमाणीकरण की गारंटी होती है अनुमान से. इसके विपरीत, हमारे संचार नेटवर्क में, जहां संदेशों का प्रचार-प्रसार किया जाता है सहकर्मी से सहकर्मी तक, डिजिटल हस्ताक्षर द्वारा प्रमाणीकरण की गारंटी दी जाती है, और गोपनीयता अस्तित्वहीन है। इस प्रकार, हमारी सेटिंग में प्रोटोकॉल BA⋆ को अपनाने के लिए, आदान-प्रदान किए गए प्रत्येक संदेश को डिजिटल रूप से हस्ताक्षरित किया जाना चाहिए (आगे उस राज्य की पहचान करना जहां इसे भेजा गया था)। सौभाग्य से, बीए प्रोटोकॉल जो हम Algorand में उपयोग करने पर विचार करें, संदेश गोपनीयता की आवश्यकता नहीं है।3.2 बीजान्टिन समझौते की धारणा बीजान्टिन समझौते की धारणा पीज़ शोस्ताक और लामपोर्ट [31] द्वारा प्रस्तुत की गई थी बाइनरी केस, यानी, जब प्रत्येक प्रारंभिक मान में एक बिट होता है। हालाँकि, इसे तुरंत बढ़ा दिया गया मनमाने प्रारंभिक मूल्यों के लिए। (फिशर [16] और चोर और डवर्क [10] के सर्वेक्षण देखें।) एक बीए द्वारा प्रोटोकॉल, हमारा मतलब एक मनमाना-मूल्य वाला है। परिभाषा 3.1. एक सिंक्रोनस नेटवर्क में, मान लीजिए कि P एक एन-प्लेयर प्रोटोकॉल है, जिसका प्लेयर सेट सामान्य है खिलाड़ियों के बीच ज्ञान, t एक धनात्मक पूर्णांक जैसे कि n \(\geq\)2t + 1। हम कहते हैं कि P एक है मनमाना-मूल्य (क्रमशः, बाइनरी) (एन, टी)-सुदृढ़ता के साथ बीजान्टिन समझौता प्रोटोकॉल \(\sigma\) \(\in\)(0, 1) यदि, मानों के प्रत्येक सेट के लिए V में विशेष प्रतीक \(\bot\) नहीं है (क्रमशः, V = {0, 1} के लिए), एक में निष्पादन जिसमें अधिकांश खिलाड़ी दुर्भावनापूर्ण होते हैं और जिसमें प्रत्येक खिलाड़ी की शुरुआत एक से होती है प्रारंभिक मूल्य vi \(\in\)V , प्रत्येक ईमानदार खिलाड़ी j संभाव्यता 1 के साथ रुकता है, एक मान आउटपुट करता है \(\in\)V \(\cup\){\(\bot\)} ताकि, कम से कम \(\sigma\) संभावना के साथ, निम्नलिखित दो शर्तों को पूरा किया जा सके: 1. समझौता: \(\in\)V \(\cup\){\(\bot\)} इस प्रकार मौजूद है कि सभी ईमानदार खिलाड़ियों के लिए आउटआई = आउट है। 2. संगति: यदि, किसी मान v \(\in\)V के लिए, सभी ईमानदार खिलाड़ियों के लिए vi = v, तो आउट = v। हम आउट को पी के आउटपुट के रूप में संदर्भित करते हैं, और प्रत्येक आउट को प्लेयर आई के आउटपुट के रूप में संदर्भित करते हैं। 3.3 बीए नोटेशन # हमारे बीए प्रोटोकॉल में, एक खिलाड़ी को यह गिनना आवश्यक है कि कितने खिलाड़ियों ने उसे दिया गया संदेश भेजा है एक दिया गया कदम. तदनुसार, भेजे जा सकने वाले प्रत्येक संभावित मान v के लिए,
एस
मैं(v) (या सिर्फ #i(v) जब s स्पष्ट है) खिलाड़ियों j की संख्या है जिनसे मुझे चरण s में v प्राप्त हुआ है। याद दिला दें कि एक खिलाड़ी i को प्रत्येक खिलाड़ी j से ठीक एक संदेश प्राप्त होता है, यदि की संख्या प्लेयर्स n है, तो, सभी i और s के लिए, P वी #एस मैं(v) = एन. 3.4 बाइनरी बीए प्रोटोकॉल बीबीए⋆ इस अनुभाग में हम एक नया बाइनरी बीए प्रोटोकॉल, बीबीए⋆ प्रस्तुत करते हैं, जो अधिक की ईमानदारी पर निर्भर करता है दो-तिहाई खिलाड़ियों से अधिक और यह बहुत तेज़ है: चाहे दुर्भावनापूर्ण खिलाड़ी कुछ भी करें, इसके मुख्य लूप का प्रत्येक निष्पादन खिलाड़ियों को प्रायिकता 1/3 के साथ सहमति में लाता है। प्रत्येक खिलाड़ी के पास अद्वितीय हस्ताक्षर को संतुष्ट करने वाली डिजिटल हस्ताक्षर योजना की अपनी सार्वजनिक कुंजी होती है संपत्ति. चूंकि इस प्रोटोकॉल का उद्देश्य सिंक्रोनस पूर्ण नेटवर्क पर चलना है, इसलिए ऐसा नहीं है मुझे एक खिलाड़ी की आवश्यकता है जो उसके प्रत्येक संदेश पर हस्ताक्षर करे। चरण 3 में पर्याप्त रूप से सामान्य यादृच्छिक बिट उत्पन्न करने के लिए डिजिटल हस्ताक्षर का उपयोग किया जाता है। (Algorand में, डिजिटल हस्ताक्षर का उपयोग अन्य सभी संदेशों को प्रमाणित करने के लिए भी किया जाता है।) प्रोटोकॉल के लिए न्यूनतम सेट-अप की आवश्यकता होती है: एक सामान्य यादृच्छिक स्ट्रिंग आर, खिलाड़ियों से स्वतंत्र चाबियाँ. (Algorand में, r को वास्तव में मात्रा Qr द्वारा प्रतिस्थापित किया जाता है।) प्रोटोकॉल बीबीए⋆ एक 3-चरणीय लूप है, जहां खिलाड़ी बार-बार बूलियन मानों का आदान-प्रदान करते हैं, और अलग-अलग खिलाड़ी अलग-अलग समय पर इस लूप से बाहर निकल सकते हैं। एक खिलाड़ी जो प्रचारित करके इस लूप से बाहर निकलता है, कुछ कदम पर, या तो एक विशेष मान 0∗या एक विशेष मान 1∗, जिससे सभी खिलाड़ियों को निर्देश दिया जाता है "दिखावा करें" वे भविष्य के सभी चरणों में i से क्रमशः 0 और 1 प्राप्त करते हैं। (वैकल्पिक रूप से कहा गया: मान लीजिएकि एक खिलाड़ी जे को दूसरे खिलाड़ी से प्राप्त अंतिम संदेश थोड़ा बी था। फिर, किसी भी चरण में जिसमें उसे i से कोई संदेश प्राप्त नहीं होता है, j ऐसा व्यवहार करता है मानो मैंने उसे बिट b भेजा हो।) प्रोटोकॉल एक काउंटर \(\gamma\) का उपयोग करता है, जो दर्शाता है कि इसके 3-चरणीय लूप को कितनी बार निष्पादित किया गया है। BBA⋆ की शुरुआत में, \(\gamma\) = 0. (कोई \(\gamma\) को एक वैश्विक काउंटर के रूप में सोच सकता है, लेकिन यह वास्तव में बढ़ा हुआ है प्रत्येक व्यक्तिगत खिलाड़ी द्वारा हर बार जब लूप निष्पादित होता है।) वहाँ n \(\geq\)3t + 1 है, जहाँ t दुर्भावनापूर्ण खिलाड़ियों की अधिकतम संभव संख्या है। एक बाइनरी स्ट्रिंग x की पहचान उस पूर्णांक से की जाती है जिसका द्विआधारी प्रतिनिधित्व (संभावित अग्रणी 0s के साथ) x है; और lsb(x) x के सबसे कम महत्वपूर्ण बिट को दर्शाता है। प्रोटोकॉल बीबीए⋆ (संचार) चरण 1. [सिक्का-निर्धारित-टू-0 चरण] प्रत्येक खिलाड़ी को मैं द्वि भेजता हूं। 1.1 यदि #1 i (0) \(\geq\)2t + 1, फिर मैं bi = 0 सेट करता हूं, 0∗ भेजता हूं, आउटपुट आउटपुट = 0, और रुक जाता है. 1.2 यदि #1 i (1) \(\geq\)2t + 1, तब, फिर मैं bi = 1 सेट करता हूं। 1.3 अन्यथा, मैं bi = 0 सेट करता हूँ। (संचार) चरण 2. [सिक्का-निर्धारित-से-1 चरण] प्रत्येक खिलाड़ी को मैं द्वि भेजता हूं। 2.1 यदि #2 i (1) \(\geq\)2t + 1, तो मैं bi = 1 सेट करता हूं, 1∗ भेजता है, आउटपुट आउटआई = 1, और रुक जाता है. 2.2 यदि #2 i (0) \(\geq\)2t + 1, फिर मैंने bi = 0 सेट किया। 2.3 अन्यथा, मैं द्वि = 1 सेट करता हूँ। (संचार) चरण 3. [सिक्का-वास्तविक-फ़्लिप्ड चरण] प्रत्येक खिलाड़ी को मैं bi और SIGi(r, \(\gamma\)) भेजता हूं। 3.1 यदि #3 i (0) \(\geq\)2t + 1, तो मैं bi = 0 सेट करता हूं। 3.2 यदि #3 i (1) \(\geq\)2t + 1, तो मैं bi = 1 सेट करता हूं। 3.3 अन्यथा, Si = {j \(\in\)N जिन्होंने मुझे इस चरण 3 में एक उचित संदेश भेजा है, देते हुए, मैं bi = c \(\triangleq\)lsb(minj\(\in\)Si H(SIGi(r, \(\gamma\)))) सेट करता हूं; \(\gamma\)i को 1 से बढ़ाता है; और चरण 1 पर वापस आता है। प्रमेय 3.1. जब भी n \(\geq\)3t + 1, BBA⋆ सुदृढ़ता 1 के साथ एक बाइनरी (n, t)-BA प्रोटोकॉल है। प्रमेय 3.1 का प्रमाण [26] में दिया गया है। यह हमारी सेटिंग के अनुरूप है, और इसकी प्लेयर-प्रतिस्थापनीयता संपत्ति नवीन हैं. ऐतिहासिक टिप्पणी संभाव्य बाइनरी बीए प्रोटोकॉल सबसे पहले बेन-ऑर द्वारा प्रस्तावित किए गए थे अतुल्यकालिक सेटिंग्स [7]। प्रोटोकॉल बीबीए⋆ हमारी सार्वजनिक-कुंजी सेटिंग का एक नया अनुकूलन है फेल्डमैन और मिकाली का बाइनरी बीए प्रोटोकॉल [15]। उनका प्रोटोकॉल अपेक्षित तरीके से काम करने वाला पहला था चरणों की निरंतर संख्या. इसने खिलाड़ियों को स्वयं एक सामान्य सिक्का लागू करने के द्वारा काम किया, राबिन द्वारा प्रस्तावित एक धारणा, जिसने इसे एक बाहरी विश्वसनीय पार्टी [32] के माध्यम से लागू किया।3.5 श्रेणीबद्ध आम सहमति और प्रोटोकॉल जीसी आइए, मनमाने मूल्यों के लिए, बीजान्टिन समझौते की तुलना में आम सहमति की धारणा को बहुत कमजोर याद रखें। परिभाषा 3.2. मान लीजिए कि P एक प्रोटोकॉल है जिसमें सभी खिलाड़ियों का सेट सामान्य ज्ञान है, और प्रत्येक प्लेयर I निजी तौर पर एक मनमाना प्रारंभिक मान v' जानता है मैं. हम कहते हैं कि P एक (n, t)-ग्रेडेड सर्वसम्मति प्रोटोकॉल है, यदि, n खिलाड़ियों के साथ प्रत्येक निष्पादन में जिनमें से अधिकांश दुर्भावनापूर्ण हैं, प्रत्येक ईमानदार खिलाड़ी एक मूल्य-ग्रेड जोड़ी (vi, gi) का आउटपुट रोक देता है, जहां gi \(\in\){0, 1, 2}, ताकि निम्नलिखित तीन शर्तों को पूरा किया जा सके: 1. सभी ईमानदार खिलाड़ियों के लिए i और j, |gi −gj| \(\leq\)1. 2. सभी ईमानदार खिलाड़ियों के लिए i और j, gi, gj > 0 ⇒vi = vj. 3. यदि v' 1 = \(\cdots\) = वी' कुछ मान v के लिए n = v, फिर सभी ईमानदार खिलाड़ियों के लिए vi = v और gi = 2। ऐतिहासिक नोट श्रेणीबद्ध सर्वसम्मति की धारणा केवल श्रेणीबद्ध सर्वसम्मति से ली गई है प्रसारण, फेल्डमैन और मिकाली द्वारा [15] में एक क्रूसेडर की धारणा को मजबूत करके प्रस्तुत किया गया समझौता, जैसा कि डोलेव [12] द्वारा प्रस्तुत किया गया था, और टर्पिन और कोआन [33].8 द्वारा परिष्कृत किया गया था [15] में, लेखकों ने 3-चरण (एन, टी)-ग्रेडेड प्रसारण प्रोटोकॉल, ग्रेडकास्ट भी प्रदान किया है n \(\geq\)3t+1. n > 2t+1 के लिए एक अधिक जटिल (n, t)-ग्रेडेड-ब्रॉडकास्टिंग प्रोटोकॉल बाद में पाया गया है काट्ज़ और कू द्वारा [19]। निम्नलिखित दो-चरणीय प्रोटोकॉल GC में ग्रेडकास्ट के अंतिम दो चरण शामिल हैं, जो हमारे में व्यक्त किए गए हैं अंकन. इस तथ्य पर जोर देने के लिए, और अनुभाग 4.1 के प्रोटोकॉल Algorand ′ के चरणों का मिलान करने के लिए, हम GC के क्रमशः 2 और 3 चरणों के नाम बताइए। प्रोटोकॉल जीसी चरण 2. प्रत्येक खिलाड़ी को मैं v′ भेजता हूं मैं सभी खिलाड़ियों को. चरण 3. प्रत्येक खिलाड़ी मैं सभी खिलाड़ियों को स्ट्रिंग x भेजता हूं यदि और केवल यदि #2 मैं (x) \(\geq\)2t + 1. आउटपुट निर्धारण. प्रत्येक खिलाड़ी जोड़ी (vi, gi) को निम्नानुसार आउटपुट करता है: • यदि, कुछ x के लिए, #3 i (x) \(\geq\)2t + 1, फिर vi = x और gi = 2. • यदि, कुछ x के लिए, #3 i (x) \(\geq\)t + 1, फिर vi = x और gi = 1. • अन्यथा, vi = \(\bot\)और gi = 0. प्रमेय 3.2. यदि n \(\geq\)3t + 1 है, तो GC एक (n, t)-ग्रेडेड प्रसारण प्रोटोकॉल है। प्रमाण तुरंत [15] में प्रोटोकॉल ग्रेडकास्ट से मिलता है, और इस प्रकार छोड़ दिया जाता है।9 8 संक्षेप में, एक श्रेणीबद्ध-प्रसारण प्रोटोकॉल में, (ए) प्रत्येक खिलाड़ी का इनपुट एक विशिष्ट की पहचान है प्लेयर, प्रेषक, जिसके पास अतिरिक्त निजी इनपुट के रूप में एक मनमाना मान v है, और (बी) आउटपुट को संतुष्ट करना होगा श्रेणीबद्ध सर्वसम्मति के समान गुण 1 और 2, साथ ही निम्नलिखित गुण 3′: यदि प्रेषक ईमानदार है, तो vi = v और सभी ईमानदार खिलाड़ियों के लिए जीआई = 2। 9दरअसल, उनके प्रोटोकॉल में, चरण 1 में, प्रेषक सभी खिलाड़ियों को अपना निजी मूल्य v भेजता है, और प्रत्येक खिलाड़ी को मैं देता हूं वी′ इसमें वह मूल्य शामिल है जो उसने वास्तव में चरण 1 में प्रेषक से प्राप्त किया है।3.6 प्रोटोकॉल BA⋆ अब हम बाइनरी बीए प्रोटोकॉल बीबीए⋆और के माध्यम से मनमाने मूल्य वाले बीए प्रोटोकॉल बीए⋆ का वर्णन करते हैं ग्रेडेड-सर्वसम्मति प्रोटोकॉल जीसी। नीचे, प्रत्येक खिलाड़ी का प्रारंभिक मान i है v′ मैं. प्रोटोकॉल BA⋆ चरण 1 और 2। प्रत्येक खिलाड़ी इनपुट v′ पर GC निष्पादित करता है मैं, ताकि एक जोड़ी (vi, gi) की गणना की जा सके। चरण 3, . . . प्रत्येक खिलाड़ी I BBA⋆ निष्पादित करता है - प्रारंभिक इनपुट 0 के साथ, यदि gi = 2, और 1 अन्यथा - तो बिट आउटी की गणना करने के लिए। आउटपुट निर्धारण. प्रत्येक खिलाड़ी i आउटपुट vi देता है, यदि आउटआई = 0 है, और \(\bot\)अन्यथा। प्रमेय 3.3. जब भी n \(\geq\)3t + 1, BA⋆ एक (n, t)-BA प्रोटोकॉल है जिसमें सुदृढ़ता 1 है। सबूत. हम पहले संगति साबित करते हैं, और फिर सहमति। संगति का प्रमाण. मान लें कि, किसी मान v \(\in\)V , v′ के लिए मैं = वी. फिर, संपत्ति 3 से श्रेणीबद्ध सर्वसम्मति, जीसी के निष्पादन के बाद, सभी ईमानदार खिलाड़ी आउटपुट (v, 2)। तदनुसार, 0 है बीबीए⋆ के निष्पादन के अंत में सभी ईमानदार खिलाड़ियों का प्रारंभिक बिट। इस प्रकार, समझौते द्वारा बाइनरी बीजान्टिन समझौते की संपत्ति, BA⋆ के निष्पादन के अंत में, सभी ईमानदारों के लिए आउटआई = 0 खिलाड़ी. इसका तात्पर्य यह है कि BA⋆ में प्रत्येक ईमानदार खिलाड़ी i का आउटपुट vi = v है। ✷ समझौते का प्रमाण. चूँकि BBA⋆ एक बाइनरी BA प्रोटोकॉल है (ए) सभी ईमानदार खिलाड़ियों के लिए आउटआई = 1, या (बी) सभी ईमानदार खिलाड़ियों के लिए आउटआई = 0। मामले A में, सभी ईमानदार खिलाड़ी BA⋆ में आउटपुट देते हैं, और इस प्रकार समझौता कायम रहता है। अब केस बी पर विचार करें इस मामले में, BBA⋆ के निष्पादन में, कम से कम एक ईमानदार खिलाड़ी i का प्रारंभिक बिट 0 है। (वास्तव में, यदि सभी ईमानदार खिलाड़ियों की प्रारंभिक बिट 1 थी, फिर, बीबीए⋆ की संगति संपत्ति द्वारा, हमारे पास होगा सभी ईमानदार जे के लिए आउटजे = 1।) तदनुसार, जीसी के निष्पादन के बाद, मैं कुछ के लिए जोड़ी (v, 2) आउटपुट करता हूं मूल्य v. इस प्रकार, श्रेणीबद्ध सर्वसम्मति की संपत्ति 1 के अनुसार, सभी ईमानदार खिलाड़ियों के लिए gj > 0। तदनुसार, द्वारा श्रेणीबद्ध सर्वसम्मति की संपत्ति 2, सभी ईमानदार खिलाड़ियों के लिए वीजे = वी। इसका तात्पर्य यह है कि, के अंत में BA⋆, प्रत्येक ईमानदार खिलाड़ी j आउटपुट v देता है। इस प्रकार, समझौता B के मामले में भी लागू होता है। ✷ चूँकि संगति और सहमति दोनों मान्य हैं, BA⋆ एक मनमाना-मूल्य वाला BA प्रोटोकॉल है। ऐतिहासिक नोट टर्पिन और कोआन यह दिखाने वाले पहले व्यक्ति थे कि, n \(\geq\)3t+1 के लिए, कोई भी बाइनरी (n, t)-BA प्रोटोकॉल को मनमाना-मूल्य (एन, टी)-बीए प्रोटोकॉल में परिवर्तित किया जा सकता है। कमी मनमाना-मूल्य श्रेणीबद्ध सर्वसम्मति के माध्यम से बाइनरी बीजान्टिन समझौते के लिए बीजान्टिन समझौता अधिक मॉड्यूलर और है क्लीनर, और हमारे Algorand प्रोटोकॉल Algorand 'के विश्लेषण को सरल बनाता है। Algorand में उपयोग के लिए BA⋆ को सामान्यीकृत करना Algorand सभी संचार माध्यम से होने पर भी काम करता है गपशप करना. हालाँकि, हालाँकि इसे एक पारंपरिक और परिचित संचार नेटवर्क में प्रस्तुत किया गया है पिछली कला के साथ बेहतर तुलना और आसान समझ को सक्षम करने के लिए, प्रोटोकॉल BA⋆काम करता है गपशप नेटवर्क में भी. वास्तव में, Algorand के हमारे विस्तृत अवतार में, हम इसे प्रस्तुत करेंगे सीधे गपशप नेटवर्क के लिए। हम यह भी इंगित करेंगे कि यह खिलाड़ी की प्रतिस्थापनीयता को संतुष्ट करता है वह संपत्ति जो Algorand के लिए परिकल्पित अत्यंत प्रतिकूल मॉडल में सुरक्षित होना महत्वपूर्ण है।
गपशप संचार नेटवर्क में काम करने वाला कोई भी बीए प्लेयर-प्रतिस्थापन योग्य प्रोटोकॉल हो सकता है आविष्कारी Algorand प्रणाली में सुरक्षित रूप से नियोजित। विशेष रूप से, मिकाली और वैकुंठतनन ईमानदार खिलाड़ियों के एक साधारण बहुमत के साथ भी बहुत कुशलता से काम करने के लिए BA⋆ का विस्तार किया है। वह प्रोटोकॉल का उपयोग Algorand में भी किया जा सकता है।
Algorand के दो अवतार
जैसा कि चर्चा की गई है, बहुत उच्च स्तर पर, Algorand का एक दौर आदर्श रूप से निम्नानुसार आगे बढ़ता है। सबसे पहले, एक यादृच्छिक रूप से चयनित उपयोगकर्ता, नेता, एक नया ब्लॉक प्रस्तावित और प्रसारित करता है। (इस प्रक्रिया में प्रारंभ में शामिल है कुछ संभावित नेताओं का चयन करना और फिर यह सुनिश्चित करना कि, कम से कम समय का एक अच्छा हिस्सा, ए एकल आम नेता उभरता है।) दूसरा, उपयोगकर्ताओं की एक यादृच्छिक रूप से चयनित समिति का चयन किया जाता है, और नेता द्वारा प्रस्तावित ब्लॉक पर बीजान्टिन समझौते पर पहुँचता है। (इस प्रक्रिया में वह भी शामिल है बीए प्रोटोकॉल का प्रत्येक चरण एक अलग से चयनित समिति द्वारा चलाया जाता है।) सहमत ब्लॉक फिर समिति के सदस्यों की दी गई सीमा (टीएच) द्वारा डिजिटल रूप से हस्ताक्षरित किया जाता है। ये डिजिटल हस्ताक्षर प्रसारित किया जाता है ताकि सभी को आश्वस्त किया जा सके कि नया ब्लॉक कौन सा है। (इसमें प्रसारित करना शामिल है हस्ताक्षरकर्ताओं की साख, और नए ब्लॉक के केवल hash को प्रमाणित करना, यह सुनिश्चित करना कि हर कोई ब्लॉक को सीखने की गारंटी दी जाती है, एक बार इसका hash स्पष्ट हो जाता है।) अगले दो अनुभागों में, हम Algorand, Algorand 'के दो अवतार प्रस्तुत करते हैं। 1 और Algorand' 2, यह बहुसंख्यक-ईमानदार-उपयोगकर्ताओं की धारणा के तहत काम करता है। धारा 8 में हम बताते हैं कि इन्हें कैसे अपनाया जाए ईमानदार-बहुमत-पैसे की धारणा के तहत काम करने के अवतार। Algorand ' 1 में केवल यह परिकल्पना की गई है कि > समिति के 2/3 सदस्य ईमानदार हैं। इसके अलावा, में Algorand ' 1, बीजान्टिन समझौते तक पहुँचने के लिए चरणों की संख्या उपयुक्त रूप से उच्च रखी गई है संख्या, ताकि समझौते पर अत्यधिक संभावना के साथ पहुंचने की गारंटी हो चरणों की निश्चित संख्या (लेकिन संभावित रूप से Algorand के चरणों की तुलना में अधिक समय की आवश्यकता होती है) 2). में दूरस्थ मामले जिनमें अंतिम चरण तक सहमति नहीं बनी है, समिति इस पर सहमत है खाली ब्लॉक, जो हमेशा वैध होता है। Algorand ' 2 की परिकल्पना है कि किसी समिति में ईमानदार सदस्यों की संख्या सदैव अधिक होती है या एक निश्चित सीमा tH के बराबर (जो इसकी गारंटी देता है, कम से कम अत्यधिक संभावना के साथ समिति के 2/3 सदस्य ईमानदार हैं)। इसके अलावा, Algorand' 2 बीजान्टिन समझौते की अनुमति देता है मनमाने ढंग से चरणों की संख्या में पहुंचा जा सकता है (लेकिन संभावित रूप से Algorand से कम समय में) 1). इन मूल अवतारों के कई प्रकार प्राप्त करना आसान है। विशेष रूप से, यह आसान है, दिया गया है Algorand ' 2, Algorand को संशोधित करने के लिए ' 1 ताकि मनमाने ढंग से बीजान्टिन समझौते तक पहुंचने में सक्षम हो सके चरणों की संख्या. दोनों अवतार निम्नलिखित सामान्य कोर, नोटेशन, धारणाएं और पैरामीटर साझा करते हैं। 4.1 एक सामान्य कोर उद्देश्य आदर्श रूप से, प्रत्येक राउंड r के लिए, Algorand निम्नलिखित गुणों को संतुष्ट करेगा: 1. उत्तम शुद्धता. सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक पर सहमत हैं ब्र. 2. पूर्णता 1. संभाव्यता 1 के साथ, Br, PAY r का भुगतान अधिकतम है।10 10क्योंकि पेसेट को वैध भुगतान शामिल करने के लिए परिभाषित किया गया है, और ईमानदार उपयोगकर्ताओं को केवल वैध भुगतान करने के लिए, अधिकतम PAY r में सभी ईमानदार उपयोगकर्ताओं के "वर्तमान में बकाया" भुगतान शामिल हैं।निःसंदेह, अकेले पूर्ण शुद्धता की गारंटी देना तुच्छ है: हर कोई हमेशा अधिकारी को ही चुनता है पेसेट पे आर खाली होना। लेकिन इस मामले में, सिस्टम की पूर्णता 0 होगी। दुर्भाग्य से, दुर्भावनापूर्ण की उपस्थिति में पूर्ण शुद्धता और पूर्णता 1 दोनों की गारंटी देना आसान नहीं है उपयोगकर्ता. Algorand इस प्रकार अधिक यथार्थवादी उद्देश्य अपनाता है। अनौपचारिक रूप से, h को प्रतिशत दर्शाने देना ईमानदार उपयोगकर्ताओं की संख्या, h > 2/3, Algorand का लक्ष्य है ज़बरदस्त संभावना के साथ गारंटी, सही शुद्धता और एच के करीब पूर्णता। पूर्णता पर शुद्धता को प्राथमिकता देना एक उचित विकल्प प्रतीत होता है: भुगतान संसाधित नहीं होते हैं एक राउंड को अगले में संसाधित किया जा सकता है, लेकिन यदि संभव हो तो कांटे से बचना चाहिए। बीजान्टिन समझौते का नेतृत्व किया पूर्ण शुद्धता की गारंटी इस प्रकार दी जा सकती है। शुरुआत में राउंड आर में, प्रत्येक उपयोगकर्ता अपना स्वयं का उम्मीदवार ब्लॉक ब्र बनाता है मैं , और फिर सभी उपयोगकर्ता बीजान्टिन तक पहुँचते हैं एक उम्मीदवार ब्लॉक पर सहमति. हमारे परिचय के अनुसार, नियोजित बीए प्रोटोकॉल की आवश्यकता है 2/3 ईमानदार बहुमत और खिलाड़ी को बदला जा सकता है। इसके प्रत्येक चरण को एक छोटे और द्वारा क्रियान्वित किया जा सकता है सत्यापनकर्ताओं का बेतरतीब ढंग से चयनित सेट, जो कोई आंतरिक चर साझा नहीं करता है। दुर्भाग्य से, इस दृष्टिकोण की पूर्णता की कोई गारंटी नहीं है। ऐसा इसलिए है, क्योंकि उम्मीदवार ईमानदार उपयोगकर्ताओं के ब्लॉक संभवतः एक-दूसरे से पूरी तरह भिन्न होते हैं। इस प्रकार, अंततः सहमत ब्लॉक हमेशा गैर-अधिकतम भुगतान वाला हो सकता है। वास्तव में, यह हमेशा हो सकता है खाली ब्लॉक, B\(\varepsilon\), यानी वह ब्लॉक जिसका पेसेट खाली है। ठीक है, डिफ़ॉल्ट हो, खाली हो। Algorand ′ इस पूर्णता समस्या से निम्नानुसार बचता है। सबसे पहले, राउंड आर, \(\ell\)आर के लिए एक नेता का चयन किया जाता है। फिर, \(\ell\)r अपने स्वयं के उम्मीदवार ब्लॉक, ब्र का प्रचार करता है \(\ell\)r. अंत में, उपयोगकर्ता ब्लॉक पर सहमति पर पहुंचते हैं वे वास्तव में \(\ell\)r से प्राप्त करते हैं। क्योंकि, जब भी \(\ell\)r ईमानदार होता है, पूर्ण शुद्धता और पूर्णता होती है 1 दोनों धारण करते हैं, Algorand ′ यह सुनिश्चित करता है कि \(\ell\)r, h के निकट संभाव्यता के साथ ईमानदार है। (जब नेता हो दुर्भावनापूर्ण, हमें इसकी परवाह नहीं है कि सहमत ब्लॉक खाली पेसेट वाला है या नहीं। आख़िरकार, ए दुर्भावनापूर्ण नेता \(\ell\)r हमेशा दुर्भावनापूर्ण रूप से ब्र को चुन सकता है \(\ell\)r खाली ब्लॉक होना, और फिर ईमानदारी से इसे प्रचारित करें, इस प्रकार ईमानदार उपयोगकर्ताओं को खाली ब्लॉक पर सहमत होने के लिए मजबूर करें।) नेता चयन Algorand में, rवाँ ब्लॉक Br = (r, PAY r, Qr, H(Br−1) के रूप का है। जैसा कि परिचय में पहले ही उल्लेख किया गया है, मात्रा Qr−1 का सावधानीपूर्वक निर्माण किया गया है हमारे अत्यंत शक्तिशाली प्रतिद्वंद्वी द्वारा अनिवार्य रूप से गैर-हेरफेर योग्य। (बाद में इस अनुभाग में, हम करेंगे ऐसा क्यों है इसके बारे में कुछ अंतर्ज्ञान प्रदान करें।) एक राउंड आर की शुरुआत में, सभी उपयोगकर्ता जानते हैं blockchain अब तक, B0, . . . , Br−1, जिससे वे प्रत्येक पिछले दौर के उपयोगकर्ताओं का सेट निकालते हैं: वह है, PK1, . . . , पीकेआर−1. राउंड आर का एक संभावित नेता एक ऐसा उपयोगकर्ता है .एच सिगी आर, 1, क्यूआर−1 \(\leq\)p . आइये समझाते हैं. ध्यान दें, चूँकि मात्रा Qr−1 ब्लॉक Br−1 और अंतर्निहित का हिस्सा है हस्ताक्षर योजना विशिष्टता संपत्ति, SIGi को संतुष्ट करती है आर, 1, क्यूआर−1 विशिष्ट रूप से एक बाइनरी स्ट्रिंग है मैं और आर से संबंधित. इस प्रकार, चूँकि H एक यादृच्छिक oracle है, H सिगी आर, 1, क्यूआर−1 एक यादृच्छिक 256-बिट है लंबी स्ट्रिंग विशिष्ट रूप से i और r से संबद्ध है। प्रतीक "।" एच के सामने सिगी आर, 1, क्यूआर−1 है दशमलव (हमारे मामले में, बाइनरी) बिंदु, ताकि ri \(\triangleq\).H सिगी आर, 1, क्यूआर−1 a का द्विआधारी विस्तार है 0 और 1 के बीच यादृच्छिक 256-बिट संख्या विशिष्ट रूप से i और r से संबद्ध है। इस प्रकार संभावना है कि ri, p से कम या उसके बराबर है, मूलतः p है। (हमारा संभावित-नेता चयन तंत्र रहा है मिकाली और रिवेस्ट की सूक्ष्म भुगतान योजना [28] से प्रेरित।) संभाव्यता p को इसलिए चुना गया है ताकि, अत्यधिक (अर्थात, 1 −F) संभाव्यता के साथ, कम से कम एक संभावित सत्यापनकर्ता ईमानदार है। (यदि वास्तव में, p को ऐसी सबसे छोटी संभावना के रूप में चुना गया है।)ध्यान दें, चूंकि केवल मैं ही अपने हस्ताक्षरों की गणना करने में सक्षम हूं, वह अकेला ही ऐसा कर सकता है निर्धारित करें कि क्या वह राउंड 1 का संभावित सत्यापनकर्ता है। हालाँकि, अपनी स्वयं की साख प्रकट करके, \(\sigma\)r मैं \(\triangleq\)SIGi आर, 1, क्यूआर−1 , मैं किसी को भी राउंड आर का संभावित सत्यापनकर्ता साबित कर सकता हूं। नेता \(\ell\)r को संभावित नेता के रूप में परिभाषित किया गया है जिसकी hashed साख उससे छोटी है अन्य सभी संभावित नेताओं की hashed क्रेडेंशियल j: यानी, H(\(\sigma\)r,s \(\ell\)r ) \(\leq\)H(\(\sigma\)r,s ज ). ध्यान दें, चूंकि एक दुर्भावनापूर्ण \(\ell\)r अपनी साख प्रकट नहीं कर सकता है, राउंड आर का सही नेता ऐसा कर सकता है कभी ज्ञात नहीं होगा, और यह कि, असंभव संबंधों को छोड़कर, \(\ell\)r वास्तव में राउंड आर का एकमात्र नेता है। आइए अंततः एक अंतिम लेकिन महत्वपूर्ण विवरण प्रस्तुत करें: एक उपयोगकर्ता मैं एक संभावित नेता हो सकता हूं (और इस प्रकार)। राउंड आर का नेता) केवल तभी जब वह कम से कम के राउंड के लिए सिस्टम से संबंधित हो। यह गारंटी देता है क्यूआर और सभी भविष्य की क्यू-मात्राओं की गैर-हेरफेरशीलता। वास्तव में, संभावित नेताओं में से एक वास्तव में क्यूआर निर्धारित करेगा। सत्यापनकर्ता चयन राउंड आर के प्रत्येक चरण एस > 1 को सत्यापनकर्ताओं, एसवी आर, एस के एक छोटे सेट द्वारा निष्पादित किया जाता है। फिर से, प्रत्येक सत्यापनकर्ता i \(\in\)SV r,s को सिस्टम k राउंड में पहले से मौजूद उपयोगकर्ताओं के बीच यादृच्छिक रूप से चुना जाता है r से पहले, और फिर विशेष मात्रा Qr−1 के माध्यम से। विशेष रूप से, i \(\in\)PKr−k SV r,s में एक सत्यापनकर्ता है, यदि .एच सिगी आर, एस, क्यूआर−1 \(\leq\)p′ . एक बार फिर, केवल मैं ही जानता हूं कि वह एसवी आर,एस से संबंधित है या नहीं, लेकिन, यदि यह मामला है, तो वह इसे साबित कर सकता है अपनी साख का प्रदर्शन \(\sigma\)r,s मैं \(\triangleq\)H(SIGi आर, एस, क्यूआर−1 ). एक सत्यापनकर्ता i \(\in\)SV r,s एक संदेश भेजता है, श्रीमान, एस मैं, में राउंड आर के चरण एस, और इस संदेश में उसका क्रेडेंशियल \(\sigma\)r,s शामिल है मैं, ताकि सत्यापनकर्ताओं को सक्षम किया जा सके उस श्रीमान को पहचानने के लिए नेस्ट स्टेप मैं एक वैध कदम-एस संदेश है. संभाव्यता p′ को इसलिए चुना गया है ताकि यह सुनिश्चित किया जा सके कि, SV r,s में, #good की संख्या हो ईमानदार उपयोगकर्ताओं और #बुरे दुर्भावनापूर्ण उपयोगकर्ताओं की संख्या, अत्यधिक संभावना के साथ निम्नलिखित दो शर्तें कायम हैं. अवतार के लिए Algorand ' 1: (1) #अच्छा > 2 \(\cdot\) #बुरा और (2) #अच्छा + 4 \(\cdot\) #बुरा <2एन, जहां एन एसवी आर,एस की अपेक्षित कार्डिनैलिटी है। अवतार के लिए Algorand ' 2: (1) #अच्छा > वें और (2) #अच्छा + 2#बुरा <2टीएच, जहां टीएच एक निर्दिष्ट सीमा है। इन शर्तों का अर्थ है कि, पर्याप्त रूप से उच्च संभावना के साथ, (ए) बीए के अंतिम चरण में प्रोटोकॉल, नए ब्लॉक ब्र पर डिजिटल हस्ताक्षर करने के लिए कम से कम ईमानदार खिलाड़ियों की संख्या दी जाएगी, (बी) प्रति राउंड केवल एक ब्लॉक में आवश्यक संख्या में हस्ताक्षर हो सकते हैं, और (सी) प्रयुक्त बीए प्रोटोकॉल में (प्रत्येक चरण पर) आवश्यक 2/3 ईमानदार बहुमत होता है। ब्लॉक जनरेशन को स्पष्ट करना यदि राउंड-आर लीडर \(\ell\)r ईमानदार है, तो संबंधित ब्लॉक स्वरूप का है ब्र = आर, भुगतान आर, हस्ताक्षर\(\ell\)आर क्यूआर−1 , एच ब्र−1 , जहां पेसेट PAY r अधिकतम है। (याद रखें कि सभी भुगतान, परिभाषा के अनुसार, सामूहिक रूप से वैध हैं।) अन्यथा (अर्थात, यदि \(\ell\)r दुर्भावनापूर्ण है), Br के निम्नलिखित दो संभावित रूपों में से एक है: ब्र = आर, भुगतान आर, सिगी Qr−1 , एच ब्र−1 और ब्र = ब्र \(\varepsilon\) \(\triangleq\) r, \(\emptyset\), Qr−1, H ब्र−1 .पहले रूप में, PAY r एक (अनिवार्य रूप से अधिकतम) भुगतान सेट है और यह PAY r = \(\emptyset\) हो सकता है; और मैं हूं राउंड आर के एक संभावित नेता। (हालाँकि, मैं नेता नहीं हो सकता \(\ell\)r। यह वास्तव में हो सकता है यदि \(\ell\)r अपनी पहचान गुप्त रखता है और खुद को प्रकट नहीं करता है।) दूसरा रूप तब उत्पन्न होता है, जब बीए प्रोटोकॉल के राउंड-आर निष्पादन में, सभी ईमानदार खिलाड़ी डिफ़ॉल्ट मान आउटपुट करें, जो खाली ब्लॉक Br है \(\varepsilon\) हमारे आवेदन में। (परिभाषा के अनुसार, संभव BA प्रोटोकॉल के आउटपुट में एक डिफ़ॉल्ट मान शामिल होता है, जिसे सामान्यतः \(\bot\) द्वारा दर्शाया जाता है। अनुभाग 3.2 देखें।) ध्यान दें, यद्यपि दोनों मामलों में भुगतान सेट खाली हैं, Br = आर, \(\emptyset\), सिगी Qr−1 , एच ब्र−1 और ब्र \(\varepsilon\) वाक्यात्मक रूप से अलग-अलग ब्लॉक हैं और दो अलग-अलग स्थितियों में उत्पन्न होते हैं: क्रमशः, "सभी बीए प्रोटोकॉल के निष्पादन में काफी आसानी से चला गया", और "इसमें कुछ गलत हो गया बीए प्रोटोकॉल, और डिफ़ॉल्ट मान आउटपुट था"। आइए अब हम सहज रूप से वर्णन करें कि ब्लॉक Br की पीढ़ी Algorand 'के दौर में कैसे आगे बढ़ती है। पहले चरण में, प्रत्येक पात्र खिलाड़ी, अर्थात, प्रत्येक खिलाड़ी \(\in\)PKr−k, जाँचता है कि क्या वह एक संभावित खिलाड़ी है नेता. यदि यह मामला है, तो मुझसे पूछा गया है कि उसने अब तक देखे गए सभी भुगतानों का उपयोग किया है, और वर्तमान blockchain, B0, . . . , Br−1, गुप्त रूप से अधिकतम भुगतान सेट तैयार करने के लिए, PAY r मैं, और गुप्त रूप से अपने उम्मीदवार ब्लॉक, Br = को इकट्ठा करता है आर, भुगतान आर मैं, सिगी Qr−1 , एच ब्र−1 . अर्थात्, केवल वह ही नहीं है ब्र में शामिल करें मैं, इसके दूसरे घटक के रूप में हाल ही में तैयार किया गया पेसेट, लेकिन इसके तीसरे घटक के रूप में भी, Qr−1 के अपने हस्ताक्षर, अंतिम ब्लॉक का तीसरा घटक, Br−1। अंत में, उन्होंने अपना प्रचार किया राउंड-आर-स्टेप-1 संदेश, श्रीमान,1 i, जिसमें (ए) उसका उम्मीदवार ब्लॉक ब्र शामिल है मैं, (बी) उसके उचित हस्ताक्षर उनके उम्मीदवार ब्लॉक का (अर्थात्, ब्र. के hash पर उनके हस्ताक्षर)। मैं, और (सी) उसकी अपनी साख \(\sigma\)r,1 मैं, साबित कर रहा हूँ वह वास्तव में राउंड आर का एक संभावित सत्यापनकर्ता है। (ध्यान दें, जब तक कोई ईमानदार व्यक्ति अपना संदेश प्रस्तुत नहीं करता, श्रीमान,1 मैं, प्रतिद्वंद्वी को कोई सुराग नहीं है कि मैं एक हूं संभावित सत्यापनकर्ता. यदि वह ईमानदार संभावित नेताओं को भ्रष्ट करना चाहे, तो विरोधी भी ऐसा कर सकता है भ्रष्ट यादृच्छिक ईमानदार खिलाड़ी। हालाँकि, एक बार वह श्रीमान को देखता है,1 i, चूंकि इसमें i का क्रेडेंशियल शामिल है, इसलिए विरोधी जानता है और मुझे भ्रष्ट कर सकता है, लेकिन श्रीमान को रोक नहीं सकता i , जिसे वायरल रूप से प्रचारित किया जाता है सिस्टम में सभी उपयोगकर्ताओं तक पहुँचना।) दूसरे चरण में, प्रत्येक चयनित सत्यापनकर्ता j \(\in\)SV r,2 राउंड के लीडर की पहचान करने का प्रयास करता है। विशेष रूप से, j चरण-1 क्रेडेंशियल लेता है, \(\sigma\)r,1 मैं1 , . . . , \(\sigma\)r,1 में, उचित चरण-1 संदेश में निहित है श्रीमान,1 मैं उसे प्राप्त हुआ है; hashes ये सभी, यानी H की गणना करते हैं \(\sigma\)r,1 मैं1 , . . . , एच \(\sigma\)r,1 में ; क्रेडेंशियल ढूँढता है, \(\sigma\)r,1 \(\ell\)j , जिसका hash शब्दकोष की दृष्टि से न्यूनतम है; और \(\ell\)r पर विचार करता है जे राउंड आर का लीडर होगा। याद रखें कि प्रत्येक माना गया क्रेडेंशियल Qr−1, यानी SIGi का एक डिजिटल हस्ताक्षर है आर, 1, क्यूआर−1 है i और Qr−1 द्वारा विशिष्ट रूप से निर्धारित, कि H यादृच्छिक oracle है, और इस प्रकार प्रत्येक H(SIGi) आर, 1, क्यूआर−1 राउंड आर के प्रत्येक संभावित लीडर आई के लिए अद्वितीय एक यादृच्छिक 256-बिट लंबी स्ट्रिंग है। इससे हम यह निष्कर्ष निकाल सकते हैं कि, यदि 256-बिट स्ट्रिंग Qr−1 स्वयं यादृच्छिक और स्वतंत्र रूप से होती चयनित, तो राउंड आर के सभी संभावित नेताओं की hashed क्रेडेंशियल होंगी। वास्तव में, सभी संभावित नेताओं को अच्छी तरह से परिभाषित किया गया है, और उनकी साख भी (चाहे वास्तव में गणना की गई हो या नहीं). इसके अलावा, राउंड आर के संभावित नेताओं का सेट राउंड के उपयोगकर्ताओं का एक यादृच्छिक उपसमूह है आर −के, और एक ईमानदार संभावित नेता मैं हमेशा अपने संदेश का उचित ढंग से निर्माण और प्रचार करता हूं श्रीमान मैं , जिसमें i का क्रेडेंशियल शामिल है। इस प्रकार, चूंकि ईमानदार उपयोगकर्ताओं का प्रतिशत h है, इससे कोई फर्क नहीं पड़ता दुर्भावनापूर्ण संभावित नेता ऐसा कर सकते हैं (उदाहरण के लिए, अपनी स्वयं की साख प्रकट करना या छिपाना), न्यूनतम hashed संभावित-नेता की साख एक ईमानदार उपयोगकर्ता की होती है, जिसे हर कोई आवश्यक रूप से पहचानता है राउंड आर का लीडर \(\ell\)r बनना। तदनुसार, यदि 256-बिट स्ट्रिंग Qr−1 स्वयं यादृच्छिक रूप से थी और स्वतंत्र रूप से चयनित, बिल्कुल संभावना के साथ (ए) नेता \(\ell\)r ईमानदार है और (बी) \(\ell\)j = \(\ell\)r सभी के लिए ईमानदार चरण-2 सत्यापनकर्ता जे. वास्तव में, hashed क्रेडेंशियल, हाँ, यादृच्छिक रूप से चुने गए हैं, लेकिन Qr−1 पर निर्भर करते हैं, जो कि हैबेतरतीब ढंग से और स्वतंत्र रूप से चयनित नहीं। हालाँकि, हम अपने विश्लेषण में साबित करेंगे कि Qr−1 है यह गारंटी देने के लिए पर्याप्त रूप से गैर-हेरफेर योग्य है कि एक दौर का नेता संभाव्यता के साथ ईमानदार है h' पर्याप्त रूप से h के करीब है: अर्थात्, h' > h2(1 + h −h2)। उदाहरण के लिए, यदि h = 80%, तो h′ > .7424। दौर के नेता की पहचान करने के बाद (जो वे तब सही ढंग से करते हैं जब नेता ईमानदार हो), चरण-2 सत्यापनकर्ताओं का कार्य प्रारंभिक मानों के रूप में उनका विश्वास करते हुए बीए को निष्पादित करना शुरू करना है नेता का ब्लॉक होना. दरअसल, आवश्यक संचार की मात्रा को कम करने के लिए, एक सत्यापनकर्ता j \(\in\)SV r,2 का उपयोग नहीं करता है, क्योंकि उसका इनपुट मान v′ है बीजान्टिन प्रोटोकॉल के लिए जे, ब्लॉक बी.जे वह वास्तव में \(\ell\)j (उपयोगकर्ता j को नेता मानता है) से प्राप्त हुआ है, लेकिन नेता, लेकिन उस ब्लॉक का hash, अर्थात, v′ जे = एच(बीआई). इस प्रकार, बीए प्रोटोकॉल की समाप्ति पर, सत्यापनकर्ता अंतिम चरण में वांछित राउंड-आर ब्लॉक बीआर की गणना न करें, बल्कि गणना करें (प्रमाणित करें और प्रचारित करें) एच(बीआर)। तदनुसार, चूंकि एच(बीआर) पर पर्याप्त रूप से कई सत्यापनकर्ताओं द्वारा डिजिटल हस्ताक्षर किए गए हैं BA प्रोटोकॉल के अंतिम चरण में, सिस्टम में उपयोगकर्ताओं को एहसास होगा कि H(Br) नए का hash है ब्लॉक. हालाँकि, उन्हें पुनः प्राप्त भी करना होगा (या प्रतीक्षा करनी होगी, क्योंकि निष्पादन काफी अतुल्यकालिक है)। Br को स्वयं ब्लॉक करें, जो प्रोटोकॉल सुनिश्चित करता है कि वास्तव में उपलब्ध है, इससे कोई फर्क नहीं पड़ता कि प्रतिद्वंद्वी क्या है कर सकता हूँ. अतुल्यकालिकता और समय Algorand ' 1 और Algorand' 2 में अतुल्यकालिकता की महत्वपूर्ण डिग्री है। ऐसा इसलिए है क्योंकि प्रतिद्वंद्वी के पास संदेशों की डिलीवरी को शेड्यूल करने में बड़ी छूट है प्रचारित किया गया। इसके अलावा, एक राउंड में चरणों की कुल संख्या सीमित है या नहीं, यह भी है भिन्नता वास्तव में उठाए गए कदमों की संख्या से योगदान करती है। जैसे ही उसे B0 का प्रमाणपत्र पता चलता है। . . , Br−1, एक उपयोगकर्ता i Qr−1 की गणना करता है और काम करना शुरू कर देता है राउंड आर पर, जाँच कर रहा है कि क्या वह एक संभावित नेता है, या राउंड आर के कुछ चरणों में एक सत्यापनकर्ता है। यह मानते हुए कि मुझे चर्चा की गई अतुल्यकालिकता के आलोक में चरणों पर कार्य करना चाहिए, मैं विभिन्न पर भरोसा करता हूं यह सुनिश्चित करने के लिए रणनीतियाँ कि कार्य करने से पहले उसके पास पर्याप्त जानकारी हो। उदाहरण के लिए, वह सत्यापनकर्ताओं से कम से कम एक निश्चित संख्या में संदेश प्राप्त करने की प्रतीक्षा कर सकता है पिछला चरण, या यह सुनिश्चित करने के लिए पर्याप्त समय तक प्रतीक्षा करें कि उसे पर्याप्त रूप से संदेश प्राप्त हों पिछले चरण के कई सत्यापनकर्ता। बीज Qr और लुक-बैक पैरामीटर k याद रखें कि, आदर्श रूप से, Qr की मात्रा होनी चाहिए यादृच्छिक और स्वतंत्र, हालांकि यह उनके लिए पर्याप्त रूप से गैर-हेरफेर योग्य होगा विरोधी. पहली नज़र में, हम H से मेल खाने के लिए Qr−1 चुन सकते हैं भुगतान r−1 , और इस प्रकार से बचें Br−1 में स्पष्ट रूप से Qr−1 निर्दिष्ट करें। हालाँकि, एक प्रारंभिक विश्लेषण से पता चलता है कि दुर्भावनापूर्ण उपयोगकर्ता हो सकते हैं इस चयन तंत्र का लाभ उठाएं।11 कुछ अतिरिक्त प्रयासों से पता चलता है कि असंख्य अन्य 11हम राउंड आर -1 की शुरुआत में हैं। इस प्रकार, Qr−2 = PAY r−2 सार्वजनिक रूप से ज्ञात है, और प्रतिद्वंद्वी निजी तौर पर वह जानता है कि उसके द्वारा नियंत्रित किये जाने वाले संभावित नेता कौन हैं। मान लें कि विरोधी 10% उपयोगकर्ताओं को नियंत्रित करता है, और कि, बहुत अधिक संभावना के साथ, एक दुर्भावनापूर्ण उपयोगकर्ता w राउंड r −1 का संभावित नेता है। यानी मान लीजिये एच एसआईजीडब्ल्यू आर −2, 1, क्यूआर−2 यह इतना छोटा है कि यह बेहद असंभव है कि कोई ईमानदार संभावित नेता वास्तव में होगा राउंड आर −1 का नेता। (याद रखें, चूँकि हम संभावित नेताओं को एक गुप्त क्रिप्टोग्राफ़िक सॉर्टिशन तंत्र के माध्यम से चुनते हैं, प्रतिद्वंद्वी को यह नहीं पता कि ईमानदार संभावित नेता कौन हैं।) इसलिए, प्रतिद्वंद्वी ईर्ष्यालु है वह जो भुगतान सेट PAY ′ चाहता है उसे चुनने की स्थिति, और क्या यह राउंड आर −1 का आधिकारिक भुगतान बन गया है। हालाँकि, वह और अधिक कर सकता है. वह यह भी सुनिश्चित कर सकता है कि, उच्च संभावना के साथ, () उसका कोई दुर्भावनापूर्ण उपयोगकर्ता नेता होगा राउंड आर का भी, ताकि वह स्वतंत्र रूप से चयन कर सके कि PAY r क्या होगा। (और इसी तरह। कम से कम लंबे समय तक, यानी, जब तक ये उच्च-संभावना वाली घटनाएं वास्तव में घटित होती हैं।) गारंटी देने के लिए (), प्रतिद्वंद्वी निम्नानुसार कार्य करता है। भुगतान करने दो'' राउंड आर −1 के लिए प्रतिद्वंद्वी द्वारा पसंद किया जाने वाला भुगतान सेट हो। फिर, वह H(PAY ′) की गणना करता है और जाँचता है कि क्या, कुछ के लिए पहले से ही दुर्भावनापूर्ण प्लेयर z, SIGz(r, 1, H(PAY ′)) विशेष रूप से छोटा है, यानी इतना छोटा कि बहुत अधिक के साथ प्रायिकता z राउंड आर का लीडर होगा। यदि यह मामला है, तो वह डब्ल्यू को अपना उम्मीदवार ब्लॉक चुनने का निर्देश देता हैयह सुनिश्चित करने के लिए पारंपरिक ब्लॉक मात्राओं पर आधारित विकल्पों का प्रतिद्वंद्वी द्वारा आसानी से उपयोग किया जा सकता है दुर्भावनापूर्ण नेता बहुत बार होते हैं। इसके बजाय हम अपने ब्रांड को विशेष रूप से और आगमनात्मक रूप से परिभाषित करते हैं नई मात्रा क्यूआर ताकि यह साबित करने में सक्षम हो सके कि यह प्रतिद्वंद्वी द्वारा गैर-हेरफेर योग्य है। अर्थात्, Qr \(\triangleq\)H(SIG\(\ell\)r(Qr−1), r), यदि Br खाली ब्लॉक नहीं है, और Qr \(\triangleq\)H(Qr−1, r) अन्यथा। क्यूआर का यह निर्माण क्यों काम करता है इसका अंतर्ज्ञान इस प्रकार है। एक पल के लिए मान लीजिए कि Qr−1 वास्तव में यादृच्छिक रूप से और स्वतंत्र रूप से चुना गया है। तो फिर, क्या क्यूआर भी ऐसा ही होगा? जब \(\ell\)r ईमानदार है उत्तर (मोटे तौर पर) हाँ है। ऐसा इसलिए है क्योंकि H(SIG\(\ell\)r( \(\cdot\) ), r) : {0, 1}256 −→{0, 1}256 एक यादृच्छिक कार्य है. हालाँकि, जब \(\ell\)r दुर्भावनापूर्ण होता है, तो Qr अब Qr−1 से एकतरफा परिभाषित नहीं होता है और \(\ell\)r. Qr के लिए कम से कम दो अलग-अलग मान हैं। एक Qr \(\triangleq\)H(SIG\(\ell\)r(Qr−1), r) बना रहता है। और दूसरा H(Qr−1, r) है। आइए पहले हम यह तर्क दें कि, जबकि दूसरा विकल्प कुछ हद तक मनमाना है, दूसरा विकल्प बिल्कुल अनिवार्य है। इसका कारण यह है कि एक दुर्भावनापूर्ण \(\ell\)r हमेशा कारण बन सकता है दूसरे चरण के ईमानदार सत्यापनकर्ताओं द्वारा पूरी तरह से अलग-अलग उम्मीदवार ब्लॉक प्राप्त किए जाएंगे।12 एक बार इस मामले में, यह सुनिश्चित करना आसान है कि ब्लॉक अंततः बीए प्रोटोकॉल के माध्यम से सहमत हो गया है राउंड आर डिफ़ॉल्ट होगा, और इस प्रकार इसमें Qr−1 के किसी के डिजिटल हस्ताक्षर शामिल नहीं होंगे। लेकिन सिस्टम को जारी रहना चाहिए, और इसके लिए इसे राउंड आर के लिए एक नेता की आवश्यकता है। यदि यह नेता स्वचालित रूप से है और खुले तौर पर चुना गया, तो विरोधी उसे तुच्छ रूप से भ्रष्ट कर देगा। यदि यह पिछले द्वारा चयनित है Qr−1 उसी प्रक्रिया के माध्यम से, \(\ell\)r फिर से राउंड r+1 में अग्रणी होगा। हम विशेष रूप से प्रस्ताव करते हैं उसी गुप्त क्रिप्टोग्राफ़िक सॉर्टिशन तंत्र का उपयोग करें, लेकिन एक नई क्यू-मात्रा पर लागू करें: अर्थात्, H(Qr−1, r). इस मात्रा को H का आउटपुट मानकर यह गारंटी देता है कि आउटपुट यादृच्छिक है, और H के दूसरे इनपुट के रूप में r को शामिल करके, जबकि H के अन्य सभी उपयोगों में एक या 3+ इनपुट हैं, "गारंटी" देता है कि ऐसा क्यूआर स्वतंत्र रूप से चुना गया है। फिर से, वैकल्पिक क्यूआर की हमारी विशिष्ट पसंद इससे कोई फर्क नहीं पड़ता, फर्क यह है कि \(\ell\)r के पास Qr के लिए दो विकल्प हैं, और इस प्रकार वह अपनी संभावनाओं को दोगुना कर सकता है अगले नेता के रूप में किसी अन्य दुर्भावनापूर्ण उपयोगकर्ता को रखना। दुर्भावनापूर्ण \(\ell\)r को नियंत्रित करने वाले प्रतिद्वंद्वी के लिए Qr के विकल्प और भी अधिक हो सकते हैं। उदाहरण के लिए, मान लें कि x, y और z राउंड आर के तीन दुर्भावनापूर्ण संभावित नेता हैं एच \(\sigma\)r,1 एक्स < एच \(\sigma\)r,1 य < एच \(\sigma\)r,1 z और एच \(\sigma\)r,1 z विशेष रूप से छोटा है. यानी इतना छोटा कि इसकी अच्छी संभावना है कि एच \(\sigma\)r,1 z है प्रत्येक ईमानदार संभावित नेता की hashed साख से छोटा। फिर, x से उसे छिपाने के लिए कहकर क्रेडेंशियल, प्रतिद्वंद्वी के पास वाई राउंड आर -1 का नेता बनने का अच्छा मौका है। यह तात्पर्य यह है कि उसके पास Qr के लिए एक और विकल्प है: अर्थात्, SIGy Qr−1 . इसी प्रकार, प्रतिद्वंद्वी भी ऐसा कर सकता है x और y दोनों से उनकी साख वापस लेने के लिए कहें, ताकि z राउंड r −1 का लीडर बन जाए और Qr के लिए एक और विकल्प प्राप्त कर रहा है: अर्थात्, SIGz Qr−1 . बेशक, हालांकि, इनमें से प्रत्येक और अन्य विकल्पों के विफल होने की एक गैर-शून्य संभावना है, क्योंकि प्रतिद्वंद्वी ईमानदार संभावित उपयोगकर्ताओं के डिजिटल हस्ताक्षरों के hash का अनुमान नहीं लगा सकता। ब्र−1 मैं = (r −1, PAY ′, H(Br−2)। अन्यथा, उसके पास दो अन्य दुर्भावनापूर्ण उपयोगकर्ता x और y हैं जो नया भुगतान उत्पन्न करते रहते हैं \(\wp\)′, एक से दूसरे तक, जब तक, कुछ दुर्भावनापूर्ण उपयोगकर्ता z के लिए (या यहां तक कि कुछ निश्चित उपयोगकर्ता z के लिए) H (SIGz (PAY ′ \(\cup\){\(\wp\)})) है विशेष रूप से छोटा भी. यह प्रयोग बहुत जल्दी बंद हो जाएगा. और जब ऐसा होता है तो विरोधी प्रस्ताव देने के लिए कहता है उम्मीदवार ब्लॉक Br−1 मैं = (r −1, PAY ′ \(\cup\){\(\wp\)}, H(Br−2). 12उदाहरण के लिए, इसे सरल (लेकिन चरम) रखने के लिए, "जब दूसरे चरण का समय समाप्त होने वाला हो", \(\ell\)r कर सकता है प्रत्येक उपयोगकर्ता को सीधे एक अलग उम्मीदवार ब्लॉक Bi ईमेल करें। इस तरह, चरण-2 सत्यापनकर्ता कोई भी हों, वे पूरी तरह से अलग-अलग ब्लॉक प्राप्त होंगे।एक सावधानीपूर्वक, मार्कोव-श्रृंखला-जैसे विश्लेषण से पता चलता है कि, इससे कोई फर्क नहीं पड़ता कि प्रतिद्वंद्वी कौन सा विकल्प चुनता है राउंड आर −1 पर बनाने के लिए, जब तक वह सिस्टम में नए उपयोगकर्ताओं को शामिल नहीं कर सकता, वह कम नहीं कर सकता एक ईमानदार उपयोगकर्ता के राउंड आर + 40 का लीडर बनने की संभावना एच से काफी नीचे है। यही कारण है हम मांग करते हैं कि राउंड आर के संभावित नेता राउंड आर −k में पहले से मौजूद उपयोगकर्ता हों। यह सुनिश्चित करने का एक तरीका है कि, राउंड r -k पर, प्रतिद्वंद्वी इस संभावना को बहुत अधिक नहीं बदल सकता है कि एक ईमानदार उपयोगकर्ता राउंड आर का नेता बन जाता है। वास्तव में, इससे कोई फर्क नहीं पड़ता कि वह कौन से उपयोगकर्ता जोड़ सकता है राउंड आर −के से आर तक सिस्टम में, वे संभावित नेता बनने के लिए अयोग्य हैं (और एक फोर्टियोरी) नेता) राउंड आर के। इस प्रकार लुक-बैक पैरामीटर k अंततः एक सुरक्षा पैरामीटर है। (हालांकि, जैसा कि हम धारा 7 में देखेंगे, यह एक प्रकार का "सुविधा पैरामीटर" भी हो सकता है।) क्षणिक कुंजियाँ हालाँकि हमारे प्रोटोकॉल का निष्पादन एक कांटा उत्पन्न नहीं कर सकता है, सिवाय इसके नगण्य संभावना, प्रतिद्वंद्वी वैध के बाद, आरटी ब्लॉक पर एक कांटा उत्पन्न कर सकता है ब्लॉक आर उत्पन्न हो गया है। मोटे तौर पर, एक बार Br उत्पन्न हो जाने के बाद, प्रतिद्वंद्वी को यह पता चल जाता है कि प्रत्येक चरण के सत्यापनकर्ता कौन हैं राउंड आर के हैं. इस प्रकार, वह उन सभी को भ्रष्ट कर सकता है और उन्हें एक नए ब्लॉक को प्रमाणित करने के लिए बाध्य कर सकता है च ब्र. चूँकि यह नकली ब्लॉक केवल वैध ब्लॉक के बाद ही प्रचारित किया जा सकता है, जो उपयोगकर्ता रहे हैं ध्यान देने से मूर्ख नहीं बनाया जा सकेगा।13 फिर भी, एफ Br वाक्यात्मक दृष्टि से सही होगा और हम बनने से रोकना चाहते हैं. हम एक नये नियम के जरिये ऐसा करते हैं. अनिवार्य रूप से, सत्यापनकर्ता के सदस्य एक चरण के एसवी आर, एस सेट करते हैं राउंड आर के लिए अल्पकालिक सार्वजनिक कुंजी पीकेआर, एस का उपयोग करें मैं उनके संदेशों पर डिजिटल हस्ताक्षर करने के लिए। ये कुंजियाँ केवल एकल उपयोग के लिए हैं और उनसे संबंधित गुप्त कुंजियाँ skr,s हैं मैं एक बार उपयोग करने के बाद नष्ट हो जाते हैं। इस तरह, यदि कोई सत्यापनकर्ता है बाद में भ्रष्ट हो जाने पर, विरोधी उसे किसी अन्य चीज़ पर हस्ताक्षर करने के लिए बाध्य नहीं कर सकता जिस पर उसने मूल रूप से हस्ताक्षर नहीं किए थे। स्वाभाविक रूप से, हमें यह सुनिश्चित करना चाहिए कि प्रतिद्वंद्वी के लिए नई कुंजी जी की गणना करना असंभव है पीआर,एस मैं और एक ईमानदार उपयोगकर्ता को विश्वास दिलाएं कि यह चरण एस में उपयोग करने के लिए सत्यापनकर्ता आई \(\in\)एसवी आर,एस की सही अल्पकालिक कुंजी है। 4.2 नोटेशन, धारणाओं और पैरामीटर्स का सामान्य सारांश संकेतन • आर \(\geq\)0: वर्तमान राउंड संख्या। • s \(\geq\)1: राउंड आर में वर्तमान चरण संख्या। • बीआर: राउंड आर में उत्पन्न ब्लॉक। • पीकेआर: राउंड आर -1 के अंत तक और राउंड आर की शुरुआत में सार्वजनिक कुंजियों का सेट। • सीनियर: राउंड आर −1 के अंत तक और राउंड आर.14 की शुरुआत में सिस्टम की स्थिति • PAY r: Br में निहित भुगतान। • \(\ell\)r: राउंड-आर लीडर। \(\ell\)r राउंड आर का पेसेट PAY r चुनता है (और अगला Qr निर्धारित करता है)। • क्यूआर: राउंड आर का बीज, एक मात्रा (यानी, बाइनरी स्ट्रिंग) जो राउंड आर के अंत में उत्पन्न होती है और इसका उपयोग राउंड आर + 1 के लिए सत्यापनकर्ताओं को चुनने के लिए किया जाता है। क्यूआर ब्लॉक में भुगतान सेट से स्वतंत्र है और \(\ell\)r द्वारा हेरफेर नहीं किया जा सकता। 13 एक प्रमुख टीवी नेटवर्क के समाचार एंकर को भ्रष्ट करने और आज एक न्यूज़रील का निर्माण और प्रसारण करने पर विचार करें पिछले राष्ट्रपति चुनाव में सचिव क्लिंटन को जीतते हुए दिखाया गया है। हममें से अधिकांश लोग इसे एक धोखा के रूप में पहचानेंगे। लेकिन कोमा से बाहर आने वाले किसी व्यक्ति को मूर्ख बनाया जा सकता है। 14 ऐसी प्रणाली में जो समकालिक नहीं है, "राउंड आर -1 का अंत" और "राउंड आर की शुरुआत" की धारणा सावधानीपूर्वक परिभाषित करने की आवश्यकता है। गणितीय रूप से, PKr और Sr की गणना प्रारंभिक स्थिति S0 और ब्लॉक से की जाती है बी1, . . . , ब्र−1.• एसवी आर,एस: राउंड आर के चरण एस के लिए चुने गए सत्यापनकर्ताओं का सेट। • एसवी आर: राउंड आर, एसवी आर = \(\cup\)s\(\geq\)1SV आर, एस के लिए चुने गए सत्यापनकर्ताओं का सेट। • एमएसवी आर,एस और एचएसवी आर,एस: क्रमशः, दुर्भावनापूर्ण सत्यापनकर्ताओं का सेट और ईमानदार सत्यापनकर्ताओं का सेट एसवी आर,एस में। एमएसवी आर,एस \(\cup\)एचएसवी आर,एस = एसवी आर,एस और एमएसवी आर,एस ∩एचएसवी आर,एस = \(\emptyset\). • n1 \(\in\)Z+ और n \(\in\)Z+: क्रमशः, प्रत्येक SV r,1 में संभावित नेताओं की अपेक्षित संख्या, और s > 1 के लिए प्रत्येक SV r,s में सत्यापनकर्ताओं की अपेक्षित संख्या। ध्यान दें कि n1 << n, चूँकि हमें SV r,1 में कम से कम एक ईमानदार ईमानदार सदस्य की आवश्यकता है, लेकिन कम से कम एस > 1 के लिए प्रत्येक एसवी आर, एस में अधिकांश ईमानदार सदस्य। • h \(\in\)(0, 1): 2/3 से बड़ा स्थिरांक। h सिस्टम में ईमानदारी का अनुपात है। अर्थात प्रत्येक पीकेआर में उपयोग की गई धारणा के आधार पर ईमानदार उपयोगकर्ताओं या ईमानदार धन का अंश है कम से कम एच. • एच: एक क्रिप्टोग्राफ़िक hash फ़ंक्शन, जिसे यादृच्छिक oracle के रूप में तैयार किया गया है। • \(\bot\): H के आउटपुट के समान लंबाई की एक विशेष स्ट्रिंग। • एफ \(\in\)(0, 1): अनुमत त्रुटि संभावना निर्दिष्ट करने वाला पैरामीटर। एक प्रायिकता \(\leq\)F है "नगण्य" माना जाता है, और एक संभावना \(\geq\)1 −F को "भारी" माना जाता है। • ph \(\in\)(0, 1): संभावना है कि एक राउंड r, \(\ell\)r का नेता ईमानदार है। आदर्शतः ph = h. साथ प्रतिद्वंद्वी के अस्तित्व, पीएच का मान विश्लेषण में निर्धारित किया जाएगा। • k \(\in\)Z+: लुक-बैक पैरामीटर। यानी, राउंड आर −k वह जगह है जहां राउंड आर के लिए सत्यापनकर्ता हैं से चुना गया - अर्थात्, SV r \(\subseteq\)PKr−k.15 • p1 \(\in\)(0, 1): राउंड r के पहले चरण के लिए, राउंड r −k में एक उपयोगकर्ता को SV r,1 में चुना जाता है संभाव्यता p1 \(\triangleq\) n1 |पी क्र−क|. • p \(\in\)(0, 1): राउंड r के प्रत्येक चरण s > 1 के लिए, राउंड r −k में एक उपयोगकर्ता को SV r,s में चुना जाता है। संभाव्यता पी \(\triangleq\) एन |पी क्र−क|. • CERT r: ब्र के लिए प्रमाणपत्र। यह उचित सत्यापनकर्ताओं से H(Br) के TH हस्ताक्षरों का एक सेट है गोल आर. • Br \(\triangleq\)(Br, CERT r) एक सिद्ध ब्लॉक है। एक उपयोगकर्ता जिसे मैं Br जानता हूं यदि उसके पास सिद्ध ब्लॉक के दोनों भाग हैं (और सफलतापूर्वक सत्यापित हैं)। ध्यान दें कि अलग-अलग उपयोगकर्ताओं द्वारा देखा गया CERT अलग-अलग हो सकता है। • τ आर i : वह (स्थानीय) समय जब मैं एक उपयोगकर्ता को जानता हूं Br. Algorand प्रोटोकॉल में प्रत्येक उपयोगकर्ता का अपना होता है अपनी घड़ी. विभिन्न उपयोगकर्ताओं की घड़ियों को सिंक्रनाइज़ करने की आवश्यकता नहीं है, लेकिन उनकी गति समान होनी चाहिए। केवल विश्लेषण के उद्देश्य से, हम एक संदर्भ घड़ी पर विचार करते हैं और खिलाड़ियों की क्षमता को मापते हैं इसके संबंध में संबंधित समय. • \(\alpha\)r,s मैं और \(\beta\)r,s i: क्रमशः (स्थानीय) समय जब उपयोगकर्ता i अपने चरण का निष्पादन प्रारंभ और समाप्त करता है गोल आर. • Λ और \(\lambda\): अनिवार्य रूप से, क्रमशः, चरण 1 और को निष्पादित करने के लिए आवश्यक समय की ऊपरी सीमा Algorand प्रोटोकॉल के किसी अन्य चरण के लिए आवश्यक समय। पैरामीटर Λ एकल 1एमबी ब्लॉक को प्रचारित करने के समय को ऊपरी सीमा में रखता है। (हमारे नोटेशन में, Λ = \(\lambda\) \(\rho\),1MB. हमारे अंकन को याद करते हुए, हमने सरलता के लिए \(\rho\) = 1 निर्धारित किया है, और वह ब्लॉक हैं अधिकतम 1एमबी-लंबा चुना गया, हमारे पास Λ = \(\lambda\)1,1,1एमबी है।) 15सख्ती से कहें तो, "r −k" "max{0, r −k}" होना चाहिए।पैरामीटर \(\lambda\) चरण s > 1 में प्रति सत्यापनकर्ता एक छोटे संदेश को प्रसारित करने के समय को ऊपरी सीमा में रखता है। (Bitcoin की तरह, 32B कुंजियों के साथ अण्डाकार वक्र हस्ताक्षरों का उपयोग करके, एक सत्यापनकर्ता संदेश 200B लंबा होता है। इस प्रकार, हमारे अंकन में, \(\lambda\) = \(\lambda\)n,\(\rho\),200B.) हम मानते हैं कि Λ = O(\(\lambda\)). धारणाएँ • सत्यापनकर्ता चयन. प्रत्येक राउंड r और चरण s > 1 के लिए, SV r,s \(\triangleq\){i \(\in\)PKr−k : .H(SIGi(r, s, Qr−1)) \(\leq\)p}। प्रत्येक उपयोगकर्ता i \(\in\)PKr−k निजी तौर पर अपनी दीर्घकालिक कुंजी का उपयोग करके अपने हस्ताक्षर की गणना करता है और निर्णय लेता है कि क्या i \(\in\)SV r,s या नहीं। यदि i \(\in\)SV r,s, तो SIGi(r, s, Qr−1) i's (r, s)-क्रेडेंशियल है, जिसे संक्षिप्त रूप से दर्शाया गया है \(\sigma\)r,s द्वारा मैं . राउंड r, SV r,1 और \(\sigma\)r,1 के पहले चरण के लिए मैं समान रूप से परिभाषित किए गए हैं, जिसमें p को p1 द्वारा प्रतिस्थापित किया गया है। द एसवी आर,1 में सत्यापनकर्ता संभावित नेता हैं। • नेता चयन. उपयोगकर्ता i \(\in\)SV r,1 राउंड r का लीडर है, जिसे \(\ell\)r द्वारा दर्शाया जाता है, यदि H(\(\sigma\)r,1) मैं ) \(\leq\)H(\(\sigma\)r,1 j ) सभी संभावनाओं के लिए नेता जे \(\in\)एसवी आर,1. जब भी दो खिलाड़ियों के hashes की तुलना की जाती है, तो असंभावित स्थिति में संबंधों की घटना, प्रोटोकॉल हमेशा दीर्घकालिक सार्वजनिक के अनुसार संबंधों को तोड़ता है संभावित नेताओं की चाबियाँ। परिभाषा के अनुसार, प्लेयर \(\ell\)r के क्रेडेंशियल का hash मान भी सभी उपयोगकर्ताओं के बीच सबसे छोटा है पीकेआर−के. ध्यान दें कि एक संभावित नेता निजी तौर पर यह तय नहीं कर सकता कि वह नेता है या नहीं, अन्य संभावित नेताओं की साख देखे बिना। चूंकि hash मान यादृच्छिक रूप से एक समान होते हैं, जब SV r,1 गैर-रिक्त होता है, तो \(\ell\)r हमेशा मौजूद होता है और होता है संभाव्यता के साथ ईमानदार कम से कम ज. पैरामीटर n1 इतना बड़ा है कि यह सुनिश्चित किया जा सके कि प्रत्येक एसवी आर,1 अत्यधिक संभावना के साथ गैर-रिक्त है। • ब्लॉक संरचना. एक गैर-रिक्त ब्लॉक Br = (r, PAY r, SIG\(\ell\)r(Qr−1), H(Br−1)) के रूप का होता है, और एक खाली ब्लॉक ब्र रूप का है ǫ = (r, \(\emptyset\), Qr−1, H(Br−1)). ध्यान दें कि यदि कोई भुगतान नहीं होता है, तो एक गैर-रिक्त ब्लॉक में अभी भी एक खाली पेसेट PAY r हो सकता है यह दौर या यदि नेता दुर्भावनापूर्ण है। हालाँकि, एक गैर-रिक्त ब्लॉक का तात्पर्य है कि की पहचान \(\ell\)r, उसकी साख \(\sigma\)r,1 \(\ell\)r और SIG\(\ell\)r(Qr−1) सभी का समय पर खुलासा किया गया है। प्रोटोकॉल गारंटी देता है कि, यदि नेता ईमानदार है, तो अत्यधिक संभावना के साथ ब्लॉक खाली नहीं होगा। • बीज Qr. यदि Br गैर-रिक्त है, तो Qr \(\triangleq\)H(SIG\(\ell\)r(Qr−1), r), अन्यथा Qr \(\triangleq\)H(Qr−1, r)। पैरामीटर्स • विभिन्न मापदंडों के बीच संबंध। - राउंड आर के सत्यापनकर्ताओं और संभावित नेताओं को पीकेआर−के में उपयोगकर्ताओं से चुना जाता है, जहां k को चुना गया है ताकि प्रतिद्वंद्वी r -k -1 के दौर में Qr−1 की भविष्यवाणी न कर सके एफ से बेहतर संभावना के साथ: अन्यथा, वह दुर्भावनापूर्ण उपयोगकर्ताओं को पेश करने में सक्षम होगा राउंड आर −के के लिए, ये सभी राउंड आर में सफल होने वाले संभावित नेता/सत्यापनकर्ता होंगे
कुछ कदमों के लिए एसवी आर,एस में एक दुर्भावनापूर्ण नेता या दुर्भावनापूर्ण बहुमत होना वांछित है उसे. - प्रत्येक राउंड r के चरण 1 के लिए, n1 को चुना जाता है ताकि अत्यधिक संभावना के साथ, SV r,1 ̸= \(\emptyset\)। • महत्वपूर्ण मापदंडों के उदाहरण विकल्प। — H के आउटपुट 256-बिट लंबे हैं। - एच = 80%, एन1 = 35। - Λ = 1 मिनट और \(\lambda\) = 10 सेकंड। • प्रोटोकॉल का आरंभीकरण. प्रोटोकॉल समय 0 पर r = 0 के साथ शुरू होता है। चूँकि "B−1" या "CERT −1" मौजूद नहीं है, वाक्यविन्यास की दृष्टि से B−1 एक सार्वजनिक पैरामीटर है जिसका तीसरा घटक Q−1 और सभी उपयोगकर्ताओं को निर्दिष्ट करता है समय 0 पर B−1 जानें।
Algorand '
1 इस अनुभाग में, हम निम्नलिखित धारणा के तहत काम करते हुए Algorand ' का एक संस्करण बनाते हैं। अधिकांश उपयोगकर्ता ईमानदार हैं। धारणा: प्रत्येक पीकेआर में 2/3 से अधिक उपयोगकर्ता ईमानदार हैं। धारा 8 में, हम दिखाते हैं कि उपरोक्त धारणा को वांछित ईमानदार बहुमत से कैसे बदला जाए धन संबंधी धारणा. 5.1 अतिरिक्त सूचनाएँ और पैरामीटर्स संकेतन • m \(\in\)Z+: बाइनरी बीए प्रोटोकॉल में चरणों की अधिकतम संख्या, 3 का गुणक। • एलआर \(\leq\)एम/3: 1 देखने के लिए आवश्यक बर्नौली परीक्षणों की संख्या का प्रतिनिधित्व करने वाला एक यादृच्छिक चर, जब प्रत्येक परीक्षण संभाव्यता पीएच के साथ 1 है 2 और अधिकतम एम/3 परीक्षण हैं। यदि सभी परीक्षण विफल हो जाएं तो एलआर \(\triangleq\)एम/3. Lr का उपयोग ब्लॉक Br उत्पन्न करने के लिए आवश्यक समय को ऊपरी सीमा में करने के लिए किया जाएगा। • tH = 2n 3 + 1: प्रोटोकॉल की अंतिम शर्तों में आवश्यक हस्ताक्षरों की संख्या। • CERT r: ब्र के लिए प्रमाणपत्र। यह उचित सत्यापनकर्ताओं से H(Br) के TH हस्ताक्षरों का एक सेट है गोल आर. पैरामीटर्स • विभिन्न मापदंडों के बीच संबंध। - राउंड आर के प्रत्येक चरण s > 1 के लिए, n को चुना गया है ताकि, अत्यधिक संभावना के साथ, |एचएसवी आर,एस| > 2|एमएसवी आर,एस| और |एचएसवी आर,एस| + 4|एमएसवी आर,एस| <2एन. h का मान 1 के जितना करीब होगा, n उतना ही छोटा होना चाहिए। विशेष रूप से, हम (वेरिएंट) का उपयोग करते हैं का) चेर्नोफ़िबाउंड यह सुनिश्चित करने के लिए कि वांछित स्थितियाँ अत्यधिक संभावना के साथ बनी रहें। — m को इस प्रकार चुना गया है कि Lr < m/3 अत्यधिक संभावना के साथ। • महत्वपूर्ण मापदंडों के उदाहरण विकल्प। — एफ = 10−12. - n \(\approx\)1500, k = 40 और m = 180।5.2 Algorand में अल्पकालिक कुंजियाँ लागू करना 1 जैसा कि पहले ही उल्लेख किया गया है, हम चाहते हैं कि एक सत्यापनकर्ता i\(\in\)SV r,s डिजिटल रूप से अपने संदेश पर हस्ताक्षर करे mr,s मैं कदम का राउंड आर में एस, एक अल्पकालिक सार्वजनिक कुंजी पीकेआर, एस के सापेक्ष मैं, एक क्षणिक गुप्त कुंजी skr,s का उपयोग कर रहा हूँ मैं वह वह उपयोग के बाद तुरंत नष्ट कर देता है। इस प्रकार हमें यह सुनिश्चित करने के लिए एक कुशल विधि की आवश्यकता है कि प्रत्येक उपयोगकर्ता ऐसा कर सके सत्यापित करें कि pkr,s मैं यह वास्तव में श्रीमान के हस्ताक्षर को सत्यापित करने के लिए उपयोग की जाने वाली कुंजी है मैं . हम ऐसा (सर्वोत्तम से) करके करते हैं हमारे ज्ञान का) पहचान-आधारित हस्ताक्षर योजनाओं का नया उपयोग। उच्च स्तर पर, ऐसी योजना में, एक केंद्रीय प्राधिकरण ए एक सार्वजनिक मास्टर कुंजी, पीएमके, उत्पन्न करता है। और संबंधित गुप्त मास्टर कुंजी, एसएमके। एक खिलाड़ी यू की पहचान, यू को देखते हुए, ए गणना करता है, एसएमके के माध्यम से, सार्वजनिक कुंजी यू के सापेक्ष एक गुप्त हस्ताक्षर कुंजी एसकेयू, और निजी तौर पर एसकेयू देता है यू. (वास्तव में, एक पहचान-आधारित डिजिटल हस्ताक्षर योजना में, उपयोगकर्ता यू की सार्वजनिक कुंजी यू ही है!) इस तरह, यदि A उन उपयोगकर्ताओं की गुप्त कुंजियों की गणना करने के बाद SMK को नष्ट कर देता है जिन्हें वह सक्षम करना चाहता है डिजिटल हस्ताक्षर तैयार करता है, और कोई गणना की गई गुप्त कुंजी नहीं रखता है, तो यू एकमात्र ऐसा व्यक्ति है जो सार्वजनिक कुंजी यू के सापेक्ष संदेशों पर डिजिटल रूप से हस्ताक्षर कर सकते हैं। इस प्रकार, जो कोई भी "यू का नाम" जानता है, यू की सार्वजनिक कुंजी को स्वचालित रूप से जानता है, और इस प्रकार यू के हस्ताक्षरों को सत्यापित कर सकता है (संभवतः इसका उपयोग भी कर सकता है)। सार्वजनिक मास्टर कुंजी पीएमके)। हमारे एप्लिकेशन में, प्राधिकरण A उपयोगकर्ता i है, और सभी संभावित उपयोगकर्ताओं का सेट U से मेल खाता है राउंड-स्टेप जोड़ी (आर, एस) में -कहें- एस = {आई}\(\times\){आर',। . . , r′ +106}\(\times\){1, . . . , m+3}, जहां r′ दिया गया है राउंड, और एम + 3 एक राउंड के भीतर होने वाले चरणों की संख्या के ऊपरी हिस्से में। यह रास्ता, पीकेआर, एस मैं \(\triangleq\)(i, r, s), ताकि हर कोई i का हस्ताक्षर देख सके SIGr,s पीकेआर, एस मैं (श्रीमान, एस मैं ) जबरदस्त तरीके से कर सकता हूं संभाव्यता, तुरंत इसे r′ के बाद पहले मिलियन राउंड r के लिए सत्यापित करें। दूसरे शब्दों में, मैं सबसे पहले पीएमके और एसएमके उत्पन्न करता हूं। फिर, वह प्रचारित करते हैं कि पीएमके मेरा मालिक है किसी भी दौर r \(\in\)[r′, r′ + 106] के लिए सार्वजनिक कुंजी, और गुप्त उत्पादन और भंडारण के लिए SMK का उपयोग करता है कुंजी एस.के.आर.,एस मैं प्रत्येक त्रिक (i, r, s) \(\in\)S के लिए। ऐसा करने पर, वह एसएमके को नष्ट कर देता है। यदि वह यह निश्चित कर ले कि वह ऐसा नहीं है एसवी आर,एस का हिस्सा, तो मैं एसकेआर,एस छोड़ सकता हूं मैं अकेले (क्योंकि प्रोटोकॉल के लिए आवश्यक नहीं है कि वह प्रमाणीकरण करे राउंड आर के चरण एस में कोई भी संदेश)। अन्यथा, मैं सबसे पहले skr,s का उपयोग करता हूँ मैं अपने संदेश पर डिजिटल हस्ताक्षर करने के लिए श्रीमान, एस मैं , और फिर skr,s को नष्ट कर देता है मैं . ध्यान दें कि जब वह पहली बार सिस्टम में प्रवेश करेगा तो मैं उसकी पहली सार्वजनिक मास्टर कुंजी का प्रचार कर सकता हूँ। अर्थात्, वही भुगतान \(\wp\) जो i को सिस्टम में लाता है (एक राउंड r' पर या r' के करीब एक राउंड पर), यह भी हो सकता है मेरे अनुरोध पर, निर्दिष्ट करें कि किसी भी राउंड r \(\in\)[r′, r′ + 106] के लिए i की सार्वजनिक मास्टर कुंजी PMK है - उदाहरण के लिए, द्वारा फॉर्म की एक जोड़ी सहित (पीएमके, [आर', आर' + 106])। यह भी ध्यान दें, चूँकि m + 3 एक चक्कर में चरणों की अधिकतम संख्या है, इसलिए इसे एक चक्कर माना जाता है एक मिनट लगता है, इस प्रकार उत्पादित क्षणिक कुंजियों का भंडार लगभग दो वर्षों तक चलेगा। उसी समय समय के साथ, इन अल्पकालिक गुप्त कुंजियों को तैयार करने में मुझे बहुत अधिक समय नहीं लगेगा। अण्डाकार-वक्र आधारित का उपयोग करना 32B कुंजियों वाला सिस्टम, प्रत्येक गुप्त कुंजी की गणना कुछ माइक्रोसेकंड में की जाती है। इस प्रकार, यदि m + 3 = 180, तब सभी 180M गुप्त कुंजियों की गणना एक घंटे से भी कम समय में की जा सकती है। जब वर्तमान दौर अगले मिलियन राउंड को संभालने के लिए r' + 106 के करीब पहुंच रहा हो, i एक नई (PMK′, SMK′) जोड़ी बनाता है, और सूचित करता है कि उसकी क्षणिक कुंजियों का अगला भंडार क्या है —उदाहरण के लिए—SIGi(PMK′, [r′ + 106 + 1, r′ + 2 \(\cdot\) 106 + 1]) होने पर एक नया ब्लॉक दर्ज करें, या तो a के रूप में अलग "लेन-देन" या कुछ अतिरिक्त जानकारी के रूप में जो भुगतान का हिस्सा है। ऐसा करने से, मैं सभी को सूचित करता हूं कि उन्हें अगले में मेरे अल्पकालिक हस्ताक्षरों को सत्यापित करने के लिए पीएमके' का उपयोग करना चाहिए लाख चक्कर. और इसी तरह। (ध्यान दें कि, इस बुनियादी दृष्टिकोण का पालन करते हुए, अल्पकालिक कुंजियों को लागू करने के अन्य तरीके बिना पहचान-आधारित हस्ताक्षरों का उपयोग निश्चित रूप से संभव है। उदाहरण के लिए, Merkle trees.16 के माध्यम से) 16 इस पद्धति में, मैं एक सार्वजनिक-गुप्त कुंजी जोड़ी (pkr,s) उत्पन्न करता हूं मैं , एसकेआर,एस मैं ) प्रत्येक राउंड-स्टेप जोड़ी (आर, एस) के लिए - मान लीजिए-अल्पकालिक कुंजियों को लागू करने के अन्य तरीके निश्चित रूप से संभव हैं - उदाहरण के लिए, Merkle trees के माध्यम से। 5.3 Algorand के चरणों का मिलान 1 BA⋆ वालों के साथ जैसा कि हमने कहा, Algorand में एक राउंड 1 में अधिकतम m + 3 चरण हैं। चरण 1. इस चरण में, प्रत्येक संभावित नेता अपने उम्मीदवार ब्लॉक ब्र की गणना और प्रचार करता है मैं , अपनी स्वयं की साख के साथ, \(\sigma\)r,1 मैं . याद रखें कि यह क्रेडेंशियल स्पष्ट रूप से i की पहचान करता है। ऐसा इसलिए है, क्योंकि \(\sigma\)r,1 मैं \(\triangleq\)SIGi(r, 1, Qr−1). संभावित सत्यापनकर्ता, अपने संदेश के भाग के रूप में, H(Br) के अपने उचित डिजिटल हस्ताक्षर का भी प्रचार करता है मैं ). किसी भुगतान या क्रेडेंशियल से संबंधित नहीं, मेरा यह हस्ताक्षर उसकी अल्पकालिक जनता से संबंधित है कुंजी पीकेआर,1 i : अर्थात, वह sigpkr,1 का प्रचार करता है मैं (एच(ब्र मैं )). हमारे सम्मेलनों को देखते हुए, ब्र. का प्रचार करने के बजाय मैं और sigpkr,1 मैं (एच(ब्र मैं )), वह कर सकता था प्रचारित SIGpkr,1 मैं (एच(ब्र मैं )). हालाँकि, हमारे विश्लेषण में हमें स्पष्ट पहुंच की आवश्यकता है sigpkr,1 मैं (एच(ब्र मैं )). चरण 2. इस चरण में, प्रत्येक सत्यापनकर्ता i \(\ell\)r सेट करता है मैं संभावित नेता हूं जिसकी hashed साख है सबसे छोटा है, और ब्र i को \(\ell\)r द्वारा प्रस्तावित ब्लॉक होना चाहिए मैं . चूंकि, दक्षता के लिए, हम मैं सीधे Br के बजाय H(Br) पर सहमत होना चाहता हूँ, मैं उसके संदेश का प्रचार करता हूँ प्रारंभिक मान v′ के साथ BA⋆ के पहले चरण में प्रचारित किया गया मैं = एच(ब्र मैं ). अर्थात वह v′ का प्रचार करता है मैं, बेशक, क्षणिक रूप से इस पर हस्ताक्षर करने के बाद। (अर्थात्, सही क्षणिक के सापेक्ष इस पर हस्ताक्षर करने के बाद सार्वजनिक कुंजी, जो इस मामले में पीकेआर,2 है मैं .) निःसंदेह, मैं भी अपना परिचय पत्र प्रसारित करता हूँ। चूँकि BA⋆ का पहला चरण ग्रेडेड सर्वसम्मति प्रोटोकॉल GC का पहला चरण शामिल है, चरण Algorand ′ का 2 GC के पहले चरण से मेल खाता है। चरण 3. इस चरण में, प्रत्येक सत्यापनकर्ता i \(\in\)SV r,2 BA⋆ के दूसरे चरण को निष्पादित करता है। यानी वह भेजता है यही संदेश उसने जीसी के दूसरे चरण में भी भेजा होगा। फिर, मेरा संदेश क्षणिक है हस्ताक्षरित और मेरे क्रेडेंशियल के साथ। (अब से, हम यह कहना छोड़ देंगे कि एक सत्यापनकर्ता क्षणिक रूप से अपने संदेश पर हस्ताक्षर करता है और अपनी साख का प्रचार भी करता है।) चरण 4. इस चरण में, प्रत्येक सत्यापनकर्ता i \(\in\)SV r,4 GC, (vi, gi) के आउटपुट की गणना करता है, और क्षणिक रूप से हस्ताक्षर करता है और वही संदेश भेजता है जो उसने BA⋆ के तीसरे चरण में भेजा होगा, अर्थात BBA⋆ का पहला चरण, प्रारंभिक बिट 0 के साथ यदि gi = 2, और 1 अन्यथा। चरण s = 5, . . . , एम + 2। ऐसा कदम, यदि कभी पहुंचा है, तो बीए⋆ के चरण एस −1 से मेल खाता है, और इस प्रकार BBA⋆ का चरण s −3। चूँकि हमारा प्रसार मॉडल पर्याप्त रूप से अतुल्यकालिक है, इसलिए हमें संभावना को ध्यान में रखना चाहिए कि, ऐसे चरण s के बीच में, एक सत्यापनकर्ता i \(\in\)SV r,s तक उसे साबित करने वाली जानकारी पहुँच जाती है वह ब्लॉक Br पहले ही चुना जा चुका है। इस मामले में, मैं राउंड आर के अपने निष्पादन को रोक देता हूं Algorand ', और अपने राउंड-(आर + 1) निर्देशों को निष्पादित करना शुरू कर देता है। {आर', । . . , आर' + 106} \(\times\) {1, . . . , एम + 3}. फिर वह इन सार्वजनिक कुंजियों को विहित तरीके से ऑर्डर करता है, jth सार्वजनिक को संग्रहीत करता है Merkle tree के jth पत्ते में कुंजी, और मूल मान Ri की गणना करता है, जिसे वह प्रचारित करता है। जब वह हस्ताक्षर करना चाहे कुंजी पीकेआर,एस से संबंधित एक संदेश मैं , मैं न केवल वास्तविक हस्ताक्षर प्रदान करता हूं, बल्कि पीकेआर,एस के लिए प्रमाणीकरण पथ भी प्रदान करता हूं मैं री के सापेक्ष. ध्यान दें कि यह प्रमाणीकरण पथ यह भी सिद्ध करता है कि pkr,s मैं जेवें पत्ते में संग्रहित है। शेष विवरण आसानी से भरा जा सकता है।तदनुसार, एक सत्यापनकर्ता के निर्देश i \(\in\)SV r,s, संबंधित निर्देशों के अतिरिक्त BBA⋆ के चरण s −3 में, यह जांचना शामिल है कि क्या BBA⋆ का निष्पादन पहले रुका हुआ है कदम एस'. चूंकि बीबीए केवल कॉइन-फिक्स्ड-टू-0 चरण या कॉइन-फिक्स्ड-टू-1 चरण में ही रुक सकता है, निर्देश भेद करते हैं कि क्या ए (अंतिम स्थिति 0): एस′ −2 ≡0 मॉड 3, या बी (अंतिम शर्त 1): एस′ −2 ≡1 मॉड 3। वास्तव में, ए के मामले में, ब्लॉक बी गैर-रिक्त है, और इस प्रकार अतिरिक्त निर्देश आवश्यक हैं सुनिश्चित करें कि मैं उचित प्रमाणपत्र सीईआरटी आर के साथ, बीआर का उचित ढंग से पुनर्निर्माण करता हूं। मामले बी में, ब्लॉक Br खाली है, और इस प्रकार मुझे Br = Br सेट करने का निर्देश दिया गया है \(\varepsilon\) = (आर, \(\emptyset\), एच(क्यूआर−1, आर), एच(बीआर−1)), और CERT r की गणना करने के लिए। यदि, चरणों के निष्पादन के दौरान, मुझे कोई सबूत नहीं दिखता कि ब्लॉक Br पहले से ही है उत्पन्न हो गया है, तो वह वही संदेश भेजता है जो उसने BBA⋆ के चरण s −3 में भेजा होगा। चरण m + 3। यदि, चरण m + 3 के दौरान, i \(\in\)SV r,m+3 देखता है कि ब्लॉक Br पहले ही उत्पन्न हो चुका था एक पूर्व कदम s', फिर वह ऊपर बताए अनुसार आगे बढ़ता है। अन्यथा, बजाय इसके कि वह वही संदेश भेजता जो उसने BBA⋆ के चरण m में भेजा होता, i है अपने पास मौजूद जानकारी के आधार पर, Br और उसके संगत की गणना करने का निर्देश दिया प्रमाणित CERT आर. वास्तव में, याद रखें कि हम एक दौर के चरणों की कुल संख्या को m + 3 से बढ़ाते हैं। 5.4 वास्तविक प्रोटोकॉल याद रखें कि, राउंड आर के प्रत्येक चरण में, एक सत्यापनकर्ता i \(\in\)SV r,s अपनी दीर्घकालिक सार्वजनिक-गुप्त कुंजी जोड़ी का उपयोग करता है उसकी साख, \(\sigma\)r,s प्रस्तुत करने के लिए मैं \(\triangleq\)SIGi(r, s, Qr−1), साथ ही SIGi Qr−1 मामले में s = 1. सत्यापनकर्ता i अपनी क्षणिक गुप्त कुंजी skr,s का उपयोग करता है मैं उसके (आर, एस)-संदेश श्रीमान, एस पर हस्ताक्षर करने के लिए मैं . सरलता के लिए, जब r और s हों स्पष्ट है, हम sigpkr,s के बजाय esigi(x) लिखते हैं i (x) किसी मूल्य के i के उचित क्षणिक हस्ताक्षर को दर्शाने के लिए राउंड आर के चरण एस में एक्स, और एसआईजीपीकेआर, एस के बजाय ईएसआईजीआई (एक्स) लिखें i (x) को निरूपित करने के लिए (i, x, esigi(x))। चरण 1: प्रस्ताव को ब्लॉक करें प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 1 शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,1 या नहीं. • यदि i /\(\in\)SV r,1, तो मैं चरण 1 के अपने निष्पादन को तुरंत रोक देता हूं। • अगर मैं \(\in\)एसवी आर,1, यानी, अगर मैं एक संभावित नेता हूं, तो वह राउंड-आर भुगतान एकत्र करता है अब तक उसे प्रचारित किया गया है और अधिकतम भुगतान सेट PAY r की गणना की गई है मैं उनसे. अगला, वह अपने "उम्मीदवार ब्लॉक" ब्र की गणना करता है मैं = (आर, भुगतान आर i , SIGi(Qr−1), H(Br−1)). अंत में, वह गणना करता है संदेश श्रीमान,1 मैं = (ब्र मैं , ईएसजीआई(एच(बीआर मैं )), \(\sigma\)r,1 i), उसकी क्षणिक गुप्त कुंजी skr,1 को नष्ट कर देता है मैं , और फिर प्रचारित श्रीमान,1 मैं .टिप्पणी। व्यवहार में, चरण 1 के वैश्विक निष्पादन को छोटा करने के लिए, यह महत्वपूर्ण है कि (आर, 1)- संदेशों को चुनिंदा तरीके से प्रचारित किया जाता है। अर्थात्, सिस्टम में प्रत्येक उपयोगकर्ता के लिए, पहले (आर, 1) के लिए- संदेश जो वह कभी भी प्राप्त करता है और सफलतापूर्वक सत्यापित करता है, 17 खिलाड़ी मैं इसे हमेशा की तरह प्रचारित करता हूं। सभी के लिए अन्य (आर, 1)-संदेश जो खिलाड़ी मुझे प्राप्त होता है और सफलतापूर्वक सत्यापित करता है, वह इसे केवल तभी प्रचारित करता है जब hash इसमें शामिल क्रेडेंशियल का मान इसमें शामिल क्रेडेंशियल के hash मानों में सबसे छोटा है कुल मिलाकर (आर, 1)-संदेश उसे अब तक प्राप्त हुए हैं और सफलतापूर्वक सत्यापित किए गए हैं। इसके अलावा, जैसा कि सुझाव दिया गया है जॉर्जियोस व्लाचोस द्वारा, यह उपयोगी है कि प्रत्येक संभावित नेता अपनी साख का प्रचार भी करता है,1 मैं अलग से: वे छोटे संदेश ब्लॉकों की तुलना में तेजी से यात्रा करते हैं, श्रीमान का समय पर प्रसार सुनिश्चित करते हैं,1 j's जहां सम्मिलित क्रेडेंशियल में छोटे hash मान होते हैं, जबकि बड़े hash मान वाले क्रेडेंशियल बनाएं जल्दी से गायब हो जाओ. चरण 2: ग्रेडेड सर्वसम्मति प्रोटोकॉल जीसी का पहला चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 2 शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,2 या नहीं. • यदि i /\(\in\)SV r,2 तो मैं चरण 2 के अपने निष्पादन को तुरंत रोक देता हूं। • यदि i \(\in\)SV r,2, तो कुछ समय t2 \(\triangleq\) \(\lambda\) + Λ की प्रतीक्षा करने के बाद, i निम्नानुसार कार्य करता है। 1. वह उपयोगकर्ता को ऐसे पाता है कि H(\(\sigma\)r,1 \(\ell\)) \(\leq\)H(\(\sigma\)r,1 j ) सभी क्रेडेंशियल्स के लिए \(\sigma\)r,1 जे जिसका हिस्सा हैं सफलतापूर्वक सत्यापित (आर, 1)-संदेश उसे अब तक प्राप्त हुए हैं।ए 2. यदि उसे श्रीमान्,1 से कोई वैध संदेश प्राप्त हुआ हो \(\ell\) = (ब्र \(\ell\), esig\(\ell\)(H(Br \(\ell\))), \(\sigma\)r,1 \(\ell\)),बी फिर मैं सेट करता हूं वी′ मैं \(\triangleq\)H(Br \(\ell\)); अन्यथा मैं v' सेट करता हूं मैं \(\triangleq\) \(\bot\). 3. मैं संदेश की गणना करता हूं श्रीमान,2 मैं \(\triangleq\)(ESIGi(v′ मैं), \(\sigma\)r,2 i ),c उसकी क्षणिक गुप्त कुंजी को नष्ट कर देता है एसकेआर,2 i , और फिर श्रीमान,2 का प्रचार करता है मैं . अनिवार्य रूप से, उपयोगकर्ता i निजी तौर पर निर्णय लेता है कि राउंड आर का नेता उपयोगकर्ता \(\ell\) है। फिर, खिलाड़ी \(\ell\) के हस्ताक्षर और hashes सभी सफलतापूर्वक सत्यापित हैं, और भुगतान करें \(\ell\)ब्र में \(\ell\)के लिए एक वैध भुगतान सेट है राउंड आर - हालाँकि मैं यह जाँच नहीं करता कि PAY r है या नहीं \(\ell\)के लिए अधिकतम है या नहीं। सीसंदेश श्रीमान,2 मैं संकेत है कि मैं उस खिलाड़ी को v' मानता हूं मैं अगले ब्लॉक का hash हूं, या अगले पर विचार करता हूं ब्लॉक खाली होना. 17अर्थात, सभी हस्ताक्षर सही हैं और ब्लॉक और उसके hash दोनों वैध हैं - हालाँकि मैं जाँच नहीं करता हूँ क्या सम्मिलित भुगतान उसके प्रस्तावक के लिए अधिकतम है या नहीं।
चरण 3: जीसी का दूसरा चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 3 शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,3 या नहीं. • यदि i /\(\in\)SV r,3, तो मैं चरण 3 के अपने निष्पादन को तुरंत रोक देता हूं। • यदि i \(\in\)SV r,3, तो कुछ समय प्रतीक्षा करने के बाद t3 \(\triangleq\)t2 + 2\(\lambda\) = 3\(\lambda\) + Λ, i निम्नानुसार कार्य करता है। 1. यदि कोई मान v′ ̸= \(\bot\) मौजूद है, तो सभी वैध संदेशों के बीच mr,2 जे उसे प्राप्त हुआ है, उनमें से 2/3 से अधिक फॉर्म (ESIGj(v'), \(\sigma\)r,2 के हैं जे ), बिना किसी विरोधाभास के,ए फिर वह संदेश की गणना करता है श्रीमान,3 मैं \(\triangleq\)(ESIGi(v′), \(\sigma\)r,3 मैं ). अन्यथा, वह श्रीमान,3 की गणना करता है मैं \(\triangleq\) (ESIGi(\(\bot\)), \(\sigma\)r,3 मैं ). 2. मैं उसकी अल्पकालिक गुप्त कुंजी स्क्र,3 को नष्ट कर देता हूं मैं , और फिर श्रीमान,3 का प्रचार करता हूँ मैं . अर्थात्, उसे क्रमशः ESIGj(v′) और एक भिन्न ESIGj(v′′) वाले दो वैध संदेश प्राप्त नहीं हुए हैं, एक खिलाड़ी से जे. यहां और यहां से आगे, बाद में परिभाषित अंतिम स्थितियों को छोड़कर, जब भी कोई ईमानदार खिलाड़ी हो किसी दिए गए रूप के संदेश चाहता है, एक-दूसरे का खंडन करने वाले संदेशों को कभी भी गिना या मान्य नहीं माना जाता है।चरण 4: जीसी का आउटपुट और बीबीए⋆ का पहला चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 4 शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,4 या नहीं. • यदि i /\(\in\)SV r,4, तो मैं चरण 4 के अपने निष्पादन को तुरंत रोक देता है। • यदि i \(\in\)SV r,4, तो कुछ समय प्रतीक्षा करने के बाद t4 \(\triangleq\)t3 + 2\(\lambda\) = 5\(\lambda\) + Λ, i निम्नानुसार कार्य करता है। 1. वह जीसी के आउटपुट vi और gi की गणना निम्नानुसार करता है। (ए) यदि कोई मान मौजूद है v′ ̸= \(\bot\)ऐसा है कि, सभी वैध संदेशों के बीच mr,3 जे उसके पास है प्राप्त हुए, उनमें से 2/3 से अधिक फॉर्म (ESIGj(v'), \(\sigma\)r,3 के हैं j ), फिर वह सेट हो जाता है vi \(\triangleq\)v′ और gi \(\triangleq\)2. (बी) अन्यथा, यदि कोई मान मौजूद है v′ ̸= \(\bot\)ऐसा है कि, सभी वैध संदेशों के बीच श्रीमान,3 जे उसे प्राप्त हुआ है, उनमें से 1/3 से अधिक फॉर्म (ESIGj(v'), \(\sigma\)r,3 के हैं जे ), फिर वह vi \(\triangleq\)v′ और gi \(\triangleq\)1.a सेट करता है (सी) अन्यथा, वह vi \(\triangleq\)H(Br) सेट करता है ǫ ) और gi \(\triangleq\)0. 2. वह BBA⋆ के इनपुट bi की गणना इस प्रकार करता है: bi \(\triangleq\)0 यदि gi = 2, और bi \(\triangleq\)1 अन्यथा। 3. वह संदेश की गणना करता है श्रीमान,4 मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,4 i ), उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,4 मैं , और फिर श्रीमान,4 का प्रचार करता हूँ मैं . यह साबित किया जा सकता है कि मामले (बी) में वी', यदि मौजूद है, तो अद्वितीय होना चाहिए।
चरण s, 5 \(\leq\)s \(\leq\)m + 2, s −2 ≡0 mod 3: BBA⋆ का एक कॉइन-फिक्स्ड-टू-0 चरण प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,s है। • यदि i /\(\in\)SV r,s है, तो मैं स्टेप s के अपने निष्पादन को तुरंत रोक देता है। • यदि i \(\in\)SV r,s है तो वह निम्नानुसार कार्य करता है। - वह तब तक प्रतीक्षा करता है जब तक कि समय ts \(\triangleq\)ts−1 + 2\(\lambda\) = (2s −3)\(\lambda\) + Λ बीत न जाए। - समाप्ति शर्त 0: यदि, ऐसी प्रतीक्षा के दौरान और किसी भी समय, कोई मौजूद हो स्ट्रिंग v ̸= \(\bot\)और एक चरण s′ ऐसा कि (ए) 5 \(\leq\)s′ \(\leq\)s, s′ −2 ≡0 mod 3—अर्थात्, चरण s′ एक कॉइन-फिक्स्ड-टू-0 चरण है, (बी) मुझे कम से कम tH प्राप्त हुआ है = 2एन 3 + 1 वैध संदेश mr,s′−1 जे = (ईएसआईजीजे(0), ESIGj(v), \(\sigma\)r,s′−1 जे ),ए और (सी) मुझे एक वैध संदेश प्राप्त हुआ है श्रीमान, 1 जे = (ब्र j , esigj(H(Br जे )), \(\sigma\)r,1 जे ) वी = एच (बीआर) के साथ जे ), फिर, मैं स्टेप एस (और वास्तव में राउंड आर) के उसके स्वयं के निष्पादन को तुरंत बिना रोक देता हूं किसी भी चीज़ का प्रचार करना; सेट Br = Br जे ; और संदेशों के सेट के रूप में अपना स्वयं का CERT r सेट करता है श्रीमान,एस′−1 जे उप-चरण (बी).बी - समाप्ति शर्त 1: यदि, ऐसी प्रतीक्षा के दौरान और किसी भी समय, कोई मौजूद हो कदम ऐसे कि (ए') 6 \(\leq\)s′ \(\leq\)s, s′ −2 ≡1 mod 3—अर्थात, चरण s′ एक कॉइन-फिक्स्ड-टू-1 चरण है, और (बी') मुझे कम से कम वैध संदेश प्राप्त हुए हैं श्रीमान, एस′−1 जे = (ईएसआईजीजे(1), ईएसआईजीजे(वीजे), \(\sigma\)r,s′−1 जे ),सी फिर, मैं स्टेप एस (और वास्तव में राउंड आर) के उसके स्वयं के निष्पादन को तुरंत बिना रोक देता हूं किसी भी चीज़ का प्रचार करना; सेट Br = Br ǫ ; और संदेशों के सेट के रूप में अपना स्वयं का CERT r सेट करता है श्रीमान,एस′−1 जे उप-चरण (बी') का। - अन्यथा, प्रतीक्षा के अंत में, उपयोगकर्ता i निम्नलिखित कार्य करता है। वह सभी वैध के दूसरे घटकों में वीआई को वीजे का बहुमत वोट मानता है श्रीमान,s−1 जे उसे प्राप्त हो गया है. वह द्वि की गणना इस प्रकार करता है। यदि सभी वैध mr,s−1 के 2/3 से अधिक जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)0 सेट करता है। अन्यथा, यदि सभी वैध mr,s−1 के 2/3 से अधिक है जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(1), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)1 सेट करता है। अन्यथा, वह द्वि \(\triangleq\)0 सेट करता है। वह संदेश की गणना करता है श्रीमान मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ), उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,s मैं , और फिर श्रीमान का प्रचार करता हूं मैं . खिलाड़ी j से ऐसा संदेश गिना जाता है, भले ही खिलाड़ी I को भी 1 के लिए हस्ताक्षर करने वाले j से एक संदेश प्राप्त हुआ हो। समाप्ति स्थिति 1 के लिए समान बातें। जैसा कि विश्लेषण में दिखाया गया है, यह सुनिश्चित करने के लिए किया जाता है कि सभी ईमानदार उपयोगकर्ताओं को पता चले Br समय के भीतर \(\lambda\) एक दूसरे से। बस उपयोगकर्ता मैं अब बीआर को जानता हूं और उसका अपना राउंड आर खत्म हो गया है। वह अभी भी एक सामान्य उपयोगकर्ता के रूप में संदेशों के प्रचार-प्रसार में मदद करता है, लेकिन (आर, एस)-सत्यापनकर्ता के रूप में कोई प्रचार शुरू नहीं करता है। विशेष रूप से, उन्होंने अपने सभी संदेशों को प्रचारित करने में मदद की है CERT r, जो हमारे प्रोटोकॉल के लिए पर्याप्त है। ध्यान दें कि उसे बाइनरी बीए प्रोटोकॉल के लिए bi \(\triangleq\)0 भी सेट करना चाहिए, लेकिन bi वैसे भी इस मामले में इसकी आवश्यकता नहीं है। भविष्य के सभी निर्देशों के लिए समान बातें। इस मामले में, इससे कोई फर्क नहीं पड़ता कि वीजे क्या हैं।चरण s, 6 \(\leq\)s \(\leq\)m + 2, s −2 ≡1 मॉड 3: बीबीए का एक सिक्का-निर्धारित-से-1 चरण⋆ प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,s या नहीं. • यदि i /\(\in\)SV r,s है, तो मैं स्टेप s के अपने निष्पादन को तुरंत रोक देता है। • यदि i \(\in\)SV r,s है तो वह निम्न कार्य करता है। - वह तब तक प्रतीक्षा करता है जब तक कि समय ts \(\triangleq\)(2s −3)\(\lambda\) + Λ बीत न जाए। - समाप्ति शर्त 0: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अंतिम शर्त 1: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अन्यथा, प्रतीक्षा के अंत में, उपयोगकर्ता i निम्नलिखित कार्य करता है। वह सभी वैध के दूसरे घटकों में वीआई को वीजे का बहुमत वोट मानता है श्रीमान,s−1 जे उसे प्राप्त हो गया है. वह द्वि की गणना इस प्रकार करता है। यदि सभी वैध mr,s−1 के 2/3 से अधिक जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)0 सेट करता है। अन्यथा, यदि सभी वैध mr,s−1 के 2/3 से अधिक है जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(1), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)1 सेट करता है। अन्यथा, वह द्वि \(\triangleq\)1 सेट करता है। वह संदेश की गणना करता है श्रीमान मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ), उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,s मैं , और फिर श्रीमान का प्रचार करता हूं मैं .
चरण s, 7 \(\leq\)s \(\leq\)m + 2, s −2 ≡2 मॉड 3: बीबीए का एक सिक्का-वास्तविक-फ़्लिप्ड चरण⋆ प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,s या नहीं. • यदि i /\(\in\)SV r,s है, तो मैं स्टेप s के अपने निष्पादन को तुरंत रोक देता है। • यदि i \(\in\)SV r,s है तो वह निम्न कार्य करता है। - वह तब तक प्रतीक्षा करता है जब तक कि समय ts \(\triangleq\)(2s −3)\(\lambda\) + Λ बीत न जाए। - समाप्ति शर्त 0: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अंतिम शर्त 1: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अन्यथा, प्रतीक्षा के अंत में, उपयोगकर्ता i निम्नलिखित कार्य करता है। वह सभी वैध के दूसरे घटकों में वीआई को वीजे का बहुमत वोट मानता है श्रीमान,s−1 जे उसे प्राप्त हो गया है. वह द्वि की गणना इस प्रकार करता है। यदि सभी वैध mr,s−1 के 2/3 से अधिक जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)0 सेट करता है। अन्यथा, यदि सभी वैध mr,s−1 के 2/3 से अधिक है जे उसे जो प्राप्त हुआ है वह फॉर्म का है (ESIGj(1), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह द्वि \(\triangleq\)1 सेट करता है। अन्यथा, मान लीजिए SV r,s−1 मैं (r, s −1)-सत्यापकों का समुच्चय बनें जिनसे उसे एक वैध प्राप्त हुआ है संदेश mr,s−1 जे . वह bi \(\triangleq\)lsb(minj\(\in\)SV r,s−1) सेट करता है मैं H(\(\sigma\)r,s−1 जे )). वह संदेश की गणना करता है श्रीमान मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ), उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,s मैं , और फिर श्रीमान का प्रचार करता हूं मैं .
चरण एम + 3: बीबीएए का अंतिम चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण m + 3 शुरू करता है Br−1 जानता है. • उपयोगकर्ता i, Br−1 के तीसरे घटक से Qr−1 की गणना करता है और जाँचता है कि क्या i \(\in\)SV r,m+3 या नहीं. • यदि i /\(\in\)SV r,m+3, तो मैं चरण m + 3 के अपने निष्पादन को तुरंत रोक देता हूं। • यदि i \(\in\)SV r,m+3 तो वह निम्न कार्य करता है। - वह तब तक प्रतीक्षा करता है जब तक कि tm+3 \(\triangleq\)tm+2 + 2\(\lambda\) = (2m + 3)\(\lambda\) + Λ समय बीत न जाए। - समाप्ति शर्त 0: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अंतिम शर्त 1: कॉइन-फिक्स्ड-टू-0 चरणों के समान निर्देश। - अन्यथा, प्रतीक्षा के अंत में, उपयोगकर्ता i निम्नलिखित कार्य करता है। वह \(\triangleq\)1 और Br \(\triangleq\)Br निर्धारित करता है .. . वह संदेश की गणना mr,m+3 करता है मैं = (ESIGi(outi), ESIGi(H(Br)), \(\sigma\)r,m+3 मैं ), उसका नाश कर देता है क्षणिक गुप्त कुंजी skr,m+3 मैं , और फिर mr,m+3 का प्रचार करता है मैं Br.b को प्रमाणित करने के लिए अत्यधिक संभावना के साथ बीबीए⋆ इस चरण से पहले समाप्त हो गया है, और हम पूर्णता के लिए इस चरण को निर्दिष्ट करते हैं। चरण एम + 3 से बीए प्रमाणपत्र में ईएसआईजीआई (आउटी) शामिल करना आवश्यक नहीं है। हम इसे केवल एकरूपता के लिए शामिल करते हैं: द प्रमाणपत्रों का प्रारूप अब एक समान है, चाहे वे किसी भी चरण में तैयार किए गए हों।गैर-सत्यापनकर्ताओं द्वारा राउंड-आर ब्लॉक का पुनर्निर्माण सिस्टम में प्रत्येक उपयोगकर्ता i के लिए निर्देश: जैसे ही उपयोगकर्ता i को पता चलता है, वह अपना स्वयं का राउंड आर शुरू कर देता है Br−1, और निम्नानुसार ब्लॉक जानकारी की प्रतीक्षा करता है। - यदि, ऐसी प्रतीक्षा के दौरान और किसी भी समय, एक स्ट्रिंग v और एक चरण s' मौजूद है वह (ए) 5 \(\leq\)s′ \(\leq\)m + 3 s′ −2 ≡0 मॉड 3 के साथ, (बी) मुझे कम से कम tH वैध संदेश प्राप्त हुए हैं mr,s′−1 जे = (ESIGj(0), ESIGj(v), \(\sigma\)r,s′−1 जे ), और (सी) मुझे एक वैध संदेश प्राप्त हुआ है श्रीमान, 1 जे = (ब्र j , esigj(H(Br जे )), \(\sigma\)r,1 जे ) वी = एच (बीआर) के साथ जे ), फिर, मैं राउंड आर के अपने निष्पादन को तुरंत रोक देता हूं; सेट Br = Br जे; और अपना स्वयं का CERT r सेट करता है संदेशों का सेट होना mr,s′−1 जे उप-चरण (बी) का। – यदि, ऐसी प्रतीक्षा के दौरान और किसी भी समय, कोई कदम ऐसा मौजूद हो (ए') 6 \(\leq\)s′ \(\leq\)m + 3 s′ −2 ≡1 मॉड 3 के साथ, और (बी') मुझे कम से कम वैध संदेश प्राप्त हुए हैं श्रीमान, एस′−1 जे = (ESIGj(1), ESIGj(vj), \(\sigma\)r,s′−1 जे ), फिर, मैं राउंड आर के अपने निष्पादन को तुरंत रोक देता हूं; सेट Br = Br ǫ; और अपना स्वयं का CERT r सेट करता है संदेशों का सेट होना mr,s′−1 जे उप-चरण (बी') का। - यदि, ऐसी प्रतीक्षा के दौरान और किसी भी समय, मुझे कम से कम वैध संदेश प्राप्त हुए हों श्रीमान,एम+3 जे = (ESIGj(1), ESIGj(H(Br ǫ )), \(\sigma\)r,m+3 जे ), फिर मैं राउंड आर के अपने निष्पादन को रोक देता हूं तुरंत, Br = Br सेट करता है ǫ, और अपने स्वयं के CERT r को संदेशों के सेट mr,m+3 के रूप में सेट करता है जे 1 के लिए और एच(ब्र ज़ू ). 5.5 Algorand का विश्लेषण' 1 हम विश्लेषण में प्रयुक्त प्रत्येक दौर r \(\geq\)0 के लिए निम्नलिखित नोटेशन प्रस्तुत करते हैं। • मान लीजिए कि T वह समय है जब पहला ईमानदार उपयोगकर्ता Br−1 को जानता है। • मान लीजिए कि Ir+1 अंतराल है [T r+1, T r+1 + \(\lambda\)]। ध्यान दें कि प्रोटोकॉल के आरंभीकरण से T 0 = 0। प्रत्येक s \(\geq\)1 और i \(\in\)SV r,s के लिए, उसे याद करें \(\alpha\)r,s मैं और \(\beta\)r,s मैं क्रमशः खिलाड़ी I के चरणों का प्रारंभ समय और समाप्ति समय हैं। इसके अलावा, याद रखें कि प्रत्येक 2 \(\leq\)s \(\leq\)m + 3 के लिए ts = (2s −3)\(\lambda\) + Λ। इसके अलावा, मान लीजिए I0 \(\triangleq\){0} और t1 \(\triangleq\)0। अंत में, याद रखें कि Lr \(\leq\)m/3 एक यादृच्छिक चर है जो बर्नौली परीक्षणों की संख्या का प्रतिनिधित्व करता है 1 देखने की आवश्यकता है, जब प्रत्येक परीक्षण प्रायिकता पीएच के साथ 1 है 2 और अधिकतम एम/3 परीक्षण हैं। यदि सभी परीक्षण विफल हो जाता है तो Lr \(\triangleq\)m/3। विश्लेषण में हम गणना समय को नजरअंदाज कर देते हैं, क्योंकि यह वास्तव में आवश्यक समय के सापेक्ष नगण्य है संदेशों का प्रचार-प्रसार करना। किसी भी स्थिति में, थोड़े बड़े \(\lambda\) और Λ का उपयोग करके, गणना समय बढ़ाया जा सकता है सीधे विश्लेषण में शामिल किया जाए। नीचे दिए गए अधिकांश कथन “जबरदस्त” हैं संभाव्यता," और हम विश्लेषण में इस तथ्य पर बार-बार जोर नहीं दे सकते।5.6 मुख्य प्रमेय प्रमेय 5.1. निम्नलिखित गुण प्रत्येक दौर r \(\geq\)0 के लिए अत्यधिक संभावना रखते हैं: 1. सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक पर सहमत हैं ब्र. 2. जब नेता \(\ell\)r ईमानदार होता है, तो ब्लॉक Br \(\ell\)r द्वारा उत्पन्न होता है, Br में अधिकतम भुगतान सेट होता है समय \(\alpha\)r,1 द्वारा \(\ell\)r द्वारा प्राप्त किया गया \(\ell\)r , T r+1 \(\leq\)T r + 8\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता उस समय Br को जानते हैं अंतराल आईआर+1. 3. जब नेता \(\ell\)r दुर्भावनापूर्ण है, तो T r+1 \(\leq\)T r + (6Lr + 10)\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता Br को जानते हैं समय अंतराल में Ir+1. 4. Lr के लिए ph = h2(1 + h −h2), और नेता \(\ell\)r कम से कम ph की संभावना के साथ ईमानदार है। अपने मुख्य प्रमेय को सिद्ध करने से पहले, आइए हम दो टिप्पणियाँ करें। टिप्पणी। • ब्लॉक-जेनरेशन और ट्रू लेटेंसी। ब्लॉक Br उत्पन्न करने का समय T r+1 −T r निर्धारित किया गया है। अर्थात्, इसे पहली बार कुछ ईमानदार उपयोगकर्ता द्वारा Br सीखने और के बीच का अंतर माना जाता है। पहली बार कोई ईमानदार उपयोगकर्ता Br−1 सीखता है। जब राउंड-आर नेता ईमानदार होता है, संपत्ति 2 हमारी मुख्य प्रमेय गारंटी देता है कि Br उत्पन्न करने का सटीक समय 8\(\lambda\) + Λ समय है, चाहे कुछ भी हो h > 2/3 का सटीक मान हो सकता है। जब नेता दुर्भावनापूर्ण होता है, तो संपत्ति 3 का तात्पर्य है कि Br उत्पन्न करने का अपेक्षित समय (12) से अधिक है ph + 10)\(\lambda\) + Λ, फिर भी सटीक कोई फर्क नहीं पड़ता h.18 का मान हालाँकि, Br उत्पन्न करने का अपेक्षित समय h के सटीक मान पर निर्भर करता है। वास्तव में, संपत्ति 4 द्वारा, ph = h2(1 + h −h2) और नेता कम से कम संभाव्यता के साथ ईमानदार है पीएच, इस प्रकार E[T r+1 −T r] \(\leq\)h2(1 + h −h2) \(\cdot\) (8\(\lambda\) + Λ) + (1 −h2(1 + h −h2))(( 12 h2(1 + h −h2) + 10)\(\lambda\) + Λ). उदाहरण के लिए, यदि h = 80%, तो E[T r+1 −T r] \(\leq\)12.7\(\lambda\) + Λ। • \(\lambda\) बनाम Λ. ध्यान दें कि सत्यापनकर्ताओं द्वारा चरण Algorand 'में भेजे गए संदेशों का आकार हावी है डिजिटल हस्ताक्षर कुंजियों की लंबाई से, जो कि संख्या होने पर भी स्थिर रह सकती है उपयोगकर्ता बहुत अधिक हैं। यह भी ध्यान दें कि, किसी भी चरण s > 1 में, सत्यापनकर्ताओं की समान अपेक्षित संख्या n है इसका उपयोग किया जा सकता है चाहे उपयोगकर्ताओं की संख्या 100K, 100M, या 100M हो। ऐसा इसलिए है क्योंकि n केवल एच और एफ पर निर्भर करता है। कुल मिलाकर, गुप्त कुंजी लंबाई बढ़ाने की अचानक आवश्यकता को छोड़कर, \(\lambda\) का मान वही रहना चाहिए चाहे इसमें उपयोगकर्ताओं की संख्या कितनी भी अधिक क्यों न हो निकट भविष्य. इसके विपरीत, किसी भी लेनदेन दर के लिए, लेनदेन की संख्या संख्या के साथ बढ़ती है उपयोगकर्ता. इसलिए, सभी नए लेनदेन को समय पर संसाधित करने के लिए एक ब्लॉक का आकार होना चाहिए उपयोगकर्ताओं की संख्या के साथ-साथ Λ भी बढ़ता है। इस प्रकार, लंबे समय में, हमें ऐसा करना चाहिए \(\lambda\) << Λ. तदनुसार, \(\lambda\) के लिए एक बड़ा गुणांक और वास्तव में एक गुणांक होना उचित है Λ के लिए 1 का. प्रमेय 5.1 का प्रमाण. हम गुण 1-3 को प्रेरण द्वारा सिद्ध करते हैं: यह मानते हुए कि वे राउंड आर -1 के लिए मान्य हैं (व्यापकता की हानि के बिना, जब r = 0 होता है तो वे स्वचालित रूप से "राउंड -1" को पकड़ लेते हैं), हम उन्हें इसके लिए सिद्ध करते हैं गोल आर. 18दरअसल, ई[टी आर+1 −टी आर] \(\leq\)(6ई[एलआर] + 10)\(\lambda\) + Λ = (6 \(\cdot\) 2 पीएच + 10)\(\lambda\) + Λ = ( 12 पीएच + 10)\(\lambda\) + Λ.चूंकि Br−1 को आगमनात्मक परिकल्पना द्वारा विशिष्ट रूप से परिभाषित किया गया है, इसलिए सेट SV r,s को विशिष्ट रूप से परिभाषित किया गया है राउंड आर के प्रत्येक चरण के लिए। n1, SV r,1 ̸= \(\emptyset\) की पसंद से अत्यधिक संभावना के साथ। हम अब धारा 5.7 और 5.8 में सिद्ध निम्नलिखित दो सूत्र बताएं। प्रेरण के दौरान और अंदर दो लेम्माओं के प्रमाण, राउंड 0 के लिए विश्लेषण लगभग आगमनात्मक चरण के समान है, और जब अंतर घटित होंगे तो हम उन्हें उजागर करेंगे। लेम्मा 5.2. [पूर्णता लेम्मा] गुण 1-3 को राउंड आर−1 के लिए होल्ड मान लिया जाए, जब लीडर \(\ell\)r ईमानदार है, अत्यधिक संभावना के साथ, • सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक Br पर सहमत हैं, जो \(\ell\)r द्वारा उत्पन्न होता है और इसमें अधिकतम होता है \(\ell\)r द्वारा समय \(\alpha\)r,1 द्वारा प्राप्त भुगतान \(\ell\)r \(\in\)Ir; और • T r+1 \(\leq\)T r + 8\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 में Br को जानते हैं। लेम्मा 5.3. [साउंडनेस लेम्मा] यह मानते हुए कि गुण 1-3 राउंड आर -1 के लिए हैं, जब नेता \(\ell\)r दुर्भावनापूर्ण है, अत्यधिक संभावना के साथ, सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक पर सहमत हैं Br, T r+1 \(\leq\) T r + (6Lr + 10)\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 में Br को जानते हैं। लेम्मास 5.2 और 5.3 को आर = 0 और आगमनात्मक चरण पर लागू करने से गुण 1-3 कायम रहते हैं। अंततः, हम संपत्ति 4 को निम्नलिखित प्रमेय के रूप में पुनः प्रस्तुत करते हैं, जो धारा 5.9 में साबित हुआ है। लेम्मा 5.4. आर से पहले प्रत्येक दौर के लिए गुण 1-3 दिए गए हैं, एलआर के लिए पीएच = एच2(1 + एच −एच2), और नेता \(\ell\)r संभाव्यता के प्रति कम से कम ph ईमानदार है। उपरोक्त तीन नींबू को एक साथ मिलाकर, प्रमेय 5.1 कायम रहता है। ■ नीचे दिया गया लेम्मा आगमनात्मक दिए गए राउंड आर के बारे में कई महत्वपूर्ण गुण बताता है परिकल्पना, और उपरोक्त तीन नींबू के प्रमाण में उपयोग किया जाएगा। लेम्मा 5.5. मान लें कि गुण 1-3 राउंड आर −1 के लिए हैं। राउंड आर के प्रत्येक चरण s \(\geq\)1 के लिए प्रत्येक ईमानदार सत्यापनकर्ता i\(\in\)HSV r,s, हमारे पास वह है (ए) \(\alpha\)r,s मैं \(\in\)इर; (बी) यदि खिलाड़ी I ने ts की मात्रा तक प्रतीक्षा की है, तो \(\beta\)r,s मैं \(\in\)[T r + ts, T r + \(\lambda\) + ts] r > 0 और के लिए \(\beta\)r,s मैं = ts के लिए r = 0; और (सी) यदि खिलाड़ी I ने समय ts तक प्रतीक्षा की है, तो समय \(\beta\)r,s तक मैं, उसे सभी संदेश प्राप्त हो गए हैं सभी ईमानदार सत्यापनकर्ताओं द्वारा भेजा गया j \(\in\)HSV r,s′ सभी चरणों s′ < s के लिए। इसके अलावा, प्रत्येक चरण s \(\geq\)3 के लिए, हमारे पास वह है (डी) दो अलग-अलग खिलाड़ी i, i′ \(\in\)SV r,s और दो अलग-अलग मान v, v′ मौजूद नहीं हैं। लंबाई, ऐसी कि दोनों खिलाड़ियों ने कुल समय के 2/3 से अधिक समय तक प्रतीक्षा की है वैध संदेश m,s−1 जे मुझे प्राप्त खिलाड़ी ने वी के लिए हस्ताक्षर किए हैं, और सभी वैध के 2/3 से अधिक संदेश mr,s−1 जे मुझे प्राप्त होने वाले खिलाड़ी ने v' के लिए हस्ताक्षर किए हैं। सबूत। संपत्ति (ए) सीधे आगमनात्मक परिकल्पना से अनुसरण करती है, क्योंकि खिलाड़ी मैं Br−1 को जानता हूं समय अंतराल Ir और तुरंत अपना कदम शुरू करता है। संपत्ति (बी) सीधे (ए) से अनुसरण करती है: चूंकि खिलाड़ी मैंने अभिनय करने से पहले काफी समय तक इंतजार किया है, \(\beta\)r,s मैं = \(\alpha\)r,s मैं + टी.एस. ध्यान दें कि \(\alpha\)r,s मैं = 0 के लिए आर = 0. अब हम संपत्ति (सी) साबित करते हैं। यदि s = 2, तो संपत्ति (बी) द्वारा, सभी सत्यापनकर्ताओं के लिए j \(\in\)HSV r,1 हमारे पास है \(\beta\)r,s मैं = \(\alpha\)r,s मैं + ts \(\geq\)T r + ts = T r + \(\lambda\) + Λ \(\geq\) \(\beta\)r,1 जे + Λ.चूँकि प्रत्येक सत्यापनकर्ता j \(\in\)HSV r,1 समय \(\beta\)r,1 पर अपना संदेश भेजता है जे और संदेश सभी ईमानदारों तक पहुंचे अधिकतम Λ समय में उपयोगकर्ता, समय \(\beta\)r,s के अनुसार मैं प्लेयर मुझे सभी सत्यापनकर्ताओं द्वारा भेजे गए संदेश प्राप्त हो गए हैं एचएसवी आर,1 इच्छानुसार। यदि s > 2, तो ts = ts−1 + 2\(\lambda\). संपत्ति (बी) द्वारा, सभी चरणों s′ < s और सभी सत्यापनकर्ताओं j \(\in\)HSV r,s′ के लिए, \(\beta\)r,s मैं = \(\alpha\)r,s मैं + ts \(\geq\)T r + ts = T r + ts−1 + 2\(\lambda\) \(\geq\)T r + ts′ + 2\(\lambda\) = T r + \(\lambda\) + ts′ + \(\lambda\) \(\geq\) \(\beta\)r,s′ जे + \(\lambda\). चूँकि प्रत्येक सत्यापनकर्ता j \(\in\)HSV r,s′ अपना संदेश \(\beta\)r,s′ पर भेजता है। जे और संदेश सभी ईमानदारों तक पहुंचे अधिकतम \(\lambda\) समय में उपयोगकर्ता, समय \(\beta\)r,s के अनुसार मैं प्लेयर मुझे सभी ईमानदार सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हुए हैं HSV r,s' में सभी s' < s के लिए। इस प्रकार संपत्ति (सी) कायम है। अंत में, हम संपत्ति (डी) साबित करते हैं। ध्यान दें कि सत्यापनकर्ता j \(\in\)SV r,s−1 अधिकतम दो चीजों पर हस्ताक्षर करते हैं चरण s −1 उनकी क्षणिक गुप्त कुंजियों का उपयोग करते हुए: आउटपुट के समान लंबाई का एक मान vj hash फ़ंक्शन, और थोड़ा bj \(\in\){0, 1} यदि s −1 \(\geq\)4 भी। इसीलिए लेम्मा के कथन में हमें आवश्यकता है कि v और v' की लंबाई समान हो: कई सत्यापनकर्ताओं ने दोनों पर hash मान पर हस्ताक्षर किए होंगे v और थोड़ा b, इस प्रकार दोनों 2/3 सीमा पार कर जाते हैं। विरोधाभास के लिए मान लें कि वांछित सत्यापनकर्ता i, i' और मान v, v' मौजूद हैं। ध्यान दें कि MSV r,s−1 में कुछ दुर्भावनापूर्ण सत्यापनकर्ताओं ने v और v′ दोनों पर हस्ताक्षर किए होंगे, लेकिन प्रत्येक ईमानदार HSV r,s−1 में सत्यापनकर्ता ने उनमें से अधिकतम एक पर हस्ताक्षर किए हैं। संपत्ति (सी) द्वारा, i और i' दोनों को प्राप्त हुआ है HSV r,s−1 में सभी ईमानदार सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश। मान लीजिए HSV r,s−1(v) ईमानदार (r, s −1)-सत्यापनकर्ताओं का समूह है जिन्होंने v, MSV r,s−1 पर हस्ताक्षर किए हैं मैं सेट दुर्भावनापूर्ण (r, s −1)-सत्यापिकाओं का जिनसे मुझे एक वैध संदेश प्राप्त हुआ है, और MSV r,s −1 मैं (v) द MSV r,s−1 का उपसमुच्चय मैं जिनसे मुझे वी. के लिए आवश्यकताओं पर हस्ताक्षर करते हुए एक वैध संदेश प्राप्त हुआ है मैं और वी, हमारे पास है अनुपात \(\triangleq\)|HSV r,s−1(v)| + |एमएसवी आर,एस−1 मैं (v)| |HSV r,s−1| + |एमएसवी आर,एस−1 मैं |
2 3. (1) हम पहले दिखाते हैं |एमएसवी आर,एस−1 मैं (v)| \(\leq\)|HSV r,s−1(v)| (2) अन्यथा मान लेना, मापदंडों के बीच संबंधों के आधार पर, अत्यधिक संभावना के साथ |HSV r,s−1| > 2|MSV r,s−1| \(\geq\)2|MSV r,s−1 मैं |, इस प्रकार अनुपात < |HSV r,s−1(v)| + |एमएसवी आर,एस−1 मैं (v)| 3|एमएसवी आर,एस−1 मैं | < 2|MSV r,s−1 मैं (v)| 3|एमएसवी आर,एस−1 मैं | \(\leq\)2 3, असमानता का खंडन 1. अगला, असमानता 1 से हमारे पास है 2|HSV r,s−1| + 2|MSV r,s−1 मैं | < 3|HSV r,s−1(v)| + 3|एमएसवी आर,एस−1 मैं (v)| \(\leq\) 3|HSV r,s−1(v)| + 2|MSV r,s−1 मैं | + |एमएसवी आर,एस−1 मैं (v)|. असमानता 2 के साथ संयोजन, 2|HSV r,s−1| < 3|HSV r,s−1(v)| + |एमएसवी आर,एस−1 मैं (v)| \(\leq\)4|HSV r,s−1(v)|, जिसका तात्पर्य है |HSV r,s−1(v)| > 1 2|HSV r,s−1|.इसी प्रकार, i' और v' की आवश्यकताओं के अनुसार, हमारे पास है |HSV r,s−1(v′)| > 1 2|HSV r,s−1|. चूँकि एक ईमानदार सत्यापनकर्ता j \(\in\)HSV r,s−1 उसकी अल्पकालिक गुप्त कुंजी skr,s−1 को नष्ट कर देता है जे प्रचारित करने से पहले उनका संदेश, प्रतिद्वंद्वी उस मूल्य के लिए जे के हस्ताक्षर को जाली नहीं बना सकता है जिसके बाद जे ने हस्ताक्षर नहीं किया था यह सीखना कि j एक सत्यापनकर्ता है। इस प्रकार, उपरोक्त दो असमानताएँ |HSV r,s−1| दर्शाती हैं \(\geq\)|HSV r,s−1(v)| + |HSV r,s−1(v′)| > |HSV r,s−1|, एक विरोधाभास। तदनुसार, वांछित i, i', v, v' मौजूद नहीं है, और संपत्ति (डी) रखती है। ■ 5.7 संपूर्णता लेम्मा लेम्मा 5.2. [पूर्णता लेम्मा, पुनः कहा गया] मान लिया गया कि गुण 1-3 गोल r−1 के लिए हैं, जब नेता \(\ell\)r ईमानदार है, अत्यधिक संभावना के साथ, • सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक Br पर सहमत हैं, जो \(\ell\)r द्वारा उत्पन्न होता है और इसमें अधिकतम होता है \(\ell\)r द्वारा समय \(\alpha\)r,1 द्वारा प्राप्त भुगतान \(\ell\)r \(\in\)Ir; और • T r+1 \(\leq\)T r + 8\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 में Br को जानते हैं। सबूत। आगमनात्मक परिकल्पना और लेम्मा 5.5 द्वारा, प्रत्येक चरण s और सत्यापनकर्ता i \(\in\)HSV r,s के लिए, \(\alpha\)r,s मैं इर. नीचे हम चरण दर चरण प्रोटोकॉल का विश्लेषण करते हैं। चरण 1. परिभाषा के अनुसार, प्रत्येक ईमानदार सत्यापनकर्ता i\(\in\)HSV r,1 वांछित संदेश का प्रचार करता है श्रीमान,1 मैं पर समय \(\beta\)r,1 मैं = \(\alpha\)r,1 मैं , कहाँ श्रीमान ,1 मैं = (ब्र मैं , ईएसजीआई(एच(बीआर मैं )), \(\sigma\)r,1 मैं ), ब्र मैं = (आर, भुगतान आर i , SIGi(Qr−1), H(Br−1)), और भुगतान करें आर समय \(\alpha\)r,1 के अनुसार मैंने जो भी भुगतान देखे हैं उनमें से मैं एक अधिकतम भुगतान सेट है मैं . चरण 2. \(\in\)एचएसवी आर,2 में मनमाने ढंग से एक ईमानदार सत्यापनकर्ता तय करें। लेम्मा 5.5 द्वारा, जब प्लेयर आई पूरा हो जाता है समय पर प्रतीक्षा कर रहे हैं \(\beta\)r,2 मैं = \(\alpha\)r,2 मैं +टी2, उसे एचएसवी आर,1 सहित सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हो गए हैं श्रीमान,1 \(\ell\)r . \(\ell\)r की परिभाषा के अनुसार, PKr−k में कोई अन्य खिलाड़ी मौजूद नहीं है जिसका क्रेडेंशियल hash है मान H(\(\sigma\)r,1) से छोटा है \(\ell\)r ). निःसंदेह, विरोधी यह देखने के बाद कि H(\(\sigma\)r,1) को भ्रष्ट कर सकता है \(\ell\)r ) बहुत छोटा है, लेकिन उस समय तक खिलाड़ी \(\ell\)r ने अपनी क्षणिक कुंजी और संदेश श्रीमान,1 को नष्ट कर दिया है \(\ell\)r प्रचारित किया गया है. इस प्रकार सत्यापनकर्ता अपने नेता को खिलाड़ी \(\ell\)r के रूप में निर्धारित करता है। तदनुसार, समय \(\beta\)r,2 पर मैं , सत्यापनकर्ता मैं श्रीमान, 2 का प्रचार करता हूँ मैं = (ESIGi(v′ मैं), \(\sigma\)r,2 i ), जहां v' मैं = एच(ब्र \(\ell\)r). जब r = 0, एकमात्र अंतर क्या वह \(\beta\)r,2 है मैं = t2 एक सीमा में होने के बजाय। ऐसी ही बातें भविष्य के कदमों और हमारे लिए भी कही जा सकती हैं दोबारा उन पर जोर नहीं देंगे. चरण 3. \(\in\)HSV r,3 में मनमाने ढंग से एक ईमानदार सत्यापनकर्ता तय करें। लेम्मा 5.5 द्वारा, जब प्लेयर आई पूरा हो जाता है समय पर प्रतीक्षा कर रहे हैं \(\beta\)r,3 मैं = \(\alpha\)r,3 मैं +टी3, उसे एचएसवी आर,2 में सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हो गए हैं। मापदंडों के बीच संबंधों द्वारा, अत्यधिक संभावना के साथ |एचएसवी आर,2| > 2|एमएसवी आर,2| इसके अलावा, कोई भी ईमानदार सत्यापनकर्ता विरोधाभासी संदेशों और प्रतिद्वंद्वी पर हस्ताक्षर नहीं करेगा किसी ईमानदार सत्यापनकर्ता द्वारा उसके अनुरूप नष्ट कर दिए जाने के बाद उसके हस्ताक्षर नहीं बनाए जा सकते क्षणभंगुर गुप्त कुंजी. इस प्रकार मुझे प्राप्त सभी वैध (आर, 2)-संदेशों में से 2/3 से अधिक संदेश यहीं से प्राप्त हुए हैं ईमानदार सत्यापनकर्ता और श्रीमान, 2 जे = (ESIGj(H(Br \(\ell\)r)), \(\sigma\)r,2 जे ), बिना किसी विरोधाभास के। तदनुसार, समय \(\beta\)r,3 पर मैं खिलाड़ी मैं प्रचार करता हूँ श्रीमान, 3 मैं = (ESIGi(v′), \(\sigma\)r,3 i ), जहां v′ = H(Br \(\ell\)r).चरण 4. \(\in\)एचएसवी आर,4 में मनमाने ढंग से एक ईमानदार सत्यापनकर्ता तय करें। लेम्मा 5.5 द्वारा, प्लेयर आई को सभी प्राप्त हो गए हैं एचएसवी आर,3 में सत्यापनकर्ताओं द्वारा भेजे गए संदेश जब वह समय \(\beta\)r,4 पर प्रतीक्षा कर रहा हो मैं = \(\alpha\)r,4 मैं +टी4. के समान चरण 3, मुझे प्राप्त सभी वैध (आर, 3)-संदेशों में से 2/3 से अधिक संदेश ईमानदार सत्यापनकर्ताओं से हैं और फॉर्म का श्रीमान,3 जे = (ESIGj(H(Br \(\ell\)r)), \(\sigma\)r,3 ज ). तदनुसार, खिलाड़ी i सेट करता है vi = H(Br \(\ell\)r), gi = 2 और bi = 0. समय पर \(\beta\)r,4 मैं = \(\alpha\)r,4 मैं +t4 वह प्रचार करता है श्रीमान, 4 मैं = (ESIGi(0), ESIGi(H(Br \(\ell\)r)), \(\sigma\)r,4 मैं ). चरण 5. \(\in\)HSV r,5 में मनमाने ढंग से एक ईमानदार सत्यापनकर्ता तय करें। लेम्मा 5.5 तक, प्लेयर मेरे पास होगा एचएसवी आर,4 में सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हुए यदि उसने समय \(\alpha\)r,5 तक प्रतीक्षा की है मैं +टी5. ध्यान दें |एचएसवी आर,4| \(\geq\)tH.19 यह भी ध्यान दें कि HSV r,4 में सभी सत्यापनकर्ताओं ने H(Br) के लिए हस्ताक्षर किए हैं \(\ell\)r). जैसे |एमएसवी आर,4| < tH, कोई v′ ̸= H(Br) मौजूद नहीं है \(\ell\)r) जिस पर tH द्वारा हस्ताक्षर किये जा सकते थे एसवी आर,4 में सत्यापनकर्ता (जो आवश्यक रूप से दुर्भावनापूर्ण होंगे), इसलिए खिलाड़ी मैं उसके पहले नहीं रुकता श्रीमान, 4 को वैध संदेश प्राप्त हुए जे = (ESIGj(0), ESIGj(H(Br \(\ell\)r)), \(\sigma\)r,4 ज ). माना T वह समय है जब बाद वाली घटना घटती है. उनमें से कुछ संदेश दुर्भावनापूर्ण खिलाड़ियों के हो सकते हैं, लेकिन क्योंकि |एमएसवी आर,4| < tH, उनमें से कम से कम एक एचएसवी आर,4 में एक ईमानदार सत्यापनकर्ता से है और समय के बाद भेजा जाता है टी आर +टी4. तदनुसार, T \(\geq\)T r +t4 > T r +\(\lambda\)+Λ \(\geq\) \(\beta\)r,1 \(\ell\)r +Λ, और समय के अनुसार टी प्लेयर मुझे भी प्राप्त हुआ है संदेश श्रीमान,1 \(\ell\)r . प्रोटोकॉल के निर्माण से, खिलाड़ी i समय \(\beta\)r,5 पर रुक जाता है मैं = टी बिना किसी भी चीज़ का प्रचार करना; सेट Br = Br \(\ell\)r; और अपने स्वयं के CERT r को (r, 4)-संदेशों के सेट के रूप में सेट करता है 0 और एच(ब्र \(\ell\)r) जो उसे प्राप्त हुआ है। चरण एस > 5. इसी तरह, किसी भी चरण s > 5 और किसी भी सत्यापनकर्ता i \(\in\)HSV r,s, प्लेयर के लिए मेरे पास होगा एचएसवी आर,4 में सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हुए यदि उसने समय \(\alpha\)r,s तक प्रतीक्षा की है मैं + टी.एस. द्वारा वही विश्लेषण, प्लेयर I बिना कुछ प्रचारित किए रुक जाता है, Br = Br सेट कर देता है \(\ell\)r (और अपनी खुद की सेटिंग सीईआरटी आर ठीक से)। बेशक, दुर्भावनापूर्ण सत्यापनकर्ता रुक नहीं सकते और मनमाना प्रचार कर सकते हैं संदेश, लेकिन क्योंकि |MSV r,s| < tH, प्रेरण द्वारा tH सत्यापनकर्ताओं द्वारा किसी अन्य v' पर हस्ताक्षर नहीं किया जा सकता है किसी भी चरण 4 \(\leq\)s′ < s में, इस प्रकार ईमानदार सत्यापनकर्ता केवल इसलिए रुकते हैं क्योंकि उन्हें tH वैध प्राप्त हुआ है (आर, 4)-0 और एच(बीआर) के लिए संदेश \(\ell\)r). राउंड-आर ब्लॉक का पुनर्निर्माण। चरण 5 का विश्लेषण सामान्य ईमानदार पर लागू होता है उपयोगकर्ता मैं लगभग बिना किसी बदलाव के। दरअसल, खिलाड़ी I अंतराल Ir और में अपना राउंड R शुरू करता है केवल उस समय T पर रुकेगा जब उसे H(Br) के लिए tH वैध (r, 4)-संदेश प्राप्त होंगे \(\ell\)r). फिर से क्योंकि उनमें से कम से कम एक संदेश ईमानदार सत्यापनकर्ताओं का है और समय T r + t4, प्लेयर I के बाद भेजा गया है श्रीमान,1 भी प्राप्त हुआ \(\ell\)r समय T के अनुसार। इस प्रकार वह Br = Br निर्धारित करता है \(\ell\)r उचित CERT r के साथ। यह केवल यह दिखाना बाकी है कि सभी ईमानदार उपयोगकर्ता अपना राउंड आर समय अंतराल Ir+1 के भीतर समाप्त करते हैं। चरण 5 के विश्लेषण से, \(\in\)HSV r,5 का प्रत्येक ईमानदार सत्यापनकर्ता Br को \(\alpha\)r,5 पर या उससे पहले जानता है। मैं + t5 \(\leq\) टी आर + \(\lambda\) + टी5 = टी आर + 8\(\lambda\) + Λ. चूँकि T r+1 वह समय है जब पहला ईमानदार उपयोगकर्ता ir Br को जानता है, हमारे पास है टी आर+1 \(\leq\)टी आर + 8\(\lambda\) + Λ इच्छानुसार. इसके अलावा, जब खिलाड़ी ब्र को जानता है, तो वह पहले ही संदेशों को प्रसारित करने में मदद कर चुका होता है उसका सीईआरटी आर. ध्यान दें कि वे सभी संदेश सभी ईमानदार उपयोगकर्ताओं को समय के भीतर प्राप्त होंगे, भले ही 19सख्ती से कहें तो, ऐसा बहुत अधिक संभावना के साथ होता है लेकिन जरूरी नहीं कि यह बहुत ज्यादा हो। हालाँकि, यह संभाव्यता प्रोटोकॉल के चलने के समय को थोड़ा प्रभावित करती है, लेकिन इसकी शुद्धता को प्रभावित नहीं करती है। जब h = 80%, तब |एचएसवी आर,4| \(\geq\)tH प्रायिकता 1 −10−8 के साथ। यदि यह घटना घटित नहीं होती है, तो प्रोटोकॉल दूसरे के लिए जारी रहेगा 3 कदम. चूँकि यह संभावना कि यह दो चरणों में घटित नहीं होगा, नगण्य है, प्रोटोकॉल चरण 8 पर समाप्त हो जाएगा। उम्मीद है, तो, आवश्यक कदमों की संख्या लगभग 5 है।प्लेयर आईआर उनका प्रचार करने वाले पहले खिलाड़ी थे। इसके अलावा, ऊपर दिए गए विश्लेषण के बाद हमारे पास यह है टी आर+1 \(\geq\)टी आर + टी4 \(\geq\) \(\beta\)r,1 \(\ell\)r + Λ, इस प्रकार सभी ईमानदार उपयोगकर्ताओं को श्रीमान,1 प्राप्त हुआ है \(\ell\)r समय के अनुसार T r+1 + \(\lambda\). तदनुसार, सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 = [T r+1, T r+1 + \(\lambda\)] में Br को जानते हैं। अंततः, r = 0 के लिए हमारे पास वास्तव में T 1 \(\leq\)t4 + \(\lambda\) = 6\(\lambda\) + Λ है। सब कुछ एक साथ मिलाकर, लेम्मा 5.2 धारण करता है। ■ 5.8 द साउंडनेस लेम्मा लेम्मा 5.3. [साउंडनेस लेम्मा, पुनः कहा गया] मान लें कि गुण 1-3 राउंड आर -1 के लिए हैं, जब नेता \(\ell\)r दुर्भावनापूर्ण है, अत्यधिक संभावना के साथ, सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक पर सहमत हैं Br, T r+1 \(\leq\)T r + (6Lr + 10)\(\lambda\) + Λ और सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 में Br को जानते हैं। सबूत। हम प्रोटोकॉल के दो भागों, जीसी और बीबीए⋆ पर अलग से विचार करते हैं। जी.सी. आगमनात्मक परिकल्पना द्वारा और लेम्मा 5.5 द्वारा, किसी भी चरण s \(\in\){2, 3, 4} और किसी भी ईमानदार के लिए सत्यापनकर्ता i \(\in\)HSV r,s, जब खिलाड़ी I समय \(\beta\)r,s पर कार्य करता है मैं = \(\alpha\)r,s मैं + टीएस, उसे भेजे गए सभी संदेश प्राप्त हो गए हैं चरण s′ < s में सभी ईमानदार सत्यापनकर्ताओं द्वारा। हम चरण 4 के लिए दो संभावित मामलों को अलग करते हैं। केस 1. कोई सत्यापनकर्ता i \(\in\)HSV r,4 सेट gi = 2 नहीं है। इस मामले में, परिभाषा के अनुसार सभी सत्यापनकर्ताओं के लिए bi = 1 i \(\in\)HSV r,4। यानी वे एक से शुरू करते हैं बाइनरी बीए प्रोटोकॉल में 1 पर समझौता। हो सकता है कि उनके पास अपने vi's पर कोई सहमति न हो, लेकिन इससे कोई फर्क नहीं पड़ता जैसा कि हम बाइनरी बीए में देखेंगे। केस 2. एक सत्यापनकर्ता ˆi \(\in\)HSV r,4 मौजूद है जैसे कि gˆi = 2। इस मामले में, हम उसे दिखाते हैं (1) सभी i \(\in\)HSV r,4 के लिए gi \(\geq\)1, (2) एक मान v′ मौजूद है जैसे कि सभी i \(\in\)HSV r,4 के लिए vi = v′, और (3) एक वैध संदेश मौजूद है श्रीमान,1 \(\ell\) कुछ सत्यापनकर्ताओं से \(\ell\) \(\in\)SV r,1 जैसे कि v′ = H(Br \(\ell\)). दरअसल, चूंकि खिलाड़ी ˆi ईमानदार है और gˆi = 2 सेट करता है, सभी वैध संदेशों में से 2/3 से अधिक श्रीमान,3 जे उसे समान मान v′ ̸= \(\bot\) प्राप्त हुआ है, और उसने vˆi = v′ निर्धारित किया है। लेम्मा 5.5 में संपत्ति (डी) द्वारा, किसी अन्य ईमानदार (आर, 4)-सत्यापनकर्ता के लिए, यह इससे अधिक नहीं हो सकता सभी वैध संदेशों के 2/3 से अधिक श्रीमान,3 जे जो i' को प्राप्त हुआ है वह समान मान v'' ̸= v' के लिए है। तदनुसार, यदि मैं gi = 2 सेट करता हूं, तो यह होना चाहिए कि मैंने v′ के लिए > 2/3 बहुमत भी देखा है और सेट किया है vi = v', इच्छानुसार। अब gi < 2 के साथ एक मनमाना सत्यापनकर्ता i \(\in\)HSV r,4 पर विचार करें। संपत्ति के विश्लेषण के समान (डी) लेम्मा 5.5 में, क्योंकि खिलाड़ी ˆi ने v′ के लिए > 2/3 बहुमत देखा है, 1 से अधिक 2|एचएसवी आर,3| ईमानदार (आर, 3)-सत्यापनकर्ताओं ने वी' पर हस्ताक्षर किए हैं। क्योंकि मुझे सभी संदेश ईमानदार (आर, 3)-सत्यापिकाओं द्वारा प्राप्त हुए हैं समय \(\beta\)r,4 मैं = \(\alpha\)r,4 मैं +t4, उसे विशेष रूप से 1 से अधिक प्राप्त हुआ है 2|एचएसवी आर,3| उनसे संदेश v' के लिए. क्योंकि |HSV r,3| > 2|एमएसवी आर,3|, मैंने वी′ के लिए > 1/3 बहुमत देखा है। तदनुसार, खिलाड़ी मैं gi = 1 सेट करता हूं, और संपत्ति (1) कायम रहती है। क्या प्लेयर I आवश्यक रूप से vi = v′ सेट करता है? मान लें कि एक अलग मान मौजूद है v'' ̸= \(\bot\)ऐसा कि खिलाड़ी मैंने v'' के लिए > 1/3 बहुमत भी देखा है। उनमें से कुछ संदेश दुर्भावनापूर्ण हो सकते हैं सत्यापनकर्ता, लेकिन उनमें से कम से कम एक कुछ ईमानदार सत्यापनकर्ता जे \(\in\)एचएसवी आर,3 से है: वास्तव में, क्योंकि |एचएसवी आर,3| > 2|एमएसवी आर,3| और मुझे एचएसवी आर,3, दुर्भावनापूर्ण सेट से सभी संदेश प्राप्त हुए हैं वे सत्यापनकर्ता जिनसे मुझे एक वैध (आर, 3)-संदेश प्राप्त हुआ है, सभी वैध के <1/3 के लिए गिना जाता है उसे जो संदेश मिले हैं.परिभाषा के अनुसार, खिलाड़ी j ने सभी वैध (r, 2)-संदेशों के बीच v' के लिए > 2/3 बहुमत देखा होगा उसे प्राप्त हो गया है. हालाँकि, हमारे पास पहले से ही कुछ अन्य ईमानदार (आर, 3)-सत्यापकर्ताओं ने देखा है v′ के लिए 2/3 बहुमत (क्योंकि उन्होंने v′ पर हस्ताक्षर किए हैं)। लेम्मा 5.5 की संपत्ति (डी) के अनुसार, ऐसा नहीं हो सकता होता है और ऐसा कोई मान v' मौजूद नहीं है। इस प्रकार खिलाड़ी को मुझे इच्छानुसार vi = v′ सेट करना होगा, और संपत्ति (2) धारण करती है। अंत में, यह देखते हुए कि कुछ ईमानदार (आर, 3)-सत्यापनकर्ताओं ने वी' के लिए > 2/3 बहुमत देखा है, कुछ (वास्तव में, आधे से अधिक) ईमानदार (आर, 2)-सत्यापनकर्ताओं ने वी' के लिए हस्ताक्षर किए हैं और अपने संदेशों का प्रचार किया है। प्रोटोकॉल के निर्माण से, उन ईमानदार (आर, 2)-सत्यापिकाओं को एक वैध प्राप्त हुआ होगा संदेश श्रीमान,1 \(\ell\) कुछ खिलाड़ी से \(\ell\) \(\in\)SV r,1 v′ = H(Br के साथ \(\ell\)), इस प्रकार संपत्ति (3) कायम है। बीबीए⋆. हम फिर से दो मामलों में अंतर करते हैं। केस 1. सभी सत्यापनकर्ताओं i \(\in\)HSV r,4 में bi = 1 है। यह जीसी के केस 1 के बाद होता है। जैसे |एमएसवी आर,4| < tH, इस मामले में SV r,5 में कोई सत्यापनकर्ता नहीं है बिट 0 के लिए वैध (आर, 4)-संदेश एकत्र या उत्पन्न कर सकता है। इस प्रकार, एचएसवी आर,5 में कोई ईमानदार सत्यापनकर्ता नहीं है। रुक जाएगा क्योंकि वह एक गैर-रिक्त ब्लॉक ब्र को जानता है। इसके अलावा, हालांकि बिट 1 के लिए कम से कम tH वैध (r, 4)-संदेश हैं, s′ = 5 संतुष्ट नहीं करता है s' −2 ≡1 mod 3, इस प्रकार HSV r,5 में कोई भी ईमानदार सत्यापनकर्ता नहीं रुकेगा क्योंकि वह Br = Br जानता है .. . इसके बजाय, प्रत्येक सत्यापनकर्ता i \(\in\)HSV r,5 समय \(\beta\)r,5 पर कार्य करता है मैं = \(\alpha\)r,5 मैं + t5, जब तक उसे सब कुछ प्राप्त हो जाएगा लेम्मा 5.5 के बाद एचएसवी आर,4 द्वारा भेजे गए संदेश। इस प्रकार खिलाड़ी ने 1 के लिए > 2/3 बहुमत देखा है और द्वि = 1 सेट करता है। चरण 6 में जो एक कॉइन-फिक्स्ड-टू-1 चरण है, हालांकि s′ = 5 संतोषजनक s′ −2 ≡0 mod 3, वहाँ बिट 0 के लिए वैध (आर, 4)-संदेश मौजूद नहीं हैं, इस प्रकार एचएसवी आर, 6 में कोई सत्यापनकर्ता नहीं रुकेगा क्योंकि वह एक गैर-रिक्त ब्लॉक ब्र को जानता है। हालाँकि, s′ = 6, s′ −2 ≡1 मॉड 3 के साथ और वहाँ मौजूद हैं |एचएसवी आर,5| \(\geq\)tH वैध (आर, 5)-एचएसवी आर,5 से बिट 1 के लिए संदेश। लेम्मा 5.5 का पालन करते हुए प्रत्येक सत्यापनकर्ता i \(\in\)HSV r,6 के लिए, समय \(\alpha\)r,6 पर या उससे पहले मैं + t6 प्लेयर I एचएसवी आर,5 से सभी संदेश प्राप्त हुए हैं, इसलिए मैं बिना कुछ प्रचारित किए रुक जाता हूं और सेट कर देता हूं ब्र = ब्र .. . उनका CERT r, tH वैध (r, 5)-संदेशों mr,5 का सेट है जे = (ESIGj(1), ESIGj(vj), \(\sigma\)r,5 जे ) जब वह रुकता है तो उसे प्राप्त होता है। इसके बाद, खिलाड़ी को या तो चरण 6 में एक ईमानदार सत्यापनकर्ता या एक सामान्य ईमानदार उपयोगकर्ता होने दें (यानी, गैर-सत्यापनकर्ता)। लेम्मा 5.2 के प्रमाण के समान, प्लेयर i Br = Br सेट करता है और अपना खुद का सेट करता है CERT r tH मान्य (r, 5)-संदेशों mr,5 का सेट होगा जे = (ESIGj(1), ESIGj(vj), \(\sigma\)r,5 जे ) उसके पास है प्राप्त. अंततः, लेम्मा 5.2 के समान, टी आर+1 \(\leq\) मि i\(\in\)HSV r,6 \(\alpha\)r,6 मैं + t6 \(\leq\)T r + \(\lambda\) + t6 = T r + 10\(\lambda\) + Λ, और सभी ईमानदार उपयोगकर्ता समय अंतराल Ir+1 में Br को जानते हैं, क्योंकि पहला ईमानदार उपयोगकर्ता वह है जो जानता है कि Br ने अपने CERT r में (r, 5)-संदेशों को प्रचारित करने में मदद की है। केस 2. bˆi = 0 के साथ एक सत्यापनकर्ता ˆi \(\in\)HSV r,4 मौजूद है। यह जीसी के केस 2 के बाद होता है और यह अधिक जटिल मामला है। जीसी के विश्लेषण से, इस मामले में एक वैध संदेश मौजूद है श्रीमान,1 \(\ell\) ऐसा कि vi = H(Br \(\ell\)) सभी i \(\in\)HSV r,4 के लिए। नोट हो सकता है कि एचएसवी आर,4 में सत्यापनकर्ताओं के पास अपने द्विआधारी विकल्प पर सहमति न हो। किसी भी चरण s \(\in\){5, के लिए। . . , एम + 3} और सत्यापनकर्ता आई \(\in\)एचएसवी आर,एस, लेम्मा 5.5 प्लेयर द्वारा मेरे पास होगा HSV r,4 \(\cup\) \(\cdots\) \(\cup\)HSV r,s−1 में सभी ईमानदार सत्यापनकर्ताओं द्वारा भेजे गए सभी संदेश प्राप्त हुए यदि उसने प्रतीक्षा की है समय के लिए टी.एस.अब हम निम्नलिखित घटना E पर विचार करते हैं: एक चरण s∗\(\geq\)5 मौजूद है, जैसे कि, पहले के लिए बाइनरी बीए में समय, कुछ खिलाड़ी i∗\(\in\)SV r,s∗(चाहे दुर्भावनापूर्ण या ईमानदार) को रोकना चाहिए बिना कुछ प्रचारित किये. हम इस तथ्य पर जोर देने के लिए "रुकना चाहिए" का उपयोग करते हैं कि, यदि खिलाड़ी i∗ दुर्भावनापूर्ण है, तो वह दिखावा कर सकता है कि उसे प्रोटोकॉल के अनुसार नहीं रुकना चाहिए और विरोधी की पसंद के संदेशों का प्रचार करें। इसके अलावा, प्रोटोकॉल के निर्माण द्वारा, या तो (ई.ए) i∗कम से कम tH वैध संदेश एकत्र करने या उत्पन्न करने में सक्षम है mr,s′−1 जे = (ESIGj(0), ESIGj(v), \(\sigma\)r,s′−1 जे ) समान v और s′ के लिए, 5 \(\leq\)s′ \(\leq\)s∗and s′ −2 ≡0 mod 3 के साथ; या (ई.बी.) i∗कम से कम tH वैध संदेश एकत्र करने या उत्पन्न करने में सक्षम है mr,s′−1 जे = (ईएसआईजीजे(1), ईएसआईजीजे(वीजे), \(\sigma\)r,s′−1 जे ) समान s' के लिए, 6 \(\leq\)s' \(\leq\)s∗and s' −2 ≡1 mod 3 के साथ। क्योंकि ईमानदार (आर, एस′ −1)-संदेश सभी ईमानदार (आर, एस′)-सत्यापनकर्ताओं को उनसे पहले प्राप्त होते हैं चरण s' में प्रतीक्षा पूरी हो चुकी है, और क्योंकि प्रतिद्वंद्वी को सब कुछ देर से ही प्राप्त होता है ईमानदार उपयोगकर्ता, व्यापकता की हानि के बिना हमारे पास s′ = s∗और प्लेयर i∗दुर्भावनापूर्ण है। ध्यान दें हमें वैध ब्लॉक के hash होने के लिए E.a में मान v की आवश्यकता नहीं थी: क्योंकि यह स्पष्ट हो जाएगा विश्लेषण में, v = H(Br \(\ell\)) इस उप-घटना में। नीचे हम पहले घटना E के बाद केस 2 का विश्लेषण करते हैं, और फिर दिखाते हैं कि s∗ का मान अनिवार्य रूप से है एलआर के अनुसार वितरित किया गया (इस प्रकार घटना ई चरण एम + 3 से पहले जबरदस्त तरीके से घटित होती है संभाव्यता मापदंडों के लिए संबंध दिए गए हैं)। आरंभ करने के लिए, किसी भी चरण 5 \(\leq\)s < s∗ के लिए, प्रत्येक ईमानदार सत्यापनकर्ता I \(\in\)HSV r,s ने समय ts का इंतजार किया है और vi को बहुसंख्यक वोट के रूप में निर्धारित किया है उसे प्राप्त वैध (r, s−1)-संदेश। चूँकि खिलाड़ी i को सभी ईमानदार (r, s−1)-संदेश प्राप्त हुए हैं लेम्मा 5.5 का अनुसरण करते हुए, चूंकि एचएसवी आर,4 में सभी ईमानदार सत्यापनकर्ताओं ने एच(बीआर) पर हस्ताक्षर किए हैं \(\ell\)) निम्नलिखित मामला GC का 2, और चूँकि |HSV r,s−1| > 2|MSV r,s−1| प्रत्येक एस के लिए, प्रेरण द्वारा हमारे पास वह खिलाड़ी है I सेट हो गया है vi = H(Br \(\ell\)). यही बात हर ईमानदार सत्यापनकर्ता पर भी लागू होती है जो प्रचार किए बिना नहीं रुकता कुछ भी. अब हम चरण s∗ पर विचार करते हैं और चार उप-मामलों में अंतर करते हैं। केस 2.1.ए. घटना E.a घटित होती है और एक ईमानदार सत्यापनकर्ता मौजूद होता है I′ \(\in\)HSV r,s∗जिसे करना चाहिए बिना कुछ प्रचारित किये भी रुकें। इस मामले में, हमारे पास s∗−2 ≡0 mod 3 है और चरण s∗ एक कॉइन-फिक्स्ड-टू-0 चरण है। द्वारा परिभाषा, खिलाड़ी i′ को फॉर्म के कम से कम tH वैध (r, s∗−1)-संदेश प्राप्त हुए हैं (ESIGj(0), ESIGj(v), \(\sigma\)r,s∗−1 जे ). चूँकि HSV r,s∗−1 में सभी सत्यापनकर्ताओं ने H(Br) पर हस्ताक्षर किए हैं \(\ell\)) और |MSV r,s∗−1| < tH, हमारे पास v = H(Br \(\ell\)). चूँकि कम से कम tH −|MSV r,s∗−1| (r, s∗−1) में से \(\geq\)1-0 और v के लिए i′ द्वारा प्राप्त संदेश समय के बाद HSV r,s∗−1 में सत्यापनकर्ताओं द्वारा भेजे जाते हैं T r +ts∗−1 \(\geq\)T r +t4 \(\geq\)T r +\(\lambda\)+Λ \(\geq\) \(\beta\)r,1 \(\ell\) +Λ, प्लेयर आई' को मिस्टर,1 प्राप्त हुआ है \(\ell\) जब तक वह उन (r, s∗−1)-संदेशों को प्राप्त करता है। इस प्रकार खिलाड़ी मैं बिना किसी बात का प्रचार किये रुक जाता हूँ; सेट Br = Br \(\ell\); और अपना स्वयं का CERT r निर्धारित करता है 0 और v के लिए वैध (r, s∗−1)-संदेशों का सेट जो उसे प्राप्त हुआ है। इसके बाद, हम दिखाते हैं कि, कोई भी अन्य सत्यापनकर्ता i \(\in\)HSV r,s∗ या तो Br = Br के साथ रुक गया है \(\ell\), या bi = 0 सेट किया है और प्रचारित किया है (ESIGi(0), ESIGi(H(Br \(\ell\))), \(\sigma\)r,s मैं ). वास्तव में, क्योंकि चरण s∗ यह पहली बार है कि किसी सत्यापनकर्ता को कुछ भी प्रचारित किए बिना रुकना चाहिए, ऐसा नहीं है एक चरण s′ < s∗s′ −2 ≡1 mod 3 के साथ मौजूद है ताकि tH (r, s′ −1)-सत्यापियों ने 1 पर हस्ताक्षर किए हों। तदनुसार, HSV r,s∗ में कोई भी सत्यापनकर्ता Br = Br पर नहीं रुकता है .. .इसके अलावा, चरण {4, 5, में सभी ईमानदार सत्यापनकर्ताओं के रूप में। . . , s∗−1} ने H(Br) पर हस्ताक्षर किये हैं \(\ell\)), वहाँ है ऐसा कोई चरण s′ \(\leq\)s∗s′ −2 ≡0 mod 3 के साथ मौजूद नहीं है, जैसे कि tH (r, s′ −1)-सत्यापनकर्ताओं ने हस्ताक्षर किए हैं कुछ v′′ ̸= H(Br \(\ell\)) —वास्तव में, |MSV r,s′−1| < वें. तदनुसार, एचएसवी में कोई सत्यापनकर्ता नहीं रुकता ब्र के साथ ̸= ब्र ̸ और ब्र ̸= ब्र \(\ell\). यानी, अगर कोई खिलाड़ी i \(\in\)HSV r,s∗ के बिना रुक गया है किसी भी चीज़ का प्रचार करते हुए उसने Br = Br निर्धारित किया होगा \(\ell\). यदि कोई खिलाड़ी i \(\in\)HSV r,s∗ ने समय ts∗ का इंतजार किया है और समय पर एक संदेश प्रसारित किया है \(\beta\)r,s∗ मैं = \(\alpha\)r,s∗ मैं + ts∗, उसे HSV r,s∗−1 से सभी संदेश प्राप्त हुए हैं, जिनमें कम से कम शामिल हैं tH −|MSV r,s∗−1| उनमें से 0 और वी के लिए. यदि मैंने 1 के लिए > 2/3 बहुमत देखा है, तो वह 2(tH −|MSV r,s∗−1|) से अधिक वैध (r, s∗−1)-1 के लिए संदेश देखे हैं, अधिक के साथ 2tH −3|MSV r,s∗−1| से अधिक उनमें से ईमानदार (r, s∗−1)-सत्यापनकर्ताओं से। हालाँकि, इसका तात्पर्य यह है |HSV r,s∗−1| \(\geq\)tH−|MSV r,s∗−1|+2tH−3|MSV r,s∗−1| > 2n−4|MSV r,s∗−1|, विरोधाभासी तथ्य यह है कि |HSV r,s∗−1| + 4|MSV r,s∗−1| <2एन, जो मापदंडों के संबंधों से आता है। तदनुसार, मुझे > 2/3 नहीं दिख रहा है 1 के लिए बहुमत, और वह bi = 0 सेट करता है क्योंकि चरण s∗ एक कॉइन-फिक्स्ड-टू-0 चरण है। जैसा कि हमारे पास है देखा, vi = H(Br \(\ell\)). इस प्रकार मैं (ESIGi(0), ESIGi(H(Br) का प्रचार करता हूं \(\ell\))), \(\sigma\)r,s i ) जैसा हम चाहते थे दिखाओ. चरण s∗+ 1 के लिए, चूंकि खिलाड़ी i′ ने अपने CERT r में संदेशों को प्रसारित करने में मदद की है समय पर या उससे पहले \(\alpha\)r,s∗ मैं' + ts∗, HSV r,s∗+1 में सभी ईमानदार सत्यापनकर्ताओं को कम से कम प्राप्त हुआ है tH मान्य (r, s∗−1)-बिट 0 और मान H(Br) के लिए संदेश \(\ell\)) उनके पूरा होने पर या उससे पहले इंतज़ार कर रहा हूँ. इसके अलावा, एचएसवी r,s∗+1 में सत्यापनकर्ता उन्हें प्राप्त करने से पहले नहीं रुकेंगे (r, s∗−1)- संदेश, क्योंकि बिट 1 के लिए कोई अन्य tH मान्य (r, s′ −1)-संदेश मौजूद नहीं है s′ −2 ≡1 mod 3 और 6 \(\leq\)s′ \(\leq\)s∗+ 1, चरण s∗ की परिभाषा के अनुसार। विशेष रूप से, चरण s∗+ 1 अपने आप में एक कॉइन-फिक्स्ड-टू-1 चरण है, लेकिन HSV r,s∗ में किसी भी ईमानदार सत्यापनकर्ता ने इसका प्रचार नहीं किया है 1, और |MSV r,s∗| के लिए एक संदेश < वें. इस प्रकार HSV r,s∗+1 में सभी ईमानदार सत्यापनकर्ता बिना कुछ प्रचारित किए रुक जाते हैं और Br = सेट कर देते हैं ब्र \(\ell\): पहले की तरह, उन्हें श्रीमान,1 प्राप्त हुआ है \(\ell\) इससे पहले कि उन्हें वांछित (r, s∗−1)-संदेश प्राप्त हो।20 भविष्य के चरणों में सभी ईमानदार सत्यापनकर्ताओं और सामान्य रूप से सभी ईमानदार उपयोगकर्ताओं के लिए भी यही कहा जा सकता है। विशेष रूप से, वे सभी Br = Br को जानते हैं \(\ell\)समय अंतराल के भीतर Ir+1 और टी आर+1 \(\leq\) \(\alpha\)r,s∗ मैं' + ts∗\(\leq\)T r + \(\lambda\) + ts∗. केस 2.1.बी. घटना ई.बी घटित होती है और एक ईमानदार सत्यापनकर्ता मौजूद है I′ \(\in\)HSV r,s∗किसे करना चाहिए बिना कुछ प्रचारित किये भी रुकें। इस मामले में हमारे पास s∗−2 ≡1 mod 3 है और चरण s∗ एक कॉइन-फिक्स्ड-टू-1 चरण है। विश्लेषण केस 2.1.ए के समान है और कई विवरण छोड़ दिए गए हैं। 20यदि द्वेषपूर्ण है, तो वह श्रीमान को भेज सकता है,1 \(\ell\) देर से, आशा है कि कुछ ईमानदार उपयोगकर्ताओं/सत्यापकर्ताओं को श्रीमान 1 प्राप्त नहीं हुआ है \(\ell\) अभी तक जब उन्हें इसके लिए वांछित प्रमाणपत्र प्राप्त हो जाता है। हालाँकि, चूँकि सत्यापनकर्ता ˆi \(\in\)HSV r,4 ने bˆi = 0 और vˆi = H(Br) निर्धारित किया है \(\ell\)), जैसे इससे पहले कि हमारे पास आधे से अधिक ईमानदार सत्यापनकर्ता i \(\in\)HSV r,3 हों, ने vi = H(Br) निर्धारित किया है \(\ell\)). इसका तात्पर्य और भी अधिक है आधे से अधिक ईमानदार सत्यापनकर्ता i \(\in\)HSV r,2 ने vi = H(Br) निर्धारित किया है \(\ell\)), और उन (आर, 2)-सत्यापनकर्ताओं को श्रीमान, 1 प्राप्त हुआ है \(\ell\). के रूप में विरोधी एक सत्यापनकर्ता को एक गैर-सत्यापनकर्ता से अलग नहीं कर सकता, वह श्रीमान के प्रसार को लक्षित नहीं कर सकता,1 \(\ell\) (आर, 2)-सत्यापनकर्ताओं के लिए गैर-सत्यापनकर्ताओं को इसे देखे बिना। वास्तव में, उच्च संभावना के साथ, आधे से अधिक (या एक अच्छा स्थिर अंश) सभी ईमानदार उपयोगकर्ताओं में से श्रीमान,1 को देखा है \(\ell\) अपने स्वयं के दौर आर की शुरुआत से टी2 की प्रतीक्षा करने के बाद। यहाँ से, श्रीमान,1 के लिए आवश्यक समय \(\lambda\)′ \(\ell\) शेष ईमानदार उपयोगकर्ताओं तक पहुँचने के लिए Λ की तुलना में बहुत छोटा है, और सरलता के लिए हम ऐसा नहीं करते हैं इसे विश्लेषण में लिखें. यदि 4\(\lambda\) \(\geq\) \(\lambda\)′ तो विश्लेषण बिना किसी बदलाव के चलता है: चरण 4 के अंत तक, सभी ईमानदार उपयोगकर्ताओं को श्रीमान,1 प्राप्त होगा \(\ell\). यदि ब्लॉक का आकार बहुत बड़ा हो जाता है और 4\(\lambda\) < \(\lambda\)′ हो जाता है, तो चरण 3 और 4 में, प्रोटोकॉल प्रत्येक सत्यापनकर्ता को 2\(\lambda\) के बजाय \(\lambda\)′/2 के लिए प्रतीक्षा करने के लिए कह सकता है, और विश्लेषण जारी रहेगा।पहले की तरह, खिलाड़ी i′ को फॉर्म के कम से कम tH वैध (r, s∗−1)-संदेश प्राप्त होने चाहिए (ESIGj(1), ESIGj(vj), \(\sigma\)r,s∗−1 जे ). फिर से, s∗ की परिभाषा के अनुसार, कोई चरण मौजूद नहीं है 5 \(\leq\)s′ < s∗with s′ −2 ≡0 mod 3, जहां कम से कम tH (r, s′ −1)-सत्यापिकाओं ने 0 पर हस्ताक्षर किए हैं और वही v. इस प्रकार खिलाड़ी i' बिना कुछ प्रचारित किए रुक जाता है; सेट Br = Br ǫ; और सेट उसका अपना CERT r बिट 1 के लिए वैध (r, s∗−1)-संदेशों का सेट होना चाहिए जो उसे प्राप्त हुआ है। इसके अलावा, कोई भी अन्य सत्यापनकर्ता i \(\in\)HSV r,s∗ या तो Br = Br के साथ बंद हो गया है ǫ , या द्वि = सेट किया है 1 और प्रचारित (ESIGi(1), ESIGi(vi), \(\sigma\)r,s∗ मैं ). चूंकि खिलाड़ी i' ने प्रचार-प्रसार में मदद की है (r, s∗−1)-समय के अनुसार उसके CERT r में संदेश \(\alpha\)r,s∗ मैं' + ts∗, फिर से सभी ईमानदार सत्यापनकर्ता HSV r,s∗+1 बिना कुछ प्रचारित किए रुकें और Br = Br सेट करें .. . इसी तरह, सभी ईमानदार उपयोगकर्ता Br = Br जानते हैं ǫ समय अंतराल के भीतर Ir+1 और टी आर+1 \(\leq\) \(\alpha\)r,s∗ मैं' + ts∗\(\leq\)T r + \(\lambda\) + ts∗. केस 2.2.ए. घटना E.a घटित होती है और कोई ईमानदार सत्यापनकर्ता मौजूद नहीं है I′ \(\in\)HSV r,s∗who बिना किसी बात का प्रचार किये भी रुक जाना चाहिए. इस मामले में, ध्यान दें कि खिलाड़ी के पास वैध CERT r हो सकता है i∗वांछित से मिलकर (r, s∗−1)-संदेश विरोधी एकत्र या उत्पन्न करने में सक्षम है। हालाँकि, दुर्भावनापूर्ण सत्यापनकर्ता उन संदेशों को प्रचारित करने में मदद नहीं कर सकते हैं, इसलिए हम यह निष्कर्ष नहीं निकाल सकते कि यह ईमानदार है उपयोगकर्ता उन्हें समय पर प्राप्त करेंगे। वास्तव में, |MSV r,s∗−1| उन संदेशों में से हो सकता है दुर्भावनापूर्ण (r, s∗−1)-सत्यापनकर्ता, जिन्होंने अपने संदेशों का बिल्कुल भी प्रचार नहीं किया और केवल भेजा उन्हें चरण s∗ में दुर्भावनापूर्ण सत्यापनकर्ताओं के पास भेजें। केस 2.1.ए के समान, यहां हमारे पास s∗−2 ≡0 mod 3 है, चरण s∗ एक कॉइन-फिक्स्ड-टू-0 चरण है, और (r, s∗−1)-CERT r में संदेश i∗बिट 0 के लिए हैं और v = H(Br \(\ell\)). सचमुच, सभी ईमानदार (r, s∗−1)-सत्यापनकर्ता v पर हस्ताक्षर करते हैं, इस प्रकार प्रतिद्वंद्वी tH वैध (r, s∗−1)-संदेश उत्पन्न नहीं कर सकता है एक अलग v' के लिए। इसके अलावा, सभी ईमानदार (आर, एस∗)-सत्यापनकर्ताओं ने समय का इंतजार किया है∗और > 2/3 बहुमत नहीं दिख रहा है बिट 1 के लिए, फिर से क्योंकि |HSV r,s∗−1| + 4|MSV r,s∗−1| <2एन. इस प्रकार प्रत्येक ईमानदार सत्यापनकर्ता i \(\in\)HSV r,s∗सेट bi = 0, vi = H(Br \(\ell\)) बहुमत वोट से, और प्रचारित करता है mr,s∗ मैं = (ESIGi(0), ESIGi(H(Br \(\ell\))), \(\sigma\)r,s∗ मैं ) समय पर \(\alpha\)r,s∗ मैं + ts∗. अब चरण s∗+ 1 (जो एक कॉइन-फिक्स्ड-टू-1 चरण है) में ईमानदार सत्यापनकर्ताओं पर विचार करें। यदि विरोधी वास्तव में CERT r में संदेश भेजता है मैं उनमें से कुछ के लिए और उन्हें कारण बनता है रुकें, फिर केस 2.1.ए के समान, सभी ईमानदार उपयोगकर्ता Br = Br जानते हैं \(\ell\)समय अंतराल के भीतर आईआर+1 और T r+1 \(\leq\)T r + \(\lambda\) + ts∗+1. अन्यथा, चरण s∗+1 के सभी ईमानदार सत्यापनकर्ताओं को 0 और के लिए सभी (r, s∗)-संदेश प्राप्त हुए हैं एच(ब्र \(\ell\)) HSV r,s∗ से प्रतीक्षा समय ts∗+1 के बाद, जिससे > 2/3 बहुमत प्राप्त होता है, क्योंकि |एचएसवी आर,एस∗| > 2|एमएसवी आर,एस∗|. इस प्रकार HSV r,s∗+1 में सभी सत्यापनकर्ता अपने संदेशों का प्रचार करते हैं 0 और एच(ब्र \(\ell\)) तदनुसार। ध्यान दें कि HSV r,s∗+1 में सत्यापनकर्ता Br = Br पर नहीं रुकते हैं \(\ell\), क्योंकि चरण s∗+ 1 एक कॉइन-फिक्स्ड-टू-0 चरण नहीं है। अब चरण s∗+2 (जो एक सिक्का-वास्तविक-फ़्लिप्ड चरण है) में ईमानदार सत्यापनकर्ताओं पर विचार करें। यदि विरोधी CERT r में संदेश भेजता है मैं उनमें से कुछ को रोकता हूं और उन्हें रोकता हूं, तो फिर सभी ईमानदार उपयोगकर्ता Br = Br जानते हैं \(\ell\)समय अंतराल के भीतर Ir+1 और T r+1 \(\leq\)T r + \(\lambda\) + ts∗+2.अन्यथा, चरण s∗+ 2 के सभी ईमानदार सत्यापनकर्ताओं को सभी (r, s∗+ 1)-संदेश प्राप्त हो गए हैं 0 और एच(ब्र \(\ell\)) HSV r,s∗+1 से प्रतीक्षा समय ts∗+2 के बाद, जिससे > 2/3 बहुमत प्राप्त होता है। इस प्रकार वे सभी 0 और H(Br.) के लिए अपना संदेश प्रचारित करते हैं \(\ell\)) तदनुसार: वे यही करते हैं इस मामले में "सिक्का उछालना" नहीं। पुनः ध्यान दें कि वे प्रचार किये बिना नहीं रुकते, क्योंकि चरण s∗+ 2 एक कॉइन-फिक्स्ड-टू-0 चरण नहीं है। अंत में, चरण s∗+3 (जो एक और कॉइन-फिक्स्ड-टू-0 चरण है) में ईमानदार सत्यापनकर्ताओं के लिए, सभी उनमें से 0 और H(Br) के लिए कम से कम tH वैध संदेश प्राप्त हुए होंगे \(\ell\)) HSV s∗+2 से, यदि वे वास्तव में समय का इंतजार करते हैं ts∗+3। इस प्रकार, विरोधी संदेश भेजता है या नहीं CERT में आर i∗उनमें से किसी के लिए, HSV r,s∗+3 में सभी सत्यापनकर्ता Br = Br पर रुकते हैं \(\ell\), बिना किसी भी चीज़ का प्रचार करना. यह इस बात पर निर्भर करता है कि विरोधी कैसे कार्य करता है, उनमें से कुछ का व्यवहार हो सकता है उनका अपना CERT r जिसमें CERT r में वे (r, s∗−1)-संदेश शामिल हैं i∗, और अन्य के पास है उनका अपना CERT r उन (r, s∗+ 2)-संदेशों से युक्त है। किसी भी मामले में, सभी ईमानदार उपयोगकर्ता जानिए Br = Br \(\ell\)समय अंतराल के भीतर Ir+1 और T r+1 \(\leq\)T r + \(\lambda\) + ts∗+3. केस 2.2.बी. घटना ई.बी घटित होती है और कोई ईमानदार सत्यापनकर्ता मौजूद नहीं है I′ \(\in\)HSV r,s∗who बिना किसी बात का प्रचार किये भी रुक जाना चाहिए. इस मामले में विश्लेषण केस 2.1.बी और केस 2.2.ए के समान है, इस प्रकार कई विवरण हैं छोड़ दिया गया है. विशेष रूप से, सीईआरटी आर i∗ में वांछित (r, s∗−1)-संदेश शामिल हैं बिट 1 के लिए जिसे विरोधी एकत्रित या उत्पन्न करने में सक्षम है, s∗−2 ≡1 mod 3, चरण s∗ एक है कॉइन-फिक्स्ड-टू-1 चरण, और कोई भी ईमानदार (आर, एस∗)-सत्यापनकर्ता 0 के लिए > 2/3 बहुमत नहीं देख सका। इस प्रकार, प्रत्येक सत्यापनकर्ता i \(\in\)HSV r,s∗ bi = 1 सेट करता है और mr,s∗ को प्रचारित करता है मैं = (ईएसआईजीआई(1), ईएसआईजीआई(vi), \(\sigma\)r,s∗ मैं ) समय पर \(\alpha\)r,s∗ मैं + ts∗. केस 2.2.ए के समान, अधिकतम 3 और चरणों में (अर्थात, प्रोटोकॉल चरण s∗+3 तक पहुंचता है, जो एक और कॉइन-फिक्स्ड-टू-1 चरण है), सभी ईमानदार उपयोगकर्ता Br = Br जानते हैं .. समय अंतराल के भीतर Ir+1. इसके अलावा, T r+1 \(\leq\)T r+\(\lambda\)+ts∗+1, या \(\leq\)T r+\(\lambda\)+ts∗+2 हो सकता है, या \(\leq\)T r + \(\lambda\) + ts∗+3, यह इस पर निर्भर करता है कि पहली बार एक ईमानदार सत्यापनकर्ता कब रुकने में सक्षम होता है बिना प्रचार किये. चार उप-मामलों को मिलाकर, हमारे पास यह है कि सभी ईमानदार उपयोगकर्ता समय अंतराल के भीतर Br को जानते हैं आईआर+1, साथ T r+1 \(\leq\)T r + \(\lambda\) + ts∗मामलों 2.1.a और 2.1.b में, और T r+1 \(\leq\)T r + \(\lambda\) + ts∗+3 केस 2.2.a और 2.2.b में। यह केस 2 के लिए ऊपरी सीमा s∗और इस प्रकार T r+1 पर बना हुआ है, और हम इस पर विचार करके ऐसा करते हैं कि कैसे कई बार कॉइन-जेनुइनली-फ़्लिप्ड चरण वास्तव में प्रोटोकॉल में निष्पादित होते हैं: अर्थात, कुछ ईमानदार सत्यापनकर्ताओं ने वास्तव में सिक्का उछाल दिया है। विशेष रूप से, मनमाने ढंग से एक सिक्का-वास्तविक-फ़्लिप्ड चरण s′ (यानी, 7 \(\leq\)s′ \(\leq\)m + 2 और s′ −2 ≡2 mod 3), और मान लीजिए \(\ell\)′ \(\triangleq\)arg minj\(\in\)SV r,s′−1 H(\(\sigma\)r,s′−1 जे ). अभी के लिए आइए मान लें कि s′ < s∗, क्योंकि अन्यथा कोई भी ईमानदार सत्यापनकर्ता वास्तव में चरण s' में सिक्का नहीं उछालता, जैसा कि पिछले विचार विमर्श. SV r,s′−1 की परिभाषा के अनुसार, \(\ell\)′ की साख का hash मान भी सबसे छोटा है PKr−k में सभी उपयोगकर्ता। चूँकि hash फ़ंक्शन एक यादृच्छिक oracle है, आदर्श रूप से खिलाड़ी \(\ell\)′ इसके प्रति ईमानदार है संभावना कम से कम ज. जैसा कि हम बाद में दिखाएंगे, भले ही प्रतिद्वंद्वी भविष्यवाणी करने की पूरी कोशिश करे यादृच्छिक oracle का आउटपुट और संभाव्यता को झुकाएं, खिलाड़ी \(\ell\)′ अभी भी संभाव्यता के प्रति ईमानदार हैकम से कम ph = h2(1 + h −h2). नीचे हम उस मामले पर विचार करते हैं जब ऐसा वास्तव में होता है: यानी, \(\ell\)′ \(\in\)HSV r,s′−1. ध्यान दें कि प्रत्येक ईमानदार सत्यापनकर्ता i \(\in\)HSV r,s′ को HSV r,s′−1 से सभी संदेश प्राप्त हुए हैं समय \(\alpha\)r,s' मैं + ts′. अगर खिलाड़ी को सिक्का उछालने की जरूरत है (यानी, उसने > 2/3 बहुमत नहीं देखा है) वही बिट b \(\in\){0, 1}), फिर वह bi = lsb(H(\(\sigma\)r,s′−1) सेट करता है \(\ell\)′ )). अगर कोई और ईमानदार मौजूद है सत्यापनकर्ता i′ \(\in\)HSV r,s′ जिसने बिट b \(\in\){0, 1} के लिए > 2/3 बहुमत देखा है, फिर संपत्ति द्वारा (डी) लेम्मा 5.5 में, एचएसवी आर, एस' में किसी भी ईमानदार सत्यापनकर्ता ने थोड़ी देर के लिए > 2/3 बहुमत नहीं देखा होगा बी′ ̸= बी. चूँकि lsb(H(\(\sigma\)r,s′−1 \(\ell\)′ )) = बी संभावना 1/2 के साथ, एचएसवी आर, एस' में सभी ईमानदार सत्यापनकर्ता पहुंचते हैं संभाव्यता 1/2 के साथ बी पर एक समझौता। निःसंदेह, यदि ऐसा कोई सत्यापनकर्ता मौजूद नहीं है, तो सब कुछ एचएसवी r,s′ में ईमानदार सत्यापनकर्ता बिट lsb(H(\(\sigma\)r,s′−1) पर सहमत हैं \(\ell\)′ )) प्रायिकता 1 के साथ। \(\ell\)′ \(\in\)HSV r,s′−1 के लिए संभाव्यता को संयोजित करने पर, हमें पता चलता है कि HSV r,s′ में ईमानदार सत्यापनकर्ता हैं कम से कम ph संभावना के साथ बिट b \(\in\){0, 1} पर एक समझौते पर पहुंचें 2 = h2(1+h−h2) 2 . इसके अलावा, पहले की तरह बहुमत के मत पर शामिल करके, एचएसवी आर,एस' में सभी ईमानदार सत्यापनकर्ताओं के पास अपना वीआई सेट है H(Br) होना \(\ell\)). इस प्रकार, चरण s′ में एक बार b पर समझौता हो जाने पर, T r+1 है या तो \(\leq\)T r + \(\lambda\) + ts′+1 या \(\leq\)T r + \(\lambda\) + ts′+2, मामले 2.1.ए और 2.1.बी के विश्लेषण के बाद, यह इस पर निर्भर करता है कि बी = 0 या बी = 1। में विशेष रूप से, आगे कोई सिक्का-वास्तविक-फ़्लिप्ड चरण निष्पादित नहीं किया जाएगा: यानी, सत्यापनकर्ता ऐसे कदम अभी भी जांचते हैं कि वे सत्यापनकर्ता हैं और इस प्रकार प्रतीक्षा करते हैं, लेकिन वे सभी बिना रुके रुक जाएंगे किसी भी चीज़ का प्रचार करना. तदनुसार, चरण s∗ से पहले, कॉइन-जेनुइनलीफ्लिप्ड चरणों को निष्पादित करने की संख्या को यादृच्छिक चर Lr के अनुसार वितरित किया जाता है। लेटिंग स्टेप एस' एलआर के अनुसार, प्रोटोकॉल के निर्माण द्वारा अंतिम सिक्का-वास्तविक-फ़्लिप्ड चरण बनें हमारे पास है एस′ = 4 + 3एलआर. यदि विरोधी टी आर+1 को अधिक से अधिक विलंबित करना चाहता है तो उसे कदम कब उठाना चाहिए संभव? हम यह भी मान सकते हैं कि प्रतिद्वंद्वी को एलआर का एहसास पहले से ही पता है। यदि s∗> s' तो यह बेकार है, क्योंकि ईमानदार सत्यापनकर्ता पहले ही एक समझौते पर पहुंच चुके हैं कदम एस'. निश्चित रूप से, इस मामले में s∗s∗s′ +1 या s′ +2 होगा, यह फिर से इस पर निर्भर करता है कि b = 0 है या नहीं या बी = 1. हालाँकि, यह वास्तव में मामले 2.1.ए और 2.1.बी हैं, और परिणामी टी आर+1 बिल्कुल वैसा ही है उस मामले में भी वैसा ही। अधिक सटीक रूप से, T r+1 \(\leq\)T r + \(\lambda\) + ts∗\(\leq\)T r + \(\lambda\) + ts′+2. यदि s∗< s′ −3—अर्थात, s∗ दूसरे-आखिरी कॉइन-जेनुइनली-फ़्लिप्ड चरण से पहले है—तो इसके द्वारा मामले 2.2.ए और 2.2.बी का विश्लेषण, T r+1 \(\leq\)T r + \(\lambda\) + ts∗+3 < T r + \(\lambda\) + ts′. अर्थात्, विरोधी वास्तव में Br पर समझौते को तेजी से पूरा कर रहा है। यदि s∗= s′ −2 या s′ −1—अर्थात, कॉइन-फिक्स्ड-टू-0 चरण या कॉइन-फिक्स्ड-टू-1 चरण चरण s' से ठीक पहले - फिर चार उप-मामलों के विश्लेषण से, ईमानदार सत्यापनकर्ता स्टेप्स' को अब सिक्कों को पलटने की सुविधा नहीं मिलती, क्योंकि वे या तो बिना प्रचार-प्रसार के बंद हो गए हैं, या एक ही बिट के लिए > 2/3 बहुमत देखा है बी। इसलिए हमारे पास है T r+1 \(\leq\)T r + \(\lambda\) + ts∗+3 \(\leq\)T r + \(\lambda\) + ts′+2.संक्षेप में, चाहे जो भी हो, हमारे पास है T r+1 \(\leq\)T r + \(\lambda\) + ts′+2 = T r + \(\lambda\) + t3Lr+6 = टी आर + \(\lambda\) + (2(3एलआर + 6) −3)\(\lambda\) + Λ = टी आर + (6एलआर + 10)\(\lambda\) + Λ, जैसा हम दिखाना चाहते थे. सबसे खराब स्थिति तब होती है जब s∗= s′ −1 और स्थिति 2.2.b होती है। बाइनरी बीए प्रोटोकॉल के केस 1 और 2 को मिलाकर, लेम्मा 5.3 कायम है। ■ 5.9 बीज क्यूआर की सुरक्षा और एक ईमानदार नेता की संभावना लेम्मा 5.4 को सिद्ध करना बाकी है। याद रखें कि राउंड आर में सत्यापनकर्ता पीकेआर−के और से लिए गए हैं मात्रा Qr−1 के अनुसार चुना जाता है। लुक-बैक पैरामीटर k शुरू करने का कारण यह सुनिश्चित करना है कि, राउंड आर -के पर, जब प्रतिद्वंद्वी नए दुर्भावनापूर्ण उपयोगकर्ताओं को जोड़ने में सक्षम हो PKr−k के लिए, वह नगण्य संभावना को छोड़कर मात्रा Qr−1 की भविष्यवाणी नहीं कर सकता है। ध्यान दें कि hash फ़ंक्शन एक यादृच्छिक oracle है और राउंड आर के लिए सत्यापनकर्ताओं का चयन करते समय Qr−1 इसके इनपुट में से एक है। इस प्रकार, इससे कोई फर्क नहीं पड़ता कि पीकेआर−के में कितने दुर्भावनापूर्ण उपयोगकर्ता जोड़े गए हैं, प्रतिद्वंद्वी के दृष्टिकोण से प्रत्येक उनमें से एक को अभी भी आवश्यक संभाव्यता पी (या) के साथ राउंड आर के एक चरण में सत्यापनकर्ता के रूप में चुना गया है चरण 1 के लिए p1)। अधिक सटीक रूप से, हमारे पास निम्नलिखित लेम्मा है। लेम्मा 5.6. k = O(log1/2 F) के साथ, प्रत्येक राउंड r के लिए, अत्यधिक संभावना के साथ प्रतिद्वंद्वी राउंड r −k पर यादृच्छिक oracle से Qr−1 से पूछताछ नहीं की। सबूत। हम प्रेरण द्वारा आगे बढ़ते हैं। मान लें कि प्रत्येक दौर \(\gamma\) < r के लिए, प्रतिद्वंद्वी ने पूछताछ नहीं की Q\(\gamma\)−1 से यादृच्छिक oracle पर वापस दौर \(\gamma\) −k.21 द्वारा खेले गए निम्नलिखित मानसिक खेल पर विचार करें राउंड r −k पर प्रतिद्वंद्वी, Qr−1 की भविष्यवाणी करने की कोशिश कर रहा है। प्रत्येक दौर के चरण 1 में \(\gamma\) = r −k, . . . , r −1, एक विशिष्ट Q\(\gamma\)−1 दिया गया है जिसे यादृच्छिक रूप से नहीं पूछा गया है oracle, खिलाड़ियों को \(\in\)PK\(\gamma\)−k को hash मान H(SIGi(\(\gamma\), 1, Q\(\gamma\)−1)) के अनुसार क्रमबद्ध करके तेजी से, हम PK\(\gamma\)−k पर एक यादृच्छिक क्रमपरिवर्तन प्राप्त करते हैं। परिभाषा के अनुसार, नेता \(\ell\) \(\gamma\) है क्रमपरिवर्तन में पहला उपयोगकर्ता और संभाव्यता एच के प्रति ईमानदार है। इसके अलावा, जब PK\(\gamma\)−k बड़ा होता है पर्याप्त, किसी भी पूर्णांक x \(\geq\)1 के लिए, संभावना है कि क्रमपरिवर्तन में पहले x उपयोगकर्ता सभी हैं दुर्भावनापूर्ण लेकिन (x + 1)st ईमानदार है (1 −h)xh। यदि \(\ell\) \(\gamma\) ईमानदार है, तो Q\(\gamma\) = H(SIG\(\ell\) \(\gamma\)(Q\(\gamma\)−1), \(\gamma\))। चूँकि विरोधी हस्ताक्षर जाली नहीं बना सकता \(\ell\) \(\gamma\) का, Q\(\gamma\) प्रतिद्वंद्वी के दृष्टिकोण से यादृच्छिक रूप से समान रूप से वितरित किया जाता है, सिवाय इसके कि घातांकीय रूप से कम संभावना के साथ, 22 से राउंड r −k पर H से पूछताछ नहीं की गई। प्रत्येक के बाद से Q\(\gamma\)+1, Q\(\gamma\)+2, . . . , Qr−1 क्रमशः Q\(\gamma\), Q\(\gamma\)+1, के साथ H का आउटपुट है। . . , इनपुट में से एक के रूप में Qr−2, वे सभी प्रतिद्वंद्वी को यादृच्छिक लगते हैं और प्रतिद्वंद्वी H पर Qr−1 से प्रश्न नहीं पूछ सकता था गोल आर −क. तदनुसार, यह एकमात्र मामला है जहां प्रतिद्वंद्वी राउंड में अच्छी संभावना के साथ Qr−1 की भविष्यवाणी कर सकता है r−k तब होता है जब सभी नेता \(\ell\)r−k, . . . , \(\ell\)r−1 दुर्भावनापूर्ण हैं। फिर से एक गोल \(\gamma\) \(\in\){r−k पर विचार करें। . . , r−1} और संबंधित hash मानों से प्रेरित PK\(\gamma\)−k पर यादृच्छिक क्रमपरिवर्तन। अगर कुछ के लिए x \(\geq\)2, क्रमपरिवर्तन में पहले x −1 उपयोगकर्ता सभी दुर्भावनापूर्ण हैं और x-th ईमानदार है, फिर प्रतिद्वंद्वी के पास Q\(\gamma\) के लिए x संभावित विकल्प हैं: या तो H(SIGi(Q\(\gamma\)−1, \(\gamma\))) के रूप में, जहां i इनमें से एक है 21चूंकि k एक छोटा पूर्णांक है, व्यापकता के नुकसान के बिना कोई यह मान सकता है कि प्रोटोकॉल के पहले k राउंड चलाए गए हैं एक सुरक्षित वातावरण में और आगमनात्मक परिकल्पना उन दौरों के लिए मान्य है। 22अर्थात, H के आउटपुट की लंबाई में घातीय है। ध्यान दें कि यह संभावना F से बहुत छोटी है।पहले x−1 दुर्भावनापूर्ण उपयोगकर्ता, खिलाड़ियों को वास्तव में राउंड \(\gamma\) का लीडर बनाकर; या H(Q\(\gamma\)−1, \(\gamma\)), द्वारा मजबूरन B\(\gamma\) = B\(\gamma\) .. . अन्यथा, राउंड का नेता क्रमपरिवर्तन में पहला ईमानदार उपयोगकर्ता होगा और Qr−1 प्रतिद्वंद्वी के लिए अप्रत्याशित हो जाता है। प्रतिद्वंद्वी को Q\(\gamma\) के उपरोक्त x विकल्पों में से कौन सा विकल्प अपनाना चाहिए? शत्रु की सहायता करना इस प्रश्न का उत्तर दें, मानसिक खेल में हम वास्तव में उसे वास्तव में उससे अधिक शक्तिशाली बनाते हैं है, इस प्रकार. सबसे पहले, वास्तव में, प्रतिद्वंद्वी एक ईमानदार उपयोगकर्ता के hash की गणना नहीं कर सकता है हस्ताक्षर, इस प्रकार, प्रत्येक Q\(\gamma\) के लिए, शुरुआत में दुर्भावनापूर्ण उपयोगकर्ताओं की संख्या x(Q\(\gamma\)) तय नहीं कर सकता है Q\(\gamma\) द्वारा प्रेरित दौर \(\gamma\) + 1 में यादृच्छिक क्रमपरिवर्तन का। मानसिक खेल में, हम उसे देते हैं संख्या x(Q\(\gamma\)) निःशुल्क। दूसरा, वास्तव में, क्रमपरिवर्तन में पहले x उपयोगकर्ता होना दुर्भावनापूर्ण होने का मतलब यह नहीं है कि उन सभी को नेता बनाया जा सकता है, क्योंकि hash उनके हस्ताक्षरों का मान भी p1 से कम होना चाहिए। हमने मानसिक रूप से इस बाधा को नजरअंदाज कर दिया है खेल, प्रतिद्वंद्वी को और भी अधिक लाभ देता है। यह देखना आसान है कि मानसिक खेल में, प्रतिद्वंद्वी के लिए इष्टतम विकल्प, जिसे ˆQ\(\gamma\) द्वारा दर्शाया जाता है, वह है जो रैंडम की शुरुआत में दुर्भावनापूर्ण उपयोगकर्ताओं का सबसे लंबा अनुक्रम उत्पन्न करता है राउंड \(\gamma\) + 1 में क्रमपरिवर्तन। वास्तव में, एक विशिष्ट Q\(\gamma\) दिया गया है, प्रोटोकॉल Q\(\gamma\)−1 पर निर्भर नहीं करता है अब और प्रतिद्वंद्वी केवल \(\gamma\) + 1 दौर में नए क्रमपरिवर्तन पर ध्यान केंद्रित कर सकता है, जिसमें है शुरुआत में दुर्भावनापूर्ण उपयोगकर्ताओं की संख्या के लिए समान वितरण। तदनुसार, प्रत्येक दौर में \(\gamma\), उपर्युक्त ˆQ\(\gamma\) उसे Q\(\gamma\)+1 के लिए विकल्पों की सबसे बड़ी संख्या देता है और इस प्रकार अधिकतम होता है संभावना यह है कि लगातार सभी नेता दुर्भावनापूर्ण हैं। इसलिए, मानसिक खेल में प्रतिद्वंद्वी राउंड आर -के से मार्कोव चेन का अनुसरण कर रहा है r −1 को पूर्णांकित करने के लिए, अवस्था स्थान {0} \(\cup\){x : x \(\geq\)2} के साथ। राज्य 0 इस तथ्य को दर्शाता है कि वर्तमान दौर में यादृच्छिक क्रमपरिवर्तन में पहला उपयोगकर्ता ईमानदार है, इस प्रकार प्रतिद्वंद्वी विफल रहता है Qr−1 की भविष्यवाणी के लिए खेल; और प्रत्येक स्थिति x \(\geq\)2 इस तथ्य का प्रतिनिधित्व करती है कि पहले x −1 उपयोगकर्ता क्रमपरिवर्तन दुर्भावनापूर्ण है और x-th ईमानदार है, इस प्रकार प्रतिद्वंद्वी के पास Q\(\gamma\) के लिए x विकल्प हैं। द संक्रमण संभावनाएँ P(x, y) इस प्रकार हैं। • किसी भी y \(\geq\)2 के लिए P(0, 0) = 1 और P(0, y) = 0। अर्थात्, प्रतिद्वंद्वी पहली बार खेल को विफल कर देता है क्रमपरिवर्तन में उपयोगकर्ता ईमानदार हो जाता है। • किसी भी x \(\geq\)2 के लिए P(x, 0) = hx। अर्थात्, संभाव्यता hx के साथ, सभी x यादृच्छिक क्रमपरिवर्तन होते हैं उनके पहले उपयोगकर्ता ईमानदार हैं, इस प्रकार प्रतिद्वंद्वी अगले दौर में खेल को विफल कर देता है। • किसी भी x \(\geq\)2 और y \(\geq\)2 के लिए, P(x, y) संभावना है कि, x यादृच्छिक क्रमपरिवर्तन के बीच Q\(\gamma\) के x विकल्पों से प्रेरित, शुरुआत में दुर्भावनापूर्ण उपयोगकर्ताओं का सबसे लंबा अनुक्रम उनमें से कुछ y −1 है, इस प्रकार प्रतिद्वंद्वी के पास अगले दौर में Q\(\gamma\)+1 के लिए y विकल्प हैं। अर्थात्, पी(एक्स, वाई) = y−1 एक्स मैं=0 (1 −एच)आईएच !x − y−2 एक्स मैं=0 (1 −एच)आईएच !x = (1 −(1 −h)y)x −(1 −(1 −h)y−1)x. ध्यान दें कि अवस्था 0 संक्रमण मैट्रिक्स P और अन्य सभी अवस्थाओं में अद्वितीय अवशोषण अवस्था है x के 0 पर जाने की सकारात्मक संभावना है। हम संख्या k की ऊपरी सीमा तय करने में रुचि रखते हैं मार्कोव श्रृंखला को अत्यधिक संभावना के साथ 0 पर एकत्रित करने के लिए आवश्यक राउंड: यानी, नहीं इससे कोई फर्क नहीं पड़ता कि श्रृंखला किस राज्य से शुरू होती है, इस बात की अत्यधिक संभावना है कि प्रतिद्वंद्वी खेल हार जाए और राउंड r −k पर Qr−1 की भविष्यवाणी करने में विफल रहता है। दो राउंड के बाद संक्रमण मैट्रिक्स P (2) \(\triangleq\)P \(\cdot\) P पर विचार करें। यह देखना आसान है कि P (2)(0, 0) = 1 और किसी भी x \(\geq\)2 के लिए P (2)(0, x) = 0. किसी भी x \(\geq\)2 और y \(\geq\)2 के लिए, जैसे P(0, y) = 0, हमारे पास है पी (2)(एक्स, वाई) = पी(एक्स, 0)पी(0, वाई) + एक्स z\(\geq\)2 पी(एक्स, जेड)पी(जेड, वाई) = एक्स z\(\geq\)2 पी(एक्स, जेड)पी(जेड, वाई).मान लीजिए ¯h \(\triangleq\)1 −h, हमारे पास है P(x, y) = (1 −¯hy−1)x और पी (2)(एक्स, वाई) = एक्स z\(\geq\)2 [(1 −¯hz)x -(1 −¯hz−1)x][(1 −¯hy)z -(1 −¯hy−1)z]। नीचे हम P (2)(x,y) की सीमा की गणना करते हैं पी (एक्स,वाई) जैसे h, 1 पर जाता है—अर्थात, ¯h 0 पर जाता है। ध्यान दें कि उच्चतम P(x, y) में ¯h का क्रम ¯hy−1 है, गुणांक x के साथ। तदनुसार, लिम ज→1 पी (2)(एक्स, वाई) पी(एक्स, वाई) = लिम ¯h \(\to\) 0 पी (2)(एक्स, वाई) पी(एक्स, वाई) = लिम ¯h \(\to\) 0 पी (2)(एक्स, वाई) x¯hy−1 + O(¯hy) = लिम ¯h \(\to\) 0 पी z\(\geq\)2[x¯hz−1 + O(¯hz)][z¯hy−1 + O(¯hy)] x¯hy−1 + O(¯hy) = लिम ¯h \(\to\) 0 2x¯hy + O(¯hy+1) x¯hy−1 + O(¯hy) = लिम ¯h \(\to\) 0 2x¯hy x¯hy−1 = lim ¯h \(\to\) 0 2¯h = 0. जब h पर्याप्त रूप से 1,23 के करीब होता है तो हमारे पास होता है पी (2)(एक्स, वाई) पी(एक्स, वाई) \(\leq\)1 2 किसी भी x \(\geq\)2 और y \(\geq\)2 के लिए। प्रेरण द्वारा, किसी भी k > 2 के लिए, P (k) \(\triangleq\)P k ऐसा है • किसी भी x \(\geq\)2 के लिए P (k)(0, 0) = 1, P (k)(0, x) = 0, और • किसी भी x \(\geq\)2 और y \(\geq\)2 के लिए, P (k)(x, y) = P (k−1)(x, 0)P(0, y) + एक्स z\(\geq\)2 P (k−1)(x, z)P(z, y) = एक्स z\(\geq\)2 P (k−1)(x, z)P(z, y) \(\leq\) एक्स z\(\geq\)2 पी(एक्स, जेड) 2k−2 \(\cdot\) पी(जेड, वाई) = पी (2)(एक्स, वाई) 2k−2 \(\leq\)P(x, y) 2k−1 . चूंकि P(x, y) \(\leq\)1, 1−log2 F राउंड के बाद, किसी भी अवस्था y \(\geq\)2 में संक्रमण की संभावना नगण्य है, किसी भी अवस्था x \(\geq\)2 से शुरू करना। हालाँकि ऐसे कई राज्य हैं, यह देखना आसान है लिम y→+∞ पी(एक्स, वाई) पी(एक्स, वाई + 1) = लिम y→+∞ (1 −¯hy)x -(1 −¯hy−1)x (1 −¯hy+1)x −(1 −¯hy)x = लिम y→+∞ ¯hy−1 −¯hy ¯hy −¯hy+1 = 1 ¯ह = 1 1 −एच. इसलिए संक्रमण मैट्रिक्स P की प्रत्येक पंक्ति x दर के साथ एक ज्यामितीय अनुक्रम के रूप में घटती है 1 1−h > 2 जब y काफी बड़ा हो, और यही बात P (k) के लिए भी लागू होती है। तदनुसार, जब k काफी बड़ा है लेकिन फिर भी लॉग 1/2 एफ, पी के क्रम पर y\(\geq\)2 P (k)(x, y) < F किसी भी x \(\geq\)2 के लिए। यानी अत्यधिक संभावना के साथ प्रतिद्वंद्वी गेम हार जाता है और राउंड r -k पर Qr−1 की भविष्यवाणी करने में विफल रहता है। h \(\in\)(2/3, 1] के लिए, और अधिक जटिल विश्लेषण से पता चलता है कि 1/2 से थोड़ा बड़ा एक स्थिरांक C मौजूद है, जैसे कि यह पर्याप्त है k = O(logC F) लेने के लिए। इस प्रकार लेम्मा 5.6 कायम है। ■ लेम्मा 5.4. (पुनः कहा गया) r से पहले प्रत्येक दौर के लिए गुण 1-3 दिए गए हैं, Lr के लिए ph = h2(1 + h −h2), और नेता \(\ell\)r संभाव्यता के साथ कम से कम ph ईमानदार है। 23 उदाहरण के लिए, h = 80%, जैसा कि मापदंडों के विशिष्ट विकल्पों द्वारा सुझाया गया है।
सबूत. लेम्मा 5.6 के बाद, प्रतिद्वंद्वी राउंड आर -के पर क्यूआर-1 की भविष्यवाणी नहीं कर सकता, सिवाय इसके कि नगण्य संभावना. ध्यान दें कि इसका मतलब यह नहीं है कि एक ईमानदार नेता की संभावना कम है प्रत्येक दौर. दरअसल, Qr−1 दिया गया है, यह इस बात पर निर्भर करता है कि शुरुआत में कितने दुर्भावनापूर्ण उपयोगकर्ता हैं PKr−k के यादृच्छिक क्रमपरिवर्तन से, प्रतिद्वंद्वी के पास Qr और के लिए एक से अधिक विकल्प हो सकते हैं इस प्रकार राउंड आर + 1 में एक दुर्भावनापूर्ण नेता की संभावना बढ़ सकती है - फिर से हम उसे दे रहे हैं लेम्मा 5.6 में कुछ अवास्तविक लाभ, ताकि विश्लेषण को सरल बनाया जा सके। हालाँकि, प्रत्येक Qr−1 के लिए जो राउंड r −k पर प्रतिद्वंद्वी द्वारा H से नहीं पूछा गया था, के लिए कोई भी x \(\geq\)1, प्रायिकता (1 −h)x−1h के साथ पहला ईमानदार उपयोगकर्ता परिणाम में स्थिति x पर होता है PKr−k का यादृच्छिक क्रमपरिवर्तन। जब x = 1, तो राउंड r + 1 में एक ईमानदार नेता की संभावना है वास्तव में ज; जबकि जब x = 2 होता है, तो प्रतिद्वंद्वी के पास Qr के लिए दो विकल्प होते हैं और परिणामी संभावना होती है h2. इन दो मामलों पर विचार करने के बाद ही हमें एक ईमानदार नेता की संभावना का पता चलता है r + 1 इच्छानुसार कम से कम h \(\cdot\) h + (1 −h)h \(\cdot\) h2 = h2(1 + h −h2) है। ध्यान दें कि उपरोक्त संभावना केवल राउंड आर -के से प्रोटोकॉल में यादृच्छिकता पर विचार करती है आर को गोल करने के लिए जब राउंड 0 से राउंड आर तक सभी यादृच्छिकता को ध्यान में रखा जाता है, तो Qr−1 होता है प्रतिद्वंद्वी के लिए पूर्वानुमान और भी कम है और राउंड आर + 1 में एक ईमानदार नेता की संभावना है न्यूनतम h2(1 + h −h2). r + 1 को r से प्रतिस्थापित करना और सभी चीज़ों को एक राउंड पीछे खिसकाना, नेता \(\ell\)r इच्छानुसार कम से कम h2(1 + h −h2) संभाव्यता के साथ ईमानदार है। इसी तरह, प्रत्येक कॉइन-जेनुइनली-फ़्लिप्ड चरण में, उस चरण का "नेता" - वह सत्यापनकर्ता है SV r,s में जिसका क्रेडेंशियल सबसे छोटा hash मान है, कम से कम h2(1 +) संभाव्यता के साथ ईमानदार है h −h2). इस प्रकार Lr के लिए ph = h2(1 + h −h2) और लेम्मा 5.4 कायम है। ■
Algorand '
2 इस खंड में, हम निम्नलिखित धारणा के तहत काम करते हुए Algorand ' का एक संस्करण बनाते हैं। अधिकांश उपयोगकर्ता ईमानदार हैं। धारणा: प्रत्येक पीकेआर में 2/3 से अधिक उपयोगकर्ता ईमानदार हैं। धारा 8 में, हम दिखाते हैं कि उपरोक्त धारणा को वांछित ईमानदार बहुमत से कैसे बदला जाए धन संबंधी धारणा. 6.1 Algorand के लिए अतिरिक्त नोटेशन और पैरामीटर 2 संकेतन • \(\mu\) \(\in\)Z+: चरणों की संख्या के लिए एक व्यावहारिक ऊपरी सीमा, जो अत्यधिक संभावना के साथ, वास्तव में एक राउंड में लिया जाएगा। (जैसा कि हम देखेंगे, पैरामीटर \(\mu\) कितने अल्पकालिक को नियंत्रित करता है उपयोगकर्ता प्रत्येक दौर के लिए पहले से कुंजी तैयार करता है।) • एलआर: एक यादृच्छिक चर जो प्रत्येक को 1 देखने के लिए आवश्यक बर्नौली परीक्षणों की संख्या का प्रतिनिधित्व करता है प्रायिकता ph के साथ परीक्षण 1 है 2 . एलआर का उपयोग उत्पन्न करने के लिए आवश्यक समय को ऊपरी सीमा में करने के लिए किया जाएगा ब्लॉक ब्र. • वें: राउंड आर के चरण एस > 1 में ईमानदार सत्यापनकर्ताओं की संख्या के लिए निचली सीमा, जैसे कि अत्यधिक संभावना (एन और पी को देखते हुए), एसवी आर, एस में > वें ईमानदार सत्यापनकर्ता हैं। पैरामीटर्स • विभिन्न मापदंडों के बीच संबंध। - राउंड आर के प्रत्येक चरण s > 1 के लिए, n को चुना गया है ताकि, अत्यधिक संभावना के साथ,
|एचएसवी आर,एस| > वें और |एचएसवी आर,एस| + 2|एमएसवी आर,एस| <2टीएच. ध्यान दें कि उपरोक्त दोनों असमानताएँ एक साथ |HSV r,s| दर्शाती हैं > 2|एमएसवी आर,एस|: यानी, वहाँ चयनित सत्यापनकर्ताओं के बीच 2/3 ईमानदार बहुमत है। h का मान 1 के जितना करीब होगा, n उतना ही छोटा होना चाहिए। विशेष रूप से, हम (वेरिएंट) का उपयोग करते हैं का) चेर्नोफ़िबाउंड यह सुनिश्चित करने के लिए कि वांछित स्थितियाँ अत्यधिक संभावना के साथ बनी रहें। • महत्वपूर्ण मापदंडों के उदाहरण विकल्प। — एफ = 10−18. - n \(\approx\)4000, th \(\approx\)0.69n, k = 70. 6.2 Algorand में अल्पकालिक कुंजियाँ लागू करना 2 याद रखें कि एक सत्यापनकर्ता i\(\in\)SV r,s डिजिटल रूप से अपने संदेश पर हस्ताक्षर करता है mr,s मैं राउंड आर में चरण एस के सापेक्ष एक अल्पकालिक सार्वजनिक कुंजी पीकेआर,एस मैं, एक क्षणिक गुप्त कुंजी skr,s का उपयोग कर रहा हूँ मैं जिसे वह तुरंत नष्ट कर देता है उपयोग करने के बाद. जब एक राउंड में उठाए जाने वाले संभावित कदमों की संख्या किसी दिए गए द्वारा सीमित हो जाती है पूर्णांक \(\mu\), हम पहले ही देख चुके हैं कि अल्पकालिक कुंजियों को व्यावहारिक रूप से कैसे संभालना है। उदाहरण के लिए, जैसे हम Algorand में समझाया है'' 1 (जहाँ \(\mu\) = m + 3), उसकी सभी संभावित क्षणिक कुंजियों को संभालने के लिए, से एक राउंड आर' से एक राउंड आर' + 106, मैं एक जोड़ी (पीएमके, एसएमके) उत्पन्न करता हूं, जहां पीएमके सार्वजनिक मास्टर है पहचान आधारित हस्ताक्षर योजना की कुंजी, और एसएमके इसकी संबंधित गुप्त मास्टर कुंजी। उपयोगकर्ता मैं पीएमके का प्रचार करता है और प्रत्येक संभावित अल्पकालिक सार्वजनिक कुंजी की गुप्त कुंजी उत्पन्न करने के लिए एसएमके का उपयोग करता है (और ऐसा करने के बाद SMK को नष्ट कर देता है)। प्रासंगिक के लिए i की अल्पकालिक सार्वजनिक कुंजियों का सेट राउंड S = {i} \(\times\) {r', है। . . , आर' + 106} \(\times\) {1, . . . , \(\mu\)}. (जैसा कि चर्चा की गई है, जैसे-जैसे राउंड आर' + 106 करीब आता है, मैं उसकी जोड़ी (पीएमके, एसएमके) को "ताज़ा" करता हूं।) व्यवहार में, यदि \(\mu\) पर्याप्त बड़ा है, तो Algorand ′ का एक चक्र 2 \(\mu\) कदम से अधिक नहीं लगेगा। में सिद्धांत रूप में, हालाँकि, इस बात की बहुत कम संभावना है कि, कुछ राउंड के लिए चरणों की संख्या होगी वास्तव में लिया गया \(\mu\) से अधिक होगा। जब ऐसा होगा तो मैं उनके संदेश पर हस्ताक्षर नहीं कर पाऊंगा श्रीमान मैं के लिए कोई भी चरण s > \(\mu\), क्योंकि उसने राउंड आर के लिए केवल \(\mu\) गुप्त कुंजियाँ पहले से तैयार कर रखी हैं। इसके अलावा, वह जैसा कि पहले चर्चा की गई थी, अल्पकालिक कुंजियों का एक नया भंडार तैयार और प्रचारित नहीं किया जा सका। वास्तव में, करने के लिए इसलिए, उसे एक नए ब्लॉक में एक नई सार्वजनिक मास्टर कुंजी PMK′ डालने की आवश्यकता होगी। लेकिन, आर को गोल करना चाहिए अधिक से अधिक कदम उठाएं, कोई नया ब्लॉक उत्पन्न नहीं होगा। हालाँकि, समाधान मौजूद हैं। उदाहरण के लिए, मैं राउंड आर, पीकेआर,\(\mu\) की अंतिम क्षणिक कुंजी का उपयोग कर सकता हूं मैं , इस प्रकार. वह राउंड आर के लिए कुंजी-जोड़ियों का एक और भंडार उत्पन्न करता है - उदाहरण के लिए, (1) एक और उत्पन्न करके मास्टर कुंजी जोड़ी (पीएमके, एसएमके); (2) इस जोड़ी का उपयोग अन्य, मान लीजिए, 106 क्षणिक कुंजियाँ उत्पन्न करने के लिए, एसके आर,\(\mu\)+1 मैं , . . . , एसके आर,\(\mu\)+106 मैं , राउंड आर के चरण \(\mu\)+1, ..., \(\mu\)+106 के अनुरूप; (3) skr,\(\mu\) का उपयोग करना मैं डिजिटल रूप से पीएमके पर हस्ताक्षर करें (और कोई (आर, \(\mu\))-संदेश यदि मैं \(\in\)एसवी आर,\(\mu\)), पीकेआर,\(\mu\) के सापेक्ष मैं ; और (4) SMK और skr,\(\mu\) को मिटाना मैं . क्या मुझे s \(\in\){1, के साथ \(\mu\) + s चरण में एक सत्यापनकर्ता बनना चाहिए। . . , 106}, फिर मैं डिजिटल रूप से उसके (आर, \(\mu\) + एस) पर हस्ताक्षर करता हूं - संदेश श्री,\(\mu\)+s मैं उसकी नई कुंजी पीके के सापेक्ष आर,\(\mu\)+एस मैं = (i, r, \(\mu\) + s). बेशक, इस हस्ताक्षर को सत्यापित करने के लिए मैं, अन्य लोगों को यह सुनिश्चित करने की आवश्यकता है कि यह सार्वजनिक कुंजी मेरी नई सार्वजनिक मास्टर कुंजी पीएमके से मेल खाती है। इस प्रकार, इस हस्ताक्षर के अलावा, मैं पीकेआर,\(\mu\) के सापेक्ष पीएमके के अपने डिजिटल हस्ताक्षर प्रसारित करता हूं मैं . बेशक, इस दृष्टिकोण को दोहराया जा सकता है, जितनी बार आवश्यक हो, राउंड आर जारी रहना चाहिए अधिक से अधिक चरणों के लिए! अंतिम अल्पकालिक गुप्त कुंजी का उपयोग नए मास्टर पब्लिक को प्रमाणित करने के लिए किया जाता है कुंजी, और इस प्रकार राउंड आर के लिए क्षणिक कुंजियों का एक और भंडार। और इसी तरह।6.3 वास्तविक प्रोटोकॉल Algorand ' 2 फिर से याद करें कि, राउंड आर के प्रत्येक चरण में, एक सत्यापनकर्ता i \(\in\)SV r,s अपने दीर्घकालिक सार्वजनिक-गुप्त का उपयोग करता है उसकी साख, \(\sigma\)r,s बनाने के लिए कुंजी जोड़ी मैं \(\triangleq\)SIGi(r, s, Qr−1), साथ ही SIGi Qr−1 मामले में एस = 1. सत्यापनकर्ता मैं उसकी क्षणिक कुंजी जोड़ी, (पीकेआर, एस) का उपयोग करता हूं मैं , एसकेआर,एस i ), किसी अन्य संदेश पर हस्ताक्षर करने के लिए m जो हो सकता है आवश्यक. सरलता के लिए, हम sigpkr,s के बजाय esigi(m) लिखते हैं i (m), i के उचित क्षणभंगुर को दर्शाने के लिए इस चरण में m का हस्ताक्षर करें, और SIGpkr,s के स्थान पर ESIGi(m) लिखें i (m) \(\triangleq\)(i, m, esigi(m)). चरण 1: प्रस्ताव को ब्लॉक करें प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना पहला चरण शुरू करता है CERT r−1, जो मुझे स्पष्ट रूप से H(Br−1) और Qr−1 की गणना करने की अनुमति देता है। • उपयोगकर्ता i यह जांचने के लिए Qr−1 का उपयोग करता है कि i \(\in\)SV r,1 है या नहीं। यदि i /\(\in\)SV r,1, तो वह चरण 1 के लिए कुछ नहीं करता है। • यदि i \(\in\)SV r,1, अर्थात, यदि मैं एक संभावित नेता है, तो वह निम्नलिखित कार्य करता है। (ए) अगर मैंने बी0 देखा है। . . , Br−1 स्वयं (कोई भी Bj = Bj ǫ को इसके hash मान से आसानी से प्राप्त किया जा सकता है सीईआरटी जे में और इस प्रकार इसे "देखा गया" माना जाता है), फिर वह राउंड-आर भुगतान एकत्र करता है अब तक उसे प्रचारित किया गया है और अधिकतम भुगतान सेट PAY r की गणना की गई है मैं उनसे. (बी) यदि मैंने सभी B0 नहीं देखे हैं। . . , Br−1 अभी तक, फिर वह PAY r सेट करता है मैं = \(\emptyset\). (सी) इसके बाद, मैं उसके "उम्मीदवार ब्लॉक" ब्र की गणना करता हूं मैं = (आर, भुगतान आर i , SIGi(Qr−1), H(Br−1)). (सी) अंत में, मैं संदेश की गणना करता हूं श्रीमान, 1 मैं = (ब्र मैं , ईएसजीआई(एच(बीआर मैं )), \(\sigma\)r,1 i ), उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,1 i , और फिर दो संदेश प्रसारित करता है, श्रीमान,1 मैं और (SIGi(Qr−1), \(\sigma\)r,1 मैं ), अलग-अलग लेकिन एक साथ.ए जब मैं नेता होता हूं, तो SIGi(Qr−1) दूसरों को Qr = H(SIGi(Qr−1), r) की गणना करने की अनुमति देता है।
चयनात्मक प्रचार चरण 1 और पूरे दौर के वैश्विक निष्पादन को छोटा करने के लिए, यह महत्वपूर्ण है कि (आर, 1)- संदेशों को चुनिंदा तरीके से प्रचारित किया जाता है। अर्थात्, सिस्टम में प्रत्येक उपयोगकर्ता j के लिए, • पहले के लिए (आर, 1)-संदेश जिसे वह कभी प्राप्त करता है और सफलतापूर्वक सत्यापित करता है, क्या इसमें शामिल है एक ब्लॉक या सिर्फ एक क्रेडेंशियल और Qr−1 का हस्ताक्षर है, प्लेयर j इसे हमेशा की तरह प्रचारित करता है। • अन्य सभी (आर, 1)-संदेशों के लिए जो खिलाड़ी जे प्राप्त करता है और सफलतापूर्वक सत्यापित करता है, वह प्रचारित करता है यह केवल तभी होगा जब इसमें शामिल क्रेडेंशियल का hash मान hash मानों में सबसे छोटा हो सभी (आर, 1)-संदेशों में निहित क्रेडेंशियल्स में से उसे प्राप्त किया गया है और सफलतापूर्वक सत्यापित किया गया है दूर. हालाँकि, यदि j को mr,1 फॉर्म के दो अलग-अलग संदेश प्राप्त होते हैं मैं एक ही खिलाड़ी से i,b he दूसरे को खारिज कर देता है, चाहे मेरे क्रेडेंशियल का hash मान कुछ भी हो। ध्यान दें कि, चयनात्मक प्रचार के तहत यह उपयोगी है कि प्रत्येक संभावित नेता अपना प्रचार करे क्रेडेंशियल \(\sigma\)r,1 मैं श्रीमान से अलग,1 मैं :c वे छोटे संदेश ब्लॉकों की तुलना में तेजी से यात्रा करते हैं, सुनिश्चित करें श्रीमान् का समय पर प्रचार-प्रसार,1 i वह जगह है जहां निहित क्रेडेंशियल में छोटे hash मान हैं, जबकि बड़े hash मानों को तुरंत गायब कर दें। अर्थात्, सभी हस्ताक्षर सही हैं और, यदि यह श्रीमान, 1 के रूप में है i, ब्लॉक और उसके hash दोनों वैध हैं -हालाँकि j यह जाँच नहीं करता है कि शामिल भुगतान सेट i के लिए अधिकतम है या नहीं। bजिसका अर्थ है कि मैं दुर्भावनापूर्ण हूं। हम यह सुझाव देने के लिए जॉर्जियोस व्लाचोस को धन्यवाद देते हैं।चरण 2: ग्रेडेड सर्वसम्मति प्रोटोकॉल जीसी का पहला चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 2 शुरू करता है CERT r−1. • उपयोगकर्ता i अधिकतम समय t2 \(\triangleq\) \(\lambda\) + Λ प्रतीक्षा करता है। प्रतीक्षा करते समय, मैं निम्नानुसार कार्य करता हूँ। 1. समय 2\(\lambda\) की प्रतीक्षा करने के बाद, वह उपयोगकर्ता को ढूंढता है \(\ell\)जैसे कि H(\(\sigma\)r,1) \(\ell\)) \(\leq\)H(\(\sigma\)r,1 जे ) सभी के लिए क्रेडेंशियल्स \(\sigma\)r,1 जे जो उसे प्राप्त सफलतापूर्वक सत्यापित (आर, 1)-संदेशों का हिस्सा हैं अब तक.ए 2. यदि वह है प्राप्त ए ब्लॉक ब्र−1, जो मेल खाता है द hash मूल्य एच(बीआर−1) CERT r−1,b में निहित है और यदि उसे \(\ell\)a वैध संदेश mr,1 से प्राप्त हुआ है \(\ell\) = (ब्र \(\ell\), esig\(\ell\)(H(Br \(\ell\))), \(\sigma\)r,1 \(\ell\)),c फिर मैं प्रतीक्षा करना बंद कर देता हूं और v′ सेट करता हूं मैं \(\triangleq\)(एच(ब्र \(\ell\)), \(\ell\)). 3. अन्यथा, जब समय t2 समाप्त हो जाता है, तो मैं v' सेट करता हूं मैं \(\triangleq\) \(\bot\). 4. जब v' का मान i सेट कर दिया गया है, मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि क्या i \(\in\)SV r,2 या नहीं। 5. यदि i \(\in\)SV r,2, तो मैं संदेश mr,2 की गणना करता हूं मैं \(\triangleq\)(ESIGi(v′ मैं), \(\sigma\)r,2 i ),d उसके क्षणभंगुर को नष्ट कर देता है गुप्त कुंजी skr,2 i , और फिर श्रीमान,2 का प्रचार करता है मैं . अन्यथा, मैं बिना प्रचार किये ही रुक जाता हूँ कुछ भी. अनिवार्य रूप से, उपयोगकर्ता i निजी तौर पर निर्णय लेता है कि राउंड आर का नेता उपयोगकर्ता \(\ell\) है। बेशक, यदि CERT r−1 इंगित करता है कि Br−1 = Br−1 .. , तो मुझे वह क्षण पहले ही "प्राप्त" हो चुका है CERT r−1. फिर, खिलाड़ी \(\ell\) के हस्ताक्षर और hashes सभी सफलतापूर्वक सत्यापित हैं, और भुगतान करें \(\ell\)ब्र में \(\ell\)के लिए एक वैध भुगतान सेट है राउंड आर - हालाँकि मैं यह जाँच नहीं करता कि PAY r है या नहीं \(\ell\)के लिए अधिकतम है या नहीं। यदि ब्र \(\ell\)तब इसमें एक खाली भुगतान सेट होता है यह सत्यापित करने से पहले कि क्या Br है, वास्तव में मुझे Br−1 देखने की कोई आवश्यकता नहीं है \(\ell\)वैध है या नहीं। dसंदेश श्रीमान,2 मैं संकेत है कि खिलाड़ी मैं v′ का पहला घटक मानता हूं मैं अगले ब्लॉक का hash बनूंगा, या अगले ब्लॉक को खाली मानता है।
चरण 3: जीसी का दूसरा चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 3 शुरू करता है CERT r−1. • उपयोगकर्ता i अधिकतम समय तक प्रतीक्षा करता है t3 \(\triangleq\)t2 + 2\(\lambda\) = 3\(\lambda\) + Λ। प्रतीक्षा करते समय, मैं कार्य करता हूँ अनुसरण करता है। 1. यदि कोई मान v मौजूद है जैसे कि उसे कम से कम tH वैध संदेश mr,2 प्राप्त हुए हों जे का फॉर्म (ESIGj(v), \(\sigma\)r,2 जे ), बिना किसी विरोधाभास के, फिर वह इंतजार करना बंद कर देता है और सेट हो जाता है वी′ = वी. 2. अन्यथा, जब समय t3 समाप्त हो जाता है, तो वह v′ = \(\bot\) सेट कर देता है। 3. जब v′ का मान निर्धारित किया गया है, तो मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि क्या i \(\in\)SV r,3 या नहीं। 4. यदि i \(\in\)SV r,3, तो मैं संदेश mr,3 की गणना करता हूं मैं \(\triangleq\)(ESIGi(v′), \(\sigma\)r,3 i ), उसे नष्ट कर देता है क्षणिक गुप्त कुंजी skr,3 मैं , और फिर श्रीमान,3 का प्रचार करता हूँ मैं . अन्यथा, मैं बिना रुके रुक जाता हूँ किसी भी चीज़ का प्रचार करना. अर्थात, उसे क्रमशः ESIGj(v) और एक अलग ESIGj(ˆv) वाले दो वैध संदेश प्राप्त नहीं हुए हैं, एक खिलाड़ी से जे. यहां और यहां से आगे, बाद में परिभाषित अंतिम स्थितियों को छोड़कर, जब भी कोई ईमानदार खिलाड़ी हो किसी दिए गए रूप के संदेश चाहता है, एक-दूसरे का खंडन करने वाले संदेशों को कभी भी गिना या मान्य नहीं माना जाता है।
चरण 4: जीसी का आउटपुट और बीबीए⋆ का पहला चरण प्रत्येक उपयोगकर्ता i \(\in\)PKr−k के लिए निर्देश: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण 4 शुरू करता है अपना स्वयं का चरण 3 समाप्त करता है। • उपयोगकर्ता i अधिकतम 2\(\lambda\) समय तक प्रतीक्षा करता है। प्रतीक्षा करते समय, i निम्नानुसार कार्य करता है। 1. वह जीसी के आउटपुट vi और gi की गणना निम्नानुसार करता है। (ए) यदि कोई मान मौजूद है v′ ̸= \(\bot\)जैसे कि उसे कम से कम tH वैध संदेश प्राप्त हुए हों श्रीमान,3 जे = (ESIGj(v′), \(\sigma\)r,3 j ), फिर वह प्रतीक्षा करना बंद कर देता है और vi \(\triangleq\)v′ और gi \(\triangleq\)2 सेट करता है। (बी) यदि उसे कम से कम वैध संदेश प्राप्त हुए हैं श्रीमान,3 जे = (ESIGj(\(\bot\)), \(\sigma\)r,3 j ), फिर वह रुक जाता है प्रतीक्षा कर रहा है और vi \(\triangleq\) \(\bot\)and gi \(\triangleq\)0.b सेट करता है (सी) अन्यथा, जब समय 2\(\lambda\) समाप्त हो जाता है, यदि कोई मान मौजूद है v′ ̸= \(\bot\)जैसे कि उसके पास है कम से कम ⌈tH प्राप्त हुआ 2 ⌉मान्य संदेश श्रीमान, जे जे = (ESIGj(v′), \(\sigma\)r,3 j ), फिर वह vi \(\triangleq\)v′ सेट करता है और जीआई \(\triangleq\)1.सी (डी) अन्यथा, जब समय 2\(\lambda\) समाप्त हो जाता है, तो वह vi \(\triangleq\) \(\bot\)और gi \(\triangleq\)0 सेट करता है। 2. जब vi और gi मान सेट कर दिए जाते हैं, तो मैं BBA⋆ के इनपुट bi की गणना इस प्रकार करता हूं: bi \(\triangleq\)0 यदि gi = 2, और bi \(\triangleq\)1 अन्यथा। 3. मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि i \(\in\)SV r,4 है या नहीं। 4. यदि i \(\in\)SV r,4, तो वह संदेश mr,4 की गणना करता है मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,4 i ), उसे नष्ट कर देता है क्षणिक गुप्त कुंजी skr,4 मैं , और श्रीमान 4 का प्रचार करता हूँ मैं . अन्यथा, मैं बिना प्रचार किये ही रुक जाता हूँ कुछ भी. इस प्रकार, राउंड आर के चरण 1 को शुरू करने के बाद से अधिकतम कुल समय t4 \(\triangleq\)t3 + 2\(\lambda\) = 5\(\lambda\) + Λ हो सकता है। bचाहे चरण (बी) प्रोटोकॉल में है या नहीं, इसकी शुद्धता पर कोई प्रभाव नहीं पड़ता है। हालाँकि, चरण (बी) की उपस्थिति चरण 4 को 2\(\lambda\) से कम समय में समाप्त करने की अनुमति देता है यदि पर्याप्त रूप से कई चरण-3 सत्यापनकर्ताओं ने "हस्ताक्षर \(\bot\)" किया है। cयह साबित किया जा सकता है कि इस मामले में v', यदि मौजूद है, तो अद्वितीय होना चाहिए।चरण s, 5 \(\leq\)s \(\leq\)m + 2, s −2 ≡0 mod 3: BBA⋆ का एक कॉइन-फिक्स्ड-टू-0 चरण प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है अपना स्वयं का चरण −1 समाप्त करता है। • उपयोगकर्ता i अधिकतम 2\(\lambda\) समय तक प्रतीक्षा करता है। प्रतीक्षा करते समय, i निम्नानुसार कार्य करता है। - समाप्ति शर्त 0: यदि किसी बिंदु पर एक स्ट्रिंग v ̸= \(\bot\)और एक चरण s′ मौजूद है जैसे कि (ए) 5 \(\leq\)s′ \(\leq\)s, s′ −2 ≡0 mod 3—अर्थात्, चरण s′ एक कॉइन-फिक्स्ड-टू-0 चरण है, (बी) मुझे कम से कम tH वैध संदेश प्राप्त हुए हैं mr,s′−1 जे = (ESIGj(0), ESIGj(v), \(\sigma\)r,s′−1 जे ),बी और (सी) मुझे एक वैध संदेश (SIGj(Qr−1), \(\sigma\)r,1) प्राप्त हुआ है j ) जिसमें j दूसरा है v का घटक, फिर, मैं इंतजार करना बंद कर देता हूं और चरण एस (और वास्तव में राउंड आर) का अपना निष्पादन समाप्त कर देता हूं किसी भी चीज़ को (आर, एस)-सत्यापनकर्ता के रूप में प्रचारित किए बिना तुरंत; H(Br) को प्रथम सेट करता है v का घटक; और अपने स्वयं के CERT r को संदेशों के सेट mr,s′−1 के रूप में सेट करता है जे चरण का (बी) (SIGj(Qr−1), \(\sigma\)r,1 के साथ जे ).सी - अंतिम शर्त 1: यदि किसी भी बिंदु पर कोई ऐसा चरण मौजूद है (ए') 6 \(\leq\)s′ \(\leq\)s, s′ −2 ≡1 mod 3—अर्थात, चरण s′ एक कॉइन-फिक्स्ड-टू-1 चरण है, और (बी') मुझे कम से कम वैध संदेश प्राप्त हुए हैं श्रीमान, एस′−1 जे = (ईएसआईजीजे(1), ईएसआईजीजे(वीजे), \(\sigma\)r,s′−1 जे ),डी फिर, मैं इंतजार करना बंद कर देता हूं और स्टेप एस (और वास्तव में राउंड आर) का अपना निष्पादन ठीक से समाप्त कर देता हूं किसी भी चीज़ को (आर, एस)-सत्यापनकर्ता के रूप में प्रचारित किए बिना दूर; सेट Br = Br ǫ ; और अपना खुद का सेट करता है CERT r संदेशों का सेट mr,s′−1 होगा जे उप-चरण (बी') का। – यदि पर कोई भी बिंदु वह है प्राप्त पर कम से कम वें वैध श्रीमान,s−1 जे का का द प्रपत्र (ESIGj(1), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह इंतजार करना बंद कर देता है और द्वि \(\triangleq\)1 सेट करता है। – यदि पर कोई भी बिंदु वह है प्राप्त पर कम से कम वें वैध श्रीमान,s−1 जे का का द प्रपत्र (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), लेकिन वे एक ही वी पर सहमत नहीं हैं, फिर वह रुक जाता है प्रतीक्षा कर रहा है और द्वि \(\triangleq\)0 सेट करता है। - अन्यथा, जब समय 2\(\lambda\) समाप्त हो जाता है, तो मैं bi \(\triangleq\)0 सेट करता हूं। - जब मान bi सेट किया गया है, तो मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि क्या मैं \(\in\)एसवी आर,एस। - यदि मैं \(\in\)एसवी आर,एस, तो मैं संदेश श्रीमान की गणना करता हूं मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ) vi होने के साथ चरण 4 में उसने जो मूल्य गणना की है, वह उसकी क्षणिक गुप्त कुंजी स्क्र, को नष्ट कर देता है मैं , और फिर प्रचार श्रीमान, एस मैं . अन्यथा, मैं बिना किसी बात का प्रचार किये रुक जाता हूँ। इस प्रकार, राउंड आर के चरण 1 को शुरू करने के बाद से अधिकतम कुल समय ts \(\triangleq\)ts−1 + 2\(\lambda\) = हो सकता है (2s −3)\(\lambda\) + Λ. bखिलाड़ी j से ऐसा संदेश गिना जाता है, भले ही खिलाड़ी i को भी 1 के लिए हस्ताक्षर करने वाले j से एक संदेश प्राप्त हुआ हो। समाप्ति शर्त 1 के लिए समान बातें। जैसा कि विश्लेषण में दिखाया गया है, यह सुनिश्चित करने के लिए है कि सभी ईमानदार उपयोगकर्ताओं को पता हो CERT r समय के भीतर \(\lambda\) एक दूसरे से। क्यूसर मैं अब एच(बीआर) और उसके स्वयं के राउंड आर को जानता हूं। उसे बस तब तक इंतजार करना होगा जब तक वास्तव में ब्लॉक Br न हो जाए उसे प्रचारित किया गया, जिसमें कुछ अतिरिक्त समय लग सकता है। वह अभी भी एक सामान्य उपयोगकर्ता के रूप में संदेशों के प्रचार-प्रसार में मदद करता है, लेकिन (आर, एस)-सत्यापनकर्ता के रूप में कोई प्रचार शुरू नहीं करता है। विशेष रूप से, उन्होंने सभी संदेशों को प्रचारित करने में मदद की है उसका CERT r, जो हमारे प्रोटोकॉल के लिए पर्याप्त है। ध्यान दें कि उसे बाइनरी बीए प्रोटोकॉल के लिए bi \(\triangleq\)0 भी सेट करना चाहिए, लेकिन वैसे भी इस मामले में bi की आवश्यकता नहीं है। भविष्य के सभी निर्देशों के लिए समान बातें। इस मामले में, इससे कोई फर्क नहीं पड़ता कि वीजे क्या हैं। 65चरण s, 6 \(\leq\)s \(\leq\)m + 2, s −2 ≡1 मॉड 3: बीबीए का एक सिक्का-निर्धारित-से-1 चरण⋆ प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है अपना स्वयं का चरण −1 समाप्त करता है। • उपयोगकर्ता i अधिकतम 2\(\lambda\) समय तक प्रतीक्षा करता है। प्रतीक्षा करते समय, मैं निम्नानुसार कार्य करता हूँ। - समाप्ति शर्त 0: कॉइन-फिक्स्ड-टू-0 चरण के समान निर्देश। - अंतिम शर्त 1: कॉइन-फिक्स्ड-टू-0 चरण के समान निर्देश। – यदि पर कोई भी बिंदु वह है प्राप्त पर कम से कम वें वैध श्रीमान,s−1 जे का का द प्रपत्र (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह इंतजार करना बंद कर देता है और द्वि \(\triangleq\)0.a सेट करता है - अन्यथा, जब समय 2\(\lambda\) समाप्त हो जाता है, तो मैं bi \(\triangleq\)1 सेट करता हूं। - जब मान bi सेट किया गया है, तो मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि क्या मैं \(\in\)एसवी आर,एस। - यदि मैं \(\in\)एसवी आर,एस, तो मैं संदेश श्रीमान की गणना करता हूं मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ) vi होने के साथ चरण 4 में उसने जो मूल्य गणना की है, वह उसकी क्षणिक गुप्त कुंजी स्क्र, को नष्ट कर देता है मैं , और फिर प्रचार श्रीमान, एस मैं . अन्यथा, मैं बिना किसी बात का प्रचार किये रुक जाता हूँ। ध्यान दें कि 1 के लिए हस्ताक्षर करने वाले tH वैध (r, s −1)-संदेश प्राप्त करने का मतलब शर्त 1 को समाप्त करना होगा। चरण s, 7 \(\leq\)s \(\leq\)m + 2, s −2 ≡2 मॉड 3: बीबीए का एक सिक्का-वास्तविक-फ़्लिप्ड चरण⋆ प्रत्येक उपयोगकर्ता के लिए निर्देश i \(\in\)PKr−k: उपयोगकर्ता i जैसे ही राउंड आर का अपना चरण शुरू करता है अपना चरण s −1 समाप्त करता है। • उपयोगकर्ता i अधिकतम 2\(\lambda\) समय तक प्रतीक्षा करता है। प्रतीक्षा करते समय, मैं निम्नानुसार कार्य करता हूँ। - समाप्ति शर्त 0: कॉइन-फिक्स्ड-टू-0 चरण के समान निर्देश। - अंतिम शर्त 1: कॉइन-फिक्स्ड-टू-0 चरण के समान निर्देश। – यदि पर कोई भी बिंदु वह है प्राप्त पर कम से कम वें वैध श्रीमान,s−1 जे का का द प्रपत्र (ESIGj(0), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह इंतजार करना बंद कर देता है और द्वि \(\triangleq\)0 सेट करता है। – यदि पर कोई भी बिंदु वह है प्राप्त पर कम से कम वें वैध श्रीमान,s−1 जे का का द प्रपत्र (ESIGj(1), ESIGj(vj), \(\sigma\)r,s−1 जे ), फिर वह इंतजार करना बंद कर देता है और द्वि \(\triangleq\)1 सेट करता है। - अन्यथा, जब समय 2\(\lambda\) समाप्त हो जाता है, तो SV r,s−1 दे देता है मैं (r, s −1)-सत्यापनकर्ताओं का समुच्चय बनें जिनसे उन्हें एक वैध संदेश प्राप्त हुआ है mr,s−1 जे , मैं bi \(\triangleq\)lsb(minj\(\in\)SV r,s−1) सेट करता हूं मैं H(\(\sigma\)r,s−1 जे )). - जब मान bi सेट किया गया है, तो मैं CERT r−1 से Qr−1 की गणना करता हूं और जांचता हूं कि क्या मैं \(\in\)एसवी आर,एस। - यदि मैं \(\in\)एसवी आर,एस, तो मैं संदेश श्रीमान की गणना करता हूं मैं \(\triangleq\)(ESIGi(bi), ESIGi(vi), \(\sigma\)r,s i ) vi होने के साथ चरण 4 में उसने जो मूल्य गणना की है, वह उसकी क्षणिक गुप्त कुंजी स्क्र, को नष्ट कर देता है मैं , और फिर प्रचार श्रीमान, एस मैं . अन्यथा, मैं बिना किसी बात का प्रचार किये रुक जाता हूँ। टिप्पणी। सिद्धांत रूप में, जैसा कि उपधारा 6.2 में माना गया है, प्रोटोकॉल मनमाने ढंग से कई ले सकता है किसी दौर में कदम. क्या ऐसा होना चाहिए, जैसा कि चर्चा की गई है, एक उपयोगकर्ता i \(\in\)SV r,s s > \(\mu\) के साथ समाप्त हो गया है
पूर्व-निर्मित क्षणिक कुंजियों का उसका भंडार और उसके (आर, एस)-संदेश श्रीमान, एस को प्रमाणित करना है मैं ए द्वारा क्षणिक कुंजियों का "कैस्केड"। इस प्रकार मेरा संदेश थोड़ा लंबा हो जाता है और ये लंबे समय तक प्रसारित होता है संदेशों में थोड़ा अधिक समय लगेगा. तदनुसार, किसी दिए गए दौर के इतने सारे चरणों के बाद, का मान पैरामीटर \(\lambda\) स्वचालित रूप से थोड़ा बढ़ जाएगा। (लेकिन एक बार नया होने पर यह मूल \(\lambda\) पर वापस आ जाता है ब्लॉक निर्मित होता है और एक नया दौर शुरू होता है।) गैर-सत्यापनकर्ताओं द्वारा राउंड-आर ब्लॉक का पुनर्निर्माण सिस्टम में प्रत्येक उपयोगकर्ता i के लिए निर्देश: उपयोगकर्ता i जैसे ही अपना राउंड आर शुरू करता है CERT r−1. • मैं प्रोटोकॉल के प्रत्येक चरण के निर्देशों का पालन करता हूं, सभी के प्रसार में भाग लेता हूं संदेश, लेकिन एक चरण में कोई प्रचार शुरू नहीं करता है यदि वह इसमें सत्यापनकर्ता नहीं है। • मैं कुछ में अंतिम स्थिति 0 या अंतिम स्थिति 1 दर्ज करके अपना स्वयं का राउंड आर समाप्त करता हूं चरण, संगत CERT r के साथ। • वहां से, वह वास्तविक ब्लॉक Br प्राप्त करने की प्रतीक्षा करते हुए अपना राउंड r + 1 शुरू करता है (जब तक कि वह इसे पहले ही प्राप्त कर चुका है), जिसका hash H(Br) CERT r द्वारा पिन कर दिया गया है। फिर, यदि CERT r इंगित करता है कि Br = Br ǫ, मैं ब्र को उसी क्षण जानता हूं जब उसके पास सीईआरटी आर है। 6.4 Algorand का विश्लेषण' 2 Algorand का विश्लेषण' 2 आसानी से Algorand से प्राप्त होता है' 1. मूलतः, Algorand में 2, साथ अत्यधिक संभावना, (ए) सभी ईमानदार उपयोगकर्ता एक ही ब्लॉक बीआर पर सहमत हैं; एक नए के नेता ब्लॉक कम से कम ph = h2(1 + h −h2) संभाव्यता के साथ ईमानदार है।
ऑनलाइन ईमानदार उपयोगकर्ताओं को संभालना
जैसा कि हमने कहा, एक ईमानदार उपयोगकर्ता अपने सभी निर्धारित निर्देशों का पालन करता है, जिसमें ऑनलाइन रहना भी शामिल है और प्रोटोकॉल चला रहा है। गणना के बाद से Algorand में यह कोई बड़ा बोझ नहीं है एक ईमानदार उपयोगकर्ता के लिए आवश्यक बैंडविड्थ काफी मामूली है। फिर भी, हम बता दें कि Algorand कर सकता है आसानी से संशोधित किया जा सकता है ताकि दो मॉडलों में काम किया जा सके, जिसमें ईमानदार उपयोगकर्ताओं को ऑनलाइन रहने की अनुमति है महान संख्या. इन दोनों मॉडलों पर चर्चा करने से पहले, आइए हम बताते हैं कि ईमानदार खिलाड़ियों का प्रतिशत क्या है 95% थे, Algorand को अभी भी h = 80% मानते हुए सभी पैरामीटर सेट करते हुए चलाया जा सकता है। तदनुसार, Algorand अधिकतम आधे ईमानदार खिलाड़ियों के बावजूद भी ठीक से काम करना जारी रखेगा कार्यालय में जाने का निर्णय लिया (वास्तव में, "अनुपस्थिति" का एक बड़ा मामला)। वास्तव में, कम से कम किसी भी समय ऑनलाइन 80% खिलाड़ी ईमानदार होंगे। निरंतर भागीदारी से लेकर आलसी ईमानदारी तक जैसा कि हमने देखा, Algorand ' 1 और Algorand' 2 चुनें लुक-बैक पैरामीटर k. आइए अब दिखाते हैं कि k को उचित रूप से बड़ा चुनने से उसे हटाने में मदद मिलती है सतत भागीदारी की आवश्यकता. यह आवश्यकता एक महत्वपूर्ण संपत्ति सुनिश्चित करती है: अर्थात्, अंतर्निहित बीए प्रोटोकॉल बीबीए के पास उचित ईमानदार बहुमत है। आइए अब बताते हैं कि कितना आलसी है ईमानदारी इस संपत्ति को संतुष्ट करने का एक वैकल्पिक और आकर्षक तरीका प्रदान करती है।
याद रखें कि एक उपयोगकर्ता i आलसी-लेकिन-ईमानदार है यदि (1) वह अपने सभी निर्धारित निर्देशों का पालन करता है उसे प्रोटोकॉल में भाग लेने के लिए कहा जाता है, और (2) उसे केवल प्रोटोकॉल में भाग लेने के लिए कहा जाता है बहुत ही कम - उदाहरण के लिए, सप्ताह में एक बार - उपयुक्त अग्रिम सूचना के साथ, और संभावित रूप से महत्वपूर्ण प्राप्त करने के साथ जब वह भाग लेता है तो पुरस्कार देता है। Algorand को ऐसे खिलाड़ियों के साथ काम करने की अनुमति देने के लिए, बस "सत्यापनकर्ताओं को चुनना" पर्याप्त है सिस्टम में पहले से मौजूद उपयोगकर्ताओं के बीच मौजूदा दौर बहुत पहले दौर में है।'' वास्तव में, उसे याद रखें राउंड आर के लिए सत्यापनकर्ताओं को राउंड आर -के में उपयोगकर्ताओं से चुना जाता है, और चयन इसके आधार पर किया जाता है मात्रा Qr−1 पर. ध्यान दें कि एक सप्ताह में लगभग 10,000 मिनट होते हैं, और मान लें कि a राउंड में लगभग (उदाहरण के लिए, औसतन) 5 मिनट लगते हैं, इसलिए एक सप्ताह में लगभग 2,000 राउंड होते हैं। मान लीजिये कि, किसी समय, एक उपयोगकर्ता मैं अपने समय की योजना बनाना चाहता हूं और जानना चाहता हूं कि वह होने वाला है या नहीं आने वाले सप्ताह में एक सत्यापनकर्ता। प्रोटोकॉल अब उपयोगकर्ताओं में से राउंड आर के लिए सत्यापनकर्ताओं को चुनता है राउंड r −k −2,000, और चयन Qr−2,001 पर आधारित हैं। राउंड आर में, खिलाड़ी को मैं पहले से ही जानता हूं मान Qr−2,000, . . . , Qr−1, क्योंकि वे वास्तव में blockchain का हिस्सा हैं। फिर, प्रत्येक एम के लिए 1 और 2,000 के बीच, मैं राउंड आर + एम के चरण एस में एक सत्यापनकर्ता हूं यदि और केवल यदि .एच सिगी आर + एम, एस, क्यूआर+एम−2,001 \(\leq\)p . इस प्रकार, यह जांचने के लिए कि क्या उसे अगले 2,000 राउंड में सत्यापनकर्ता के रूप में कार्य करने के लिए बुलाया जाएगा, मुझे यह करना होगा \(\sigma\)M,s की गणना करें मैं = सिगी आर + एम, एस, क्यूआर+एम−2,001 एम = 1 से 2,000 के लिए और प्रत्येक चरण के लिए, और जाँच करें चाहे .H(\(\sigma\)M,s मैं ) उनमें से कुछ के लिए \(\leq\)p। यदि डिजिटल हस्ताक्षर की गणना करने में एक मिलीसेकंड लगता है इस पूरे ऑपरेशन में उसे गणना करने में लगभग 1 मिनट का समय लगेगा। यदि उसे सत्यापनकर्ता के रूप में नहीं चुना गया है इनमें से किसी भी दौर में, वह "ईमानदार विवेक" के साथ ऑफ़लाइन हो सकता है। उसके पास लगातार था भाग लिया, वैसे भी उसने अगले 2,000 राउंड में अनिवार्य रूप से 0 कदम उठाए होंगे! यदि, इसके बजाय, उसे इन राउंड में से एक में सत्यापनकर्ता बनने के लिए चुना जाता है, फिर वह खुद को तैयार करता है (उदाहरण के लिए, सभी प्राप्त करके) आवश्यक जानकारी) उचित दौर में एक ईमानदार सत्यापनकर्ता के रूप में कार्य करने के लिए। ऐसा अभिनय करके, एक आलसी-लेकिन-ईमानदार संभावित सत्यापनकर्ता केवल प्रचार-प्रसार में भाग लेने से चूक जाता है संदेशों का. लेकिन संदेश प्रसार आम तौर पर मजबूत होता है। इसके अलावा, भुगतानकर्ता और प्राप्तकर्ता हाल ही में प्रचारित भुगतानों के ऑनलाइन होने की उम्मीद है ताकि यह देखा जा सके कि उनके भुगतानों का क्या होता है, और इस प्रकार यदि वे ईमानदार हैं, तो वे संदेश प्रसार में भाग लेंगे।
प्रोटोकॉल Algorand ′ ईमानदार बहुमत धन के साथ
अब हम अंततः यह दिखाएंगे कि अधिकांश उपयोगकर्ताओं की ईमानदार धारणा को और भी अधिक के साथ कैसे बदला जाए धन की सार्थक ईमानदार बहुमत धारणा। मूल विचार है (proof-of-stake स्वाद में) "एक उपयोगकर्ता का चयन करने के लिए i \(\in\)PKr−k जो SV r,s से संबंधित है, जिसका वजन (यानी, निर्णय शक्ति) आनुपातिक है i के स्वामित्व वाली धनराशि।"24 हमारी एचएमएम धारणा के अनुसार, हम यह चुन सकते हैं कि क्या उस राशि का स्वामित्व राउंड r −k पर होना चाहिए या (शुरुआत में) राउंड आर पर। यह मानते हुए कि हमें निरंतर भागीदारी से कोई आपत्ति नहीं है, हम इसका विकल्प चुनते हैं बाद वाला विकल्प. (निरंतर भागीदारी को हटाने के लिए, हमने पूर्व विकल्प को चुना होगा। बेहतर कहा गया है, राउंड आर −के −2,000 पर स्वामित्व वाली धनराशि के लिए।) इस विचार को लागू करने के कई तरीके हैं। सबसे सरल तरीका यह होगा कि प्रत्येक कुंजी को पकड़ कर रखा जाए अधिक से अधिक 1 यूनिट पैसे और फिर PKr−k से यादृच्छिक n उपयोगकर्ताओं का चयन करें जैसे कि a(r) मैं = 1. 24हमें निरंतर भागीदारी को प्रतिस्थापित करने के लिए PKr−k−2,000 कहना चाहिए। सरलता के लिए, चूँकि कोई आवश्यकता चाह सकता है वैसे भी निरंतर भागीदारी, हम पहले की तरह PKr−k का उपयोग करते हैं, ताकि एक पैरामीटर कम रखा जा सके।
अगला सरलतम कार्यान्वयन अगला सरल कार्यान्वयन यह मांग करना हो सकता है कि प्रत्येक सार्वजनिक कुंजी के पास अधिकतम राशि हो धन एम का, कुछ निश्चित एम के लिए। एम का मूल्य कुल राशि की तुलना में काफी छोटा है सिस्टम में पैसा, ऐसी संभावना कि एक कुंजी एक से अधिक के सत्यापनकर्ता सेट से संबंधित हो कदम बढ़ाना -कहना- k राउंड नगण्य है। फिर, एक कुंजी i \(\in\)PKr−k, जिसके पास धनराशि a(r) है मैं राउंड आर में, एसवी आर से संबंधित होने के लिए चुना गया है, यदि .एच सिगी आर, एस, क्यूआर−1 \(\leq\)पी \(\cdot\) ए(आर) मैं एम . और सब कुछ पहले की तरह चलता है। एक अधिक जटिल कार्यान्वयन अंतिम कार्यान्वयन ने "सिस्टम में एक अमीर भागीदार को कई चाबियाँ रखने के लिए मजबूर किया"। नीचे वर्णित एक वैकल्पिक कार्यान्वयन, स्थिति और विचार की धारणा को सामान्यीकृत करता है प्रत्येक उपयोगकर्ता i में K + 1 प्रतियां (i, v) शामिल हैं, जिनमें से प्रत्येक को स्वतंत्र रूप से सत्यापनकर्ता के रूप में चुना गया है, और उसकी अपनी क्षणिक कुंजी (पीकेआर,एस) होगी मैं, वी, एसकेआर, एस i,v) एक राउंड r के चरण s में। K का मान निर्भर करता है धन की राशि पर a(r) मैं दौर आर में मैं के स्वामित्व में। आइए अब अधिक विस्तार से देखें कि ऐसी प्रणाली कैसे काम करती है। प्रतियों की संख्या मान लीजिए n प्रत्येक सत्यापनकर्ता सेट की लक्षित अपेक्षित कार्डिनैलिटी है, और मान लीजिए a(r) मैं राउंड आर पर किसी उपयोगकर्ता के स्वामित्व वाली धनराशि हो। माना कि Ar स्वामित्व वाली कुल धनराशि है PKr−k में उपयोगकर्ताओं द्वारा राउंड r पर, अर्थात, अर= एक्स i\(\in\)P क्र−k ए(आर) मैं . यदि i PKr−k में एक उपयोगकर्ता है, तो i की प्रतियां (i, 1), हैं। . . , (i, K + 1), कहाँ के = $ एन \(\cdot\) ए(आर) मैं अर % . उदाहरण। माना n = 1,000, Ar = 109, और a(r) मैं = 3.7 मिलियन. फिर, के = 103 \(\cdot\) (3.7 \(\cdot\) 106) 109 = ⌊3.7⌋= 3 . सत्यापनकर्ता और क्रेडेंशियल मान लीजिए कि मैं K + 1 प्रतियों के साथ PKr−k में एक उपयोगकर्ता हूं। प्रत्येक v = 1 के लिए। . . , K, कॉपी (i, v) स्वचालित रूप से SV r,s से संबंधित है। यानी कि आई का क्रेडेंशियल है \(\sigma\)r,s i,v \(\triangleq\)SIGi((i, v), r, s, Qr−1), लेकिन संबंधित स्थिति .H(\(\sigma\)r,s) बन जाती है i,v) \(\leq\)1, जो है हमेशा सच. कॉपी (i, K + 1) के लिए, राउंड आर के प्रत्येक चरण के लिए, मैं जाँच करता हूँ कि क्या .एच सिगी (i, K + 1), r, s, Qr−1 \(\leq\)ए(आर) मैं एन अर −K .
यदि हां, तो कॉपी (i, K + 1) SV r,s से संबंधित है। इसे साबित करने के लिए, मैं क्रेडेंशियल का प्रचार करता हूं \(\sigma\)r,1 i,K+1 = SIGi (i, K + 1), r, s, Qr−1 . उदाहरण। पिछले उदाहरण की तरह, मान लीजिए n = 1K, a(r) मैं = 3.7एम, एआर = 1बी, और मेरे पास 4 है प्रतिलिपियाँ: (i, 1), . . . , (i, 4). फिर, पहली 3 प्रतियां स्वचालित रूप से एसवी आर,एस की हो जाती हैं। चौथे के लिए, संकल्पनात्मक रूप से, Algorand 'स्वतंत्र रूप से एक पक्षपाती सिक्का उछालता है, जिसके शीर्ष की संभावना 0.7 है। प्रतिलिपि (i, 4) तभी चुना जाता है जब सिक्का उछाला जाता है और हेड होता है। (बेशक, यह पक्षपाती सिक्का फ़्लिप hashइंग, हस्ताक्षर और तुलना द्वारा कार्यान्वित किया जाता है - जैसा कि हम मैंने इस पेपर में सब कुछ किया है - ताकि मैं उसके परिणाम को साबित करने में सक्षम हो सकूं।) हमेशा की तरह व्यवसाय यह समझाने के बाद कि सत्यापनकर्ताओं का चयन कैसे किया जाता है और उनकी साख कैसे होती है राउंड आर के प्रत्येक चरण पर गणना की गई, राउंड का निष्पादन पहले से बताए गए के समान है।
Fork को संभालना
कांटे की संभावना को 10−12 या 10−18 तक कम करने के बाद, इसे संभालना व्यावहारिक रूप से अनावश्यक है उनके घटित होने की दूर-दूर तक सम्भावना है। हालाँकि, Algorand विभिन्न कांटे भी नियोजित कर सकता है समाधान प्रक्रियाएँ, कार्य के प्रमाण के साथ या उसके बिना। उपयोगकर्ताओं को फोर्क्स को हल करने का निर्देश देने का एक संभावित तरीका इस प्रकार है: • यदि कोई उपयोगकर्ता एकाधिक श्रृंखलाएँ देखता है तो सबसे लंबी श्रृंखला का अनुसरण करें। • यदि एक से अधिक लंबी श्रृंखलाएं हैं, तो अंत में एक गैर-रिक्त ब्लॉक वाली श्रृंखला का अनुसरण करें। यदि उन सभी के अंत में खाली ब्लॉक हैं, उनके दूसरे-अंतिम ब्लॉक पर विचार करें। • यदि अंत में गैर-रिक्त ब्लॉकों के साथ एक से अधिक लंबी श्रृंखलाएं हैं, तो मान लें कि श्रृंखलाएं हैं लंबाई r का, उस व्यक्ति का अनुसरण करें जिसके ब्लॉक r के नेता की साख सबसे छोटी है। यदि संबंध हैं, उसका अनुसरण करें जिसके ब्लॉक r में सबसे छोटा hash मान है। यदि अभी भी संबंध हैं, तो इसका पालन करें वह जिसका ब्लॉक आर को पहले शब्दकोषीय रूप से क्रमबद्ध किया गया है।
नेटवर्क विभाजन को संभालना
जैसा कि कहा गया है, हम मानते हैं कि नेटवर्क में सभी उपयोगकर्ताओं के बीच संदेशों का प्रसार समय \(\lambda\) और Λ द्वारा ऊपरी सीमा पर है। यह कोई मजबूत धारणा नहीं है, क्योंकि आज का इंटरनेट तेज़ और मजबूत है, और इन मापदंडों के वास्तविक मूल्य काफी उचित हैं। यहां, हम बता दें कि Algorand ' 2 भले ही इंटरनेट कभी-कभी दो भागों में विभाजित हो जाए तब भी काम करना जारी रखता है। मामला जब इंटरनेट को दो से अधिक भागों में विभाजित किया गया है। 10.1 भौतिक विभाजन सबसे पहले, विभाजन भौतिक कारणों से हो सकता है। उदाहरण के लिए, कोई बड़ा भूकम्प आ सकता है अंततः यूरोप और अमेरिका के बीच संबंध पूरी तरह से टूट जाएगा। इस मामले में, दुर्भावनापूर्ण उपयोगकर्ता भी विभाजित हो जाते हैं और दोनों भागों के बीच कोई संचार नहीं होता है। इस प्रकार
वहाँ दो शत्रु होंगे, एक भाग 1 के लिए और दूसरा भाग 2 के लिए। प्रत्येक शत्रु अभी भी प्रयास करता है प्रोटोकॉल को अपने ही हिस्से में तोड़ें. मान लीजिए कि विभाजन गोल आर के मध्य में होता है। फिर भी प्रत्येक उपयोगकर्ता को एक के रूप में चुना जाता है PKr−k पर आधारित सत्यापनकर्ता, पहले जैसी ही संभावना के साथ। मान लीजिए एचएसवी आर, एस मैं और एमएसवी आर,एस मैं क्रमशः भाग i \(\in\){1, 2} के चरण s में ईमानदार और दुर्भावनापूर्ण सत्यापनकर्ताओं का समूह बनें। हमारे पास है |एचएसवी आर,एस 1 | + |एमएसवी आर,एस 1 | + |एचएसवी आर,एस 2 | + |एमएसवी आर,एस 2 | = |एचएसवी आर,एस| + |एमएसवी आर,एस| ध्यान दें कि |HSV r,s| + |एमएसवी आर,एस| < |एचएसवी आर,एस| + 2|एमएसवी आर,एस| <2टीएच अत्यधिक संभावना के साथ। यदि कुछ भाग मेरे पास है |HSV r,s मैं | + |एमएसवी आर,एस मैं | \(\geq\)tH गैर-नगण्य संभावना के साथ, उदाहरण के लिए, 1%, फिर संभावना है कि |HSV r,s 3−i| + |एमएसवी आर,एस 3−i| \(\geq\)tH बहुत कम है, उदाहरण के लिए, 10−16 जब F = 10−18 है। इस मामले में, हम छोटे हिस्से को भी ऑफ़लाइन मान सकते हैं, क्योंकि इसमें पर्याप्त सत्यापनकर्ता नहीं होंगे यह भाग किसी ब्लॉक को प्रमाणित करने के लिए TH हस्ताक्षर उत्पन्न करता है। आइए व्यापकता को खोए बिना बड़े भाग, मान लीजिए भाग 1 पर विचार करें। हालाँकि |एचएसवी आर,एस| < प्रत्येक चरण s में नगण्य संभावना के साथ, जब नेटवर्क विभाजित होता है, |HSV r,s 1 | हो सकता है कुछ गैर-नगण्य संभावना के साथ tH से कम। इस मामले में, प्रतिद्वंद्वी कुछ के साथ हो सकता है अन्य गैर-नगण्य संभावना, बाइनरी बीए प्रोटोकॉल को एक गैर-खाली ब्लॉक बीआर और खाली ब्लॉक बीआर के साथ राउंड आर में एक कांटा में मजबूर करें ǫ दोनों के पास वैध हस्ताक्षर हैं।25 उदाहरण के लिए, ए में कॉइन-फिक्स्ड-टू-0 चरण एस, एचएसवी आर, एस में सभी सत्यापनकर्ता 1 बिट 0 और H(Br) के लिए हस्ताक्षर किए, और उनका प्रचार किया संदेश. MSV r,s में सभी सत्यापनकर्ता 1 0 और H(Br) पर भी हस्ताक्षर किए, लेकिन उनके संदेशों को रोक दिया। क्योंकि |एचएसवी आर,एस 1 | + |एमएसवी आर,एस 1 | \(\geq\)tH, सिस्टम में Br को प्रमाणित करने के लिए पर्याप्त हस्ताक्षर हैं। हालाँकि, जब से दुर्भावनापूर्ण सत्यापनकर्ताओं ने अपने हस्ताक्षर रोक लिए, उपयोगकर्ता चरण s + 1 दर्ज करते हैं, जो एक कॉइन-फिक्स्ड-टू1 चरण है। क्योंकि |एचएसवी आर,एस 1 | < tH विभाजन के कारण, HSV r,s+1 में सत्यापनकर्ता 1 नहीं देखा बिट 0 के लिए हस्ताक्षर और उन सभी ने बिट 1 के लिए हस्ताक्षर किए। MSV r,s+1 में सभी सत्यापनकर्ता 1 वैसा ही किया. क्योंकि |एचएसवी आर,एस+1 1 | + |एमएसवी आर,एस+1 1 | \(\geq\)tH, सिस्टम में Br को प्रमाणित करने के लिए पर्याप्त हस्ताक्षर हैं .. . विरोधी फिर MSV r,s के हस्ताक्षर जारी करके एक कांटा बनाता है 1 0 और H(Br) के लिए। तदनुसार, दो क्यूआर होंगे, जो राउंड आर के संबंधित ब्लॉकों द्वारा परिभाषित होंगे। हालाँकि, कांटा जारी नहीं रहेगा और दो शाखाओं में से केवल एक ही राउंड आर + 1 में बढ़ सकती है। Algorand के लिए अतिरिक्त निर्देश ' 2. एक गैर-रिक्त ब्लॉक Br और खाली देखते समय ब्लॉक ब्र ǫ, गैर-रिक्त वाले का अनुसरण करें (और इसके द्वारा परिभाषित Qr)। दरअसल, उपयोगकर्ताओं को प्रोटोकॉल में गैर-रिक्त ब्लॉक के साथ जाने का निर्देश देकर, यदि कोई बड़ा हो PKr+1−k में ईमानदार उपयोगकर्ताओं की संख्या को एहसास होता है कि राउंड r +1 की शुरुआत में एक कांटा है, फिर खाली ब्लॉक में पर्याप्त अनुयायी नहीं होंगे और वृद्धि नहीं होगी। मान लें कि प्रतिद्वंद्वी सफल हो जाता है ईमानदार उपयोगकर्ताओं को विभाजित करें ताकि कुछ ईमानदार उपयोगकर्ता Br (और शायद Br) देख सकें ǫ), और कुछ केवल देखते हैं ब्र .. . क्योंकि विरोधी यह नहीं बता सकता कि उनमें से कौन ब्र का अनुसरण करने वाला सत्यापनकर्ता होगा और कौन सा ब्र का अनुसरण करने वाला एक सत्यापनकर्ता होगा ǫ, ईमानदार उपयोगकर्ताओं को बेतरतीब ढंग से विभाजित किया गया है और उनमें से प्रत्येक अभी भी है एक सत्यापनकर्ता बन जाता है (या तो Br के संबंध में या Br के संबंध में)। ǫ) संभाव्यता के साथ एक चरण s > 1 में पी. दुर्भावनापूर्ण उपयोगकर्ताओं के लिए, उनमें से प्रत्येक के पास सत्यापनकर्ता बनने के दो मौके हो सकते हैं, एक के साथ ब्र और दूसरा ब्र के साथ , प्रत्येक स्वतंत्र रूप से संभाव्यता पी के साथ। मान लीजिए HSV r+1,s है 1;ब्र ब्र के बाद राउंड आर+1 के चरण एस में ईमानदार सत्यापनकर्ताओं का सेट बनें। अन्य संकेतन जैसे एचएसवी आर+1,एस 1;ब्रू , एमएसवी आर+1,एस 1;ब्र और एमएसवी आर+1,एस 1;ब्रू समान रूप से परिभाषित हैं। चेर्नोफ़िबाउंड द्वारा, यह आसान है 25दो गैर-रिक्त ब्लॉकों के साथ एक कांटा रखना नगण्य को छोड़कर, विभाजन के साथ या उसके बिना संभव नहीं है संभाव्यता.यह देखने के लिए कि अत्यधिक संभावना के साथ, |एचएसवी आर+1,एस 1;ब्र | + |एचएसवी आर+1,एस 1;ब्रू | + |एमएसवी आर+1,एस 1;ब्र | + |एमएसवी आर+1,एस 1;ब्रू | <2टीएच. तदनुसार, दोनों शाखाओं में राउंड के लिए ब्लॉक को प्रमाणित करने वाले उचित हस्ताक्षर नहीं हो सकते हैं एक ही चरण में r + 1। इसके अलावा, चूँकि दो चरणों s और s' के लिए चयन संभावनाएँ हैं वही और चयन स्वतंत्र हैं, अत्यधिक संभावना के साथ भी |एचएसवी आर+1,एस 1;ब्र | + |एमएसवी आर+1,एस 1;ब्र | + |एचएसवी आर+1,एस′ 1;ब्रू | + |एमएसवी आर+1,एस′ 1;ब्रू | < 2टीएच, किन्हीं दो चरणों s और s' के लिए। जब एफ = 10−18, संघ द्वारा बाध्य, जब तक कि प्रतिद्वंद्वी ऐसा नहीं कर सकता ईमानदार उपयोगकर्ताओं को लंबे समय तक विभाजित करें (मान लीजिए 104 चरण, जो \(\lambda\) = 10 के साथ 55 घंटे से अधिक है) सेकंड26), उच्च संभावना के साथ (मान लीजिए 1−10−10) अधिकतम एक शाखा में उचित हस्ताक्षर होंगे राउंड आर + 1 में एक ब्लॉक को प्रमाणित करने के लिए। अंत में, यदि भौतिक विभाजन ने लगभग समान आकार के दो भाग बनाए हैं, तो संभावना है कि |HSV r,s मैं | + |एमएसवी आर,एस मैं | \(\geq\)tH प्रत्येक भाग i के लिए छोटा है। इसी तरह के विश्लेषण के बाद, भले ही प्रतिद्वंद्वी प्रत्येक भाग में कुछ गैर-नगण्य संभावना के साथ एक कांटा बनाने में कामयाब हो जाए राउंड आर के लिए, राउंड आर + 1 में चार शाखाओं में से अधिकतम एक शाखा बढ़ सकती है। 10.2 प्रतिकूल विभाजन दूसरा, विभाजन विरोधी के कारण हो सकता है, ताकि संदेश प्रसारित हो सकें एक भाग के ईमानदार उपयोगकर्ताओं द्वारा सीधे दूसरे भाग के ईमानदार उपयोगकर्ताओं तक नहीं पहुँचेगा, लेकिन विरोधी दो भागों के बीच संदेश अग्रेषित करने में सक्षम है। फिर भी एक बार एक का सन्देश एक हिस्सा दूसरे हिस्से में एक ईमानदार उपयोगकर्ता तक पहुंचता है, इसे बाद में हमेशा की तरह प्रचारित किया जाएगा। यदि विरोधी बहुत सारा पैसा खर्च करने को तैयार है, यह संभव है कि वह हैक करने में सक्षम हो इंटरनेट और इसे कुछ देर के लिए इस तरह से विभाजित करें। विश्लेषण उपरोक्त भौतिक विभाजन (छोटे हिस्से) के बड़े हिस्से के समान है भाग को जनसंख्या 0 के रूप में माना जा सकता है): प्रतिद्वंद्वी एक कांटा बनाने में सक्षम हो सकता है प्रत्येक ईमानदार उपयोगकर्ता केवल एक शाखा देखता है, लेकिन अधिकतम एक शाखा बढ़ सकती है। 10.3 योग में नेटवर्क विभाजन हालाँकि नेटवर्क विभाजन हो सकता है और विभाजन के तहत एक दौर में एक कांटा हो सकता है कोई लंबे समय तक रहने वाली अस्पष्टता नहीं है: एक कांटा बहुत अल्पकालिक होता है, और वास्तव में अधिकतम एक दौर तक ही रहता है। में अधिकतम एक को छोड़कर विभाजन के सभी हिस्सों में, उपयोगकर्ता एक नया ब्लॉक उत्पन्न नहीं कर सकते हैं और इस प्रकार (ए) एहसास करें कि नेटवर्क में एक विभाजन है और (बी) कभी भी उन ब्लॉकों पर भरोसा न करें जो "गायब" हो जाएंगे। आभार हम सबसे पहले उद्धृत डेमोकॉइन प्रणाली के सह-लेखक सर्गेई गोर्बुनोव को धन्यवाद देना चाहेंगे। कई ज्ञानवर्धक चर्चाओं के लिए, इंगित करने के लिए मौरिस हेर्लिही को हार्दिक धन्यवाद पाइपलाइनिंग से Algorand के थ्रूपुट प्रदर्शन में सुधार होगा, और काफी सुधार होगा 26 ध्यान दें कि एक उपयोगकर्ता 2\(\lambda\) समय की प्रतीक्षा किए बिना एक चरण पूरा करता है, यदि उसने कम से कम TH हस्ताक्षर देखे हों वही संदेश. जब पर्याप्त हस्ताक्षर नहीं होंगे, तो प्रत्येक चरण 2\(\lambda\) समय तक चलेगा।
इस पेपर के पुराने संस्करण का प्रदर्शन। सर्जियो राज्सबाम को उनकी टिप्पणियों के लिए बहुत धन्यवाद इस पेपर का एक पुराना संस्करण. कई गहन चर्चाओं के लिए विनोद वैकुंठनाथन को बहुत धन्यवाद और अंतर्दृष्टि. योसी गिलाद, रोटेम हामो, जॉर्जियोस व्लाचोस और निकोलाई ज़ेल्डोविच को बहुत धन्यवाद इन विचारों का परीक्षण शुरू करने के लिए, और कई उपयोगी टिप्पणियों और चर्चाओं के लिए। सिल्वियो मिकाली असंख्य चर्चाओं और मार्गदर्शन के लिए रॉन रिवेस्ट को व्यक्तिगत रूप से धन्यवाद देना चाहते हैं उद्धृत माइक्रोपेमेंट प्रणाली के सह-लेखन के लिए 3 दशकों से अधिक समय से क्रिप्टोग्राफ़िक अनुसंधान में जिसने Algorand के सत्यापनकर्ता चयन तंत्रों में से एक को प्रेरित किया है। हम इस तकनीक को अगले स्तर पर लाने की उम्मीद करते हैं। इस बीच यात्रा और साथ बहुत मज़ेदार हैं, जिसके लिए हम बहुत आभारी हैं।
अक्सर पूछे जाने वाले सवाल
- Algorand का whitepaper क्या है?
- Algorand का whitepaper, जिसका शीर्षक 'Algorand: Scaling Byzantine Agreements for Cryptocurrencies' है, 2017 में Jing Chen और Silvio Micali ने प्रकाशित किया। यह forking के बिना instant finality प्राप्त करने वाला एक pure proof-of-stake प्रोटोकॉल प्रस्तुत करता है।
- Algorand का whitepaper किसने और कब लिखा?
- Algorand का whitepaper MIT के Turing Award-winning cryptographer Silvio Micali और Jing Chen ने सह-लिखा। यह पहली बार 2017 में एक शोध पेपर के रूप में प्रकाशित हुआ था।
- Algorand की मूल तकनीकी नवीनता क्या है?
- Algorand की मूल नवीनता secret, random committee selection के लिए Verifiable Random Functions (VRF) का उपयोग है। प्रत्येक ब्लॉक को cryptographic sortition के माध्यम से चुनी गई committees द्वारा propose और vote किया जाता है, जिससे advance में committee members को target करना असंभव हो जाता है।
- Algorand का सहमति तंत्र कैसे काम करता है?
- Algorand cryptographic sortition के साथ Pure Proof of Stake (PPoS) का उपयोग करता है। प्रत्येक ब्लॉक के लिए, एक proposer और voting committee को stake weight के आधार पर VRF के माध्यम से secretly चुना जाता है। Committee members इसे locally verify करते हैं, targeted attacks को रोकते हैं। Finality ~3.3 सेकंड में होती है।
- Algorand अन्य PoS chains से कैसे अलग है?
- Algorand immediate finality प्राप्त करता है — blocks को fork नहीं किया जा सकता। Ethereum के PoS के विपरीत (जिसमें epochs हैं और reorganize हो सकता है), Algorand की सहमति गारंटी देती है कि एक बार block confirm हो जाने पर, यह final है। Participation के लिए कोई minimum stake आवश्यक नहीं है।
- Algorand का आपूर्ति मॉडल क्या है?
- Algorand की 10 अरब ALGO की निश्चित आपूर्ति है, सभी genesis पर mint की गई। वितरण एक accelerated vesting schedule का पालन करता है। Participation rewards और governance rewards ALGO धारकों को नेटवर्क को सुरक्षित करने और governance में भाग लेने के लिए प्रोत्साहित करते हैं।
- Algorand के प्राथमिक उपयोग के मामले क्या हैं?
- Algorand का उपयोग digital asset issuance, DeFi, real-world asset tokenization, CBDCs (जैसे Marshall Islands SOV), carbon credit markets, और instant finality और regulatory compliance की आवश्यकता वाले एंटरप्राइज़ applications के लिए किया जाता है।
- Algorand किस समस्या का समाधान करता है?
- Algorand एक साथ security, scalability और decentralization प्राप्त करके ब्लॉकचेन trilemma को हल करता है। इसका VRF-based committee selection decentralization सुनिश्चित करता है, instant finality सुरक्षा प्रदान करती है, और parallel processing scalability को सक्षम बनाता है।
- Algorand का सुरक्षा मॉडल कैसे काम करता है?
- Algorand की सुरक्षा इस assumption पर आधारित है कि दो-तिहाई stake ईमानदार participants के पास है। VRF-based committee selection vote cast होने तक secret रहता है, जिससे targeted attacks computationally infeasible हो जाते हैं।
- Algorand इकोसिस्टम की वर्तमान स्थिति क्या है?
- Algorand के इकोसिस्टम में DeFi प्रोटोकॉल (Folks Finance, Tinyman), NFT प्लेटफॉर्म और एंटरप्राइज़ partnerships शामिल हैं। AVM (Algorand Virtual Machine) smart contracts का समर्थन करता है, और State Proofs फीचर trustless cross-chain communication को सक्षम बनाता है।