अनुप्रमाणन
प्रत्येक एपॉक के दौरान एक सत्यापक से अनुप्रमाणन बनाने, हस्ताक्षर करने और प्रसारित करने की अपेक्षा की जाती है। यह पृष्ठ रूपरेखा देता है कि ये अनुप्रमाणन कैसे दिखते हैं और सर्वसम्मति क्लाइंट्स के बीच उन्हें कैसे संसाधित और संप्रेषित किया जाता है।
अनुप्रमाणन क्या है?
प्रत्येक (6.4 मिनट) में एक सत्यापक नेटवर्क को एक अनुप्रमाणन प्रस्तावित करता है। अनुप्रमाणन एपॉक में एक विशिष्ट स्लॉट के लिए होता है। अनुप्रमाणन का उद्देश्य चेन के बारे में सत्यापक के दृष्टिकोण के पक्ष में वोट करना है, विशेष रूप से सबसे हालिया औचित्य-सिद्ध ब्लॉक और वर्तमान एपॉक में पहले ब्लॉक (जिन्हें source और target चेकपॉइंट के रूप में जाना जाता है) के लिए। यह जानकारी सभी भाग लेने वाले सत्यापकों के लिए संयोजित की जाती है, जिससे नेटवर्क ब्लॉकचेन की स्थिति के बारे में सर्वसम्मति तक पहुंच सकता है।
अनुप्रमाणन में निम्नलिखित घटक होते हैं:
aggregation_bits: सत्यापकों की एक बिटलिस्ट जहां स्थिति उनकी समिति में सत्यापक सूचकांक को मैप करती है; मान (0/1) इंगित करता है कि क्या सत्यापक नेdataपर हस्ताक्षर किए हैं (यानी, क्या वे सक्रिय हैं और ब्लॉक प्रस्तावक से सहमत हैं)data: अनुप्रमाणन से संबंधित विवरण, जैसा कि नीचे परिभाषित किया गया हैsignature: एक BLS हस्ताक्षर जो व्यक्तिगत सत्यापकों के हस्ताक्षरों को एकत्रित करता है
अनुप्रमाणित करने वाले सत्यापक के लिए पहला कार्य data बनाना है। data में निम्नलिखित जानकारी होती है:
slot: वह स्लॉट नंबर जिसे अनुप्रमाणन संदर्भित करता हैindex: एक संख्या जो यह पहचानती है कि किसी दिए गए स्लॉट में सत्यापक किस समिति से संबंधित हैbeacon_block_root: उस ब्लॉक का रूट हैश जिसे सत्यापक चेन के शीर्ष पर देखता है (फ़ोर्क-चॉइस एल्गोरिदम लागू करने का परिणाम)source: अंतिमता वोट का हिस्सा जो यह दर्शाता है कि सत्यापक सबसे हालिया औचित्य-सिद्ध ब्लॉक के रूप में क्या देखते हैंtarget: अंतिमता वोट का हिस्सा जो यह दर्शाता है कि सत्यापक वर्तमान एपॉक में पहले ब्लॉक के रूप में क्या देखते हैं
एक बार data बन जाने के बाद, सत्यापक यह दिखाने के लिए कि उन्होंने भाग लिया है, अपने स्वयं के सत्यापक सूचकांक के अनुरूप aggregation_bits में बिट को 0 से 1 में बदल सकता है।
अंत में, सत्यापक अनुप्रमाणन पर हस्ताक्षर करता है और इसे नेटवर्क पर प्रसारित करता है।
एकत्रित अनुप्रमाणन
प्रत्येक सत्यापक के लिए इस डेटा को नेटवर्क के चारों ओर पास करने से जुड़ा एक बड़ा ओवरहेड है। इसलिए, व्यक्तिगत सत्यापकों के अनुप्रमाणन को अधिक व्यापक रूप से प्रसारित होने से पहले सबनेट के भीतर एकत्रित किया जाता है। इसमें हस्ताक्षरों को एक साथ एकत्रित करना शामिल है ताकि प्रसारित होने वाले अनुप्रमाणन में सर्वसम्मति data और उस data से सहमत सभी सत्यापकों के हस्ताक्षरों को मिलाकर बनाया गया एक एकल हस्ताक्षर शामिल हो। इसे aggregation_bits का उपयोग करके जांचा जा सकता है क्योंकि यह उनकी समिति में प्रत्येक सत्यापक का सूचकांक प्रदान करता है (जिसकी आईडी data में प्रदान की गई है) जिसका उपयोग व्यक्तिगत हस्ताक्षरों को क्वेरी करने के लिए किया जा सकता है।
प्रत्येक एपॉक में प्रत्येक सबनेट में 16 सत्यापकों को aggregators के रूप में चुना जाता है। एग्रीगेटर गॉसिप नेटवर्क पर सुने गए उन सभी अनुप्रमाणनों को एकत्र करते हैं जिनका data उनके अपने के समान होता है। प्रत्येक मेल खाने वाले अनुप्रमाणन के प्रेषक को aggregation_bits में रिकॉर्ड किया जाता है। फिर एग्रीगेटर अनुप्रमाणन एग्रीगेट को व्यापक नेटवर्क पर प्रसारित करते हैं।
जब किसी सत्यापक को ब्लॉक प्रस्तावक के रूप में चुना जाता है, तो वे नए ब्लॉक में नवीनतम स्लॉट तक सबनेट से एग्रीगेट अनुप्रमाणनों को पैकेज करते हैं।
अनुप्रमाणन समावेशन जीवनचक्र
- निर्माण
- प्रसार
- एकत्रीकरण
- प्रसार
- समावेशन
अनुप्रमाणन जीवनचक्र को नीचे दिए गए योजनाबद्ध चित्र में रेखांकित किया गया है:
पुरस्कार
सत्यापकों को अनुप्रमाणन प्रस्तुत करने के लिए पुरस्कृत किया जाता है। अनुप्रमाणन पुरस्कार भागीदारी फ़्लैग (स्रोत, लक्ष्य और शीर्ष), आधार पुरस्कार और भागीदारी दर पर निर्भर करता है।
प्रस्तुत अनुप्रमाणन और उसके समावेशन विलंब के आधार पर, प्रत्येक भागीदारी फ़्लैग सही (true) या गलत (false) हो सकता है।
सबसे अच्छा परिदृश्य तब होता है जब तीनों फ़्लैग सही होते हैं, इस स्थिति में एक सत्यापक कमाएगा (प्रति सही फ़्लैग):
reward += base reward * flag weight * flag attesting rate / 64
फ़्लैग अनुप्रमाणन दर को कुल सक्रिय प्रभावी शेष की तुलना में दिए गए फ़्लैग के लिए सभी अनुप्रमाणित करने वाले सत्यापकों के प्रभावी शेष के योग का उपयोग करके मापा जाता है।
आधार पुरस्कार
आधार पुरस्कार की गणना अनुप्रमाणित करने वाले सत्यापकों की संख्या और उनके प्रभावी स्टेक किए गए ईथर शेष के अनुसार की जाती है:
base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)
समावेशन विलंब
उस समय जब सत्यापकों ने चेन के शीर्ष (block n) पर वोट किया था, block n+1 अभी तक प्रस्तावित नहीं किया गया था। इसलिए अनुप्रमाणन स्वाभाविक रूप से एक ब्लॉक बाद शामिल हो जाते हैं, इसलिए वे सभी अनुप्रमाणन जिन्होंने block n के चेन शीर्ष होने पर वोट किया था, block n+1 में शामिल हो गए और, समावेशन विलंब 1 है। यदि समावेशन विलंब दोगुना होकर दो स्लॉट हो जाता है, तो अनुप्रमाणन पुरस्कार आधा हो जाता है, क्योंकि अनुप्रमाणन पुरस्कार की गणना करने के लिए आधार पुरस्कार को समावेशन विलंब के व्युत्क्रम (reciprocal) से गुणा किया जाता है।
अनुप्रमाणन परिदृश्य
लापता वोटिंग सत्यापक
सत्यापकों के पास अपना अनुप्रमाणन प्रस्तुत करने के लिए अधिकतम 1 एपॉक होता है। यदि एपॉक 0 में अनुप्रमाणन छूट गया था, तो वे इसे एपॉक 1 में समावेशन विलंब के साथ प्रस्तुत कर सकते हैं।
लापता एग्रीगेटर
प्रति एपॉक कुल 16 एग्रीगेटर होते हैं। इसके अलावा, यादृच्छिक सत्यापक 256 एपॉक के लिए दो सबनेट की सदस्यता लेते हैं और एग्रीगेटर के लापता होने की स्थिति में बैकअप के रूप में काम करते हैं।
लापता ब्लॉक प्रस्तावक
ध्यान दें कि कुछ मामलों में एक भाग्यशाली एग्रीगेटर ब्लॉक प्रस्तावक भी बन सकता है। यदि अनुप्रमाणन शामिल नहीं किया गया था क्योंकि ब्लॉक प्रस्तावक लापता हो गया है, तो अगला ब्लॉक प्रस्तावक एकत्रित अनुप्रमाणन को उठाएगा और इसे अगले ब्लॉक में शामिल करेगा। हालाँकि, समावेशन विलंब एक बढ़ जाएगा।
आगे की पढ़ाई
- विटालिक के एनोटेटेड सर्वसम्मति स्पेक में अनुप्रमाणन (opens in a new tab)
- eth2book.info में अनुप्रमाणन (opens in a new tab)
क्या आप किसी ऐसे सामुदायिक संसाधन के बारे में जानते हैं जिसने आपकी मदद की? इस पृष्ठ को संपादित करें और इसे जोड़ें!
