नोड वास्तुकला
अंतिम संपादन: @wackerow(opens in a new tab), 26 जून 2024
एक एथेरियम नोड दो क्लाइंट से बना होता है: एक निष्पादन ग्राहक और एक सहमति ग्राहक।
जब एथेरियम काम का सबूत का उपयोग कर रहा था, तो एक निष्पादन ग्राहक एक पूर्ण एथेरियम नोड चलाने के लिए पर्याप्त था। हालांकि, हिस्सेदारी का सबूत को लागू करने के बाद से निष्पादन ग्राहक को “"सहमति ग्राहक" नामक सॉफ़्टवेयर के एक अन्य हिस्से के साथ उपयोग करने की आवश्यकता होती है।
नीचे दिया गया आरेख दो एथेरियम क्लाइंट के बीच संबंध दिखाता है। दो क्लाइंट अपने स्वयं के संबंधित पीयर-टू-पीयर (P2P) नेटवर्क से जुड़ते हैं। अलग-अलग P2P नेटवर्क की आवश्यकता होती है क्योंकि निष्पादन ग्राहक अपने P2P नेटवर्क पर गपशप लेनदेन करते हैं, जिससे उन्हें अपने स्थानीय लेनदेन पूल का प्रबंधन करने में सक्षम बनाया जाता है, जबकि सहमति ग्राहक अपने P2P नेटवर्क पर गपशप ब्लॉक करते हैं, जिससे आम सहमति और श्रृंखला विकास को सक्षम किया जाता है।
इस दो-क्लाइंट संरचना के काम करने के लिए, सहमति ग्राहक को निष्पादन ग्राहक को लेनदेन के बंडलों को पारित करने में सक्षम होना चाहिए। स्थानीय स्तर पर लेनदेन निष्पादित करने से क्लाइंट यह सत्यापित करता है कि लेनदेन किसी भी एथेरियम नियमों का उल्लंघन नहीं करता है और एथेरियम की स्थिति का प्रस्तावित अपडेट सही है। इसी तरह, जब नोड को ब्लॉक निर्माता के रूप में चुना जाता है, तो सहमति ग्राहक को नए ब्लॉक में शामिल करने के लिए Geth से लेनदेन के बंडलों का अनुरोध करने और वैश्विक स्थिति को अपडेट करने के लिए उन्हें निष्पादित करने में सक्षम होना चाहिए। यह अंतर-क्लाइंट संचार इंजन API(opens in a new tab) का उपयोग करके एक स्थानीय RPC कनेक्शन द्वारा नियंत्रित किया जाता है।
निष्पादन ग्राहक क्या करता है?
निष्पादन ग्राहक लेनदेन से निपटने, लेनदेन गपशप, स्थिति प्रबंधन और (एथेरियम वर्चुअल मशीन EVM) का समर्थन करने के लिए जिम्मेदार है। हालांकि, यह ब्लॉक बिल्डिंग, ब्लॉक गपशप या आम सहमति तर्क को संभालने के लिए जिम्मेदार नहीं है। ये सहमति ग्राहक के प्रेषण में हैं।
निष्पादन ग्राहक निष्पादन पेलोड बनाता है - लेन-देन की सूची, अपडेट की गई स्थिति प्रयास और अन्य निष्पादन-संबंधी डेटा। सहमति ग्राहक में प्रत्येक ब्लॉक में निष्पादन पेलोड शामिल है। निष्पादन ग्राहक नए ब्लॉकों में लेनदेन को फिर से निष्पादित करने के लिए भी जिम्मेदार है ताकि यह सुनिश्चित हो सके कि वे वैध हैं। निष्पादन ग्राहक के एम्बेडेड कंप्यूटर पर लेनदेन निष्पादित किया जाता है, जिसे एथेरियम वर्चुअल मशीन (EVM) के रूप में जाना जाता है।
निष्पादन ग्राहक RPC विधियों के माध्यम से एथेरियम को एक यूज़र इंटरफेस भी प्रदान करता है जो उपयोगकर्ताओं को एथेरियम ब्लॉकचेन को क्वेरी करने, लेनदेन जमा करने और स्मार्ट अनुबंधों को परिनियोजित करने में सक्षम बनाता है। RPC कॉल को Web3js(opens in a new tab), Web3py(opens in a new tab), जैसी लाइब्रेरी द्वारा या ब्राउज़र वॉलेट जैसे यूज़र-इंटरफ़ेस द्वारा नियंत्रित किया जाना आम बात है।
संक्षेप में, निष्पादन ग्राहक है:
- एथेरियम के लिए एक यूज़र प्रवेश द्वार
- एथेरियम वर्चुअल मशीन, एथेरियम की स्थिति और लेनदेन पूल का घर।
सहमति क्लाइंट क्या करता है?
सहमति क्लाइंट उन सभी तर्कों से निपटता है जो एक नोड को एथेरियम नेटवर्क के साथ सिंक में रहने में सक्षम बनाता है। इसमें साथियों से ब्लॉक प्राप्त करना और यह सुनिश्चित करने के लिए एक फ़ोर्क विकल्प एल्गोरिथम चलाना शामिल है कि नोड हमेशा सत्यापन के सबसे बड़े संचय (सत्यापनकर्ता प्रभावी शेष राशि द्वारा भारित) के साथ श्रृंखला का अनुसरण करता है। निष्पादन क्लाइंट की तरह, सहमति क्लाइंट का अपना P2P नेटवर्क होता है जिसके माध्यम से वे ब्लॉक और सत्यापन साझा करते हैं।
सहमति क्लाइंट ब्लॉक को सत्यापित करने या प्रस्तावित करने में भाग नहीं लेता है - यह एक सत्यापनकर्ता द्वारा किया जाता है, एक सहमति क्लाइंट के लिए एक वैकल्पिक ऐड-ऑन। एक सत्यापनकर्ता के बिना सहमति क्लाइंट केवल श्रृंखला के प्रमुख के साथ रहता है, जिससे नोड को सिंक रहने की अनुमति मिलती है। यह एक यूज़र को अपने निष्पादन क्लाइंट का उपयोग करके एथेरियम के साथ लेनदेन करने में सक्षम बनाता है, इस विश्वास के साथ कि वे सही श्रृंखला पर हैं।
सत्यापनकर्ता
नोड ऑपरेटर जमा अनुबंध में 32 ETH जमा करके अपने सहमति क्लाइंट के लिए एक सत्यापनकर्ता जोड़ सकते हैं। सत्यापनकर्ता क्लाइंट सहमति क्लाइंट के साथ बंडल में आता है और इसे किसी भी समय नोड में जोड़ा जा सकता है। सत्यापनकर्ता सत्यापन और ब्लॉक प्रस्तावों को संभालता है। वे एक नोड को पुरस्कार अर्जित करने या दंड या स्लैशिंग के माध्यम से ETH खोने में सक्षम बनाते हैं। सत्यापनकर्ता सॉफ़्टवेयर चलाने से एक नोड भी एक नया ब्लॉक प्रस्तावित करने के लिए चुने जाने योग्य हो जाता है।
स्टेकिंग के बारे में अधिक जानकारी।
नोड तुलना के घटक
निष्पादन क्लाइंट | सहमति क्लाइंट | सत्यापनकर्ता |
---|---|---|
अपने p2p नेटवर्क पर गपशप लेनदेन | अपने p2p नेटवर्क पर गपशप ब्लॉक और सत्यापन | ब्लॉक का प्रस्ताव करता है |
लेनदेन निष्पादित/पुनः निष्पादित करता है | फ़ोर्क पसंद एल्गोरिथम चलाता है | पुरस्कार/दंड अर्जित करता है |
आने वाली स्थिति परिवर्तनों की पुष्टि करता है | श्रृंखला के हेड का ट्रैक रखता है | सत्यापन करता है |
स्थिति और प्राप्तियों का प्रबंधन करता है | बीकन स्थिति का प्रबंधन करता है (आम सहमति और निष्पादन जानकारी शामिल है) | दांव पर लगाने के लिए 32 ETH की आवश्यकता होती है |
निष्पादन पेलोड बनाता है | RANDAO में संचित यादृच्छिकता का ट्रैक रखता है | काटा जा सकता है |
एथेरियम के साथ इंटरैक्ट करने के लिए JSON-RPC API को उजागर करता है | औचित्य और अंतिम रूप देने का ट्रैक रखता है |