---
title: "अनुप्रमाणन"
description: "प्रूफ़-ऑफ़-स्टेक एथेरियम पर अनुप्रमाणन का विवरण।"
lang: hi
---

प्रत्येक एपॉक के दौरान एक सत्यापक से अनुप्रमाणन बनाने, हस्ताक्षर करने और प्रसारित करने की अपेक्षा की जाती है। यह पृष्ठ रूपरेखा देता है कि ये अनुप्रमाणन कैसे दिखते हैं और सर्वसम्मति क्लाइंट्स के बीच उन्हें कैसे संसाधित और संप्रेषित किया जाता है।

## अनुप्रमाणन क्या है? {#what-is-an-attestation}

प्रत्येक [एपॉक](/glossary/#epoch) (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 में बदल सकता है।

अंत में, सत्यापक अनुप्रमाणन पर हस्ताक्षर करता है और इसे नेटवर्क पर प्रसारित करता है।

### एकत्रित अनुप्रमाणन {#aggregated-attestation}

प्रत्येक सत्यापक के लिए इस डेटा को नेटवर्क के चारों ओर पास करने से जुड़ा एक बड़ा ओवरहेड है। इसलिए, व्यक्तिगत सत्यापकों के अनुप्रमाणन को अधिक व्यापक रूप से प्रसारित होने से पहले सबनेट के भीतर एकत्रित किया जाता है। इसमें हस्ताक्षरों को एक साथ एकत्रित करना शामिल है ताकि प्रसारित होने वाले अनुप्रमाणन में सर्वसम्मति `data` और उस `data` से सहमत सभी सत्यापकों के हस्ताक्षरों को मिलाकर बनाया गया एक एकल हस्ताक्षर शामिल हो। इसे `aggregation_bits` का उपयोग करके जांचा जा सकता है क्योंकि यह उनकी समिति में प्रत्येक सत्यापक का सूचकांक प्रदान करता है (जिसकी आईडी `data` में प्रदान की गई है) जिसका उपयोग व्यक्तिगत हस्ताक्षरों को क्वेरी करने के लिए किया जा सकता है।

प्रत्येक एपॉक में प्रत्येक सबनेट में 16 सत्यापकों को `aggregators` के रूप में चुना जाता है। एग्रीगेटर गॉसिप नेटवर्क पर सुने गए उन सभी अनुप्रमाणनों को एकत्र करते हैं जिनका `data` उनके अपने के समान होता है। प्रत्येक मेल खाने वाले अनुप्रमाणन के प्रेषक को `aggregation_bits` में रिकॉर्ड किया जाता है। फिर एग्रीगेटर अनुप्रमाणन एग्रीगेट को व्यापक नेटवर्क पर प्रसारित करते हैं।

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

### अनुप्रमाणन समावेशन जीवनचक्र {#attestation-inclusion-lifecycle}

1. निर्माण
2. प्रसार
3. एकत्रीकरण
4. प्रसार
5. समावेशन

अनुप्रमाणन जीवनचक्र को नीचे दिए गए योजनाबद्ध चित्र में रेखांकित किया गया है:

![attestation lifecycle](./attestation_schematic.png)

## पुरस्कार {#rewards}

सत्यापकों को अनुप्रमाणन प्रस्तुत करने के लिए पुरस्कृत किया जाता है। अनुप्रमाणन पुरस्कार भागीदारी फ़्लैग (स्रोत, लक्ष्य और शीर्ष), आधार पुरस्कार और भागीदारी दर पर निर्भर करता है।

प्रस्तुत अनुप्रमाणन और उसके समावेशन विलंब के आधार पर, प्रत्येक भागीदारी फ़्लैग सही (true) या गलत (false) हो सकता है।

सबसे अच्छा परिदृश्य तब होता है जब तीनों फ़्लैग सही होते हैं, इस स्थिति में एक सत्यापक कमाएगा (प्रति सही फ़्लैग):

`reward += base reward * flag weight * flag attesting rate / 64`

फ़्लैग अनुप्रमाणन दर को कुल सक्रिय प्रभावी शेष की तुलना में दिए गए फ़्लैग के लिए सभी अनुप्रमाणित करने वाले सत्यापकों के प्रभावी शेष के योग का उपयोग करके मापा जाता है।

### आधार पुरस्कार {#base-reward}

आधार पुरस्कार की गणना अनुप्रमाणित करने वाले सत्यापकों की संख्या और उनके प्रभावी स्टेक किए गए ईथर शेष के अनुसार की जाती है:

`base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)`

#### समावेशन विलंब {#inclusion-delay}

उस समय जब सत्यापकों ने चेन के शीर्ष (`block n`) पर वोट किया था, `block n+1` अभी तक प्रस्तावित नहीं किया गया था। इसलिए अनुप्रमाणन स्वाभाविक रूप से **एक ब्लॉक बाद** शामिल हो जाते हैं, इसलिए वे सभी अनुप्रमाणन जिन्होंने `block n` के चेन शीर्ष होने पर वोट किया था, `block n+1` में शामिल हो गए और, **समावेशन विलंब** 1 है। यदि समावेशन विलंब दोगुना होकर दो स्लॉट हो जाता है, तो अनुप्रमाणन पुरस्कार आधा हो जाता है, क्योंकि अनुप्रमाणन पुरस्कार की गणना करने के लिए आधार पुरस्कार को समावेशन विलंब के व्युत्क्रम (reciprocal) से गुणा किया जाता है।

### अनुप्रमाणन परिदृश्य {#attestation-scenarios}

#### लापता वोटिंग सत्यापक {#missing-voting-validator}

सत्यापकों के पास अपना अनुप्रमाणन प्रस्तुत करने के लिए अधिकतम 1 एपॉक होता है। यदि एपॉक 0 में अनुप्रमाणन छूट गया था, तो वे इसे एपॉक 1 में समावेशन विलंब के साथ प्रस्तुत कर सकते हैं।

#### लापता एग्रीगेटर {#missing-aggregator}

प्रति एपॉक कुल 16 एग्रीगेटर होते हैं। इसके अलावा, यादृच्छिक सत्यापक **256 एपॉक के लिए दो सबनेट** की सदस्यता लेते हैं और एग्रीगेटर के लापता होने की स्थिति में बैकअप के रूप में काम करते हैं।

#### लापता ब्लॉक प्रस्तावक {#missing-block-proposer}

ध्यान दें कि कुछ मामलों में एक भाग्यशाली एग्रीगेटर ब्लॉक प्रस्तावक भी बन सकता है। यदि अनुप्रमाणन शामिल नहीं किया गया था क्योंकि ब्लॉक प्रस्तावक लापता हो गया है, तो अगला ब्लॉक प्रस्तावक एकत्रित अनुप्रमाणन को उठाएगा और इसे अगले ब्लॉक में शामिल करेगा। हालाँकि, **समावेशन विलंब** एक बढ़ जाएगा।

## आगे की पढ़ाई {#further-reading}

- [विटालिक के एनोटेटेड सर्वसम्मति स्पेक में अनुप्रमाणन](https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#attestationdata)
- [eth2book.info में अनुप्रमाणन](https://eth2book.info/capella/part3/containers/dependencies/#attestationdata)

_क्या आप किसी ऐसे सामुदायिक संसाधन के बारे में जानते हैं जिसने आपकी मदद की? इस पृष्ठ को संपादित करें और इसे जोड़ें!_