स्टेटलेसनेस, स्टेट की समाप्ति और इतिहास की समाप्ति
मामूली हार्डवेयर पर एथेरियम नोड्स चलाने की क्षमता सही विकेंद्रीकरण के लिए महत्वपूर्ण है। ऐसा इसलिए है, क्योंकि नोड चलाने से यूज़र को डेटा फ़ीड के लिए किसी तीसरे पक्ष पर भरोसा करने के बजाय स्वतंत्र रूप से क्रिप्टोग्राफिक जांच करके जानकारी सत्यापित करने की क्षमता मिलती है। नोड चलाने से यूज़र किसी मध्यस्थ पर भरोसा करने के बजाय सीधे एथेरियम पीयर-टू-पीयर नेटवर्क पर लेनदेन सबमिट कर सकते हैं। विकेंद्रीकरण उस स्थिति में संभव नहीं है, जब ये लाभ केवल महंगे हार्डवेयर वाले यूज़र के लिए उपलब्ध हों। इसके बजाय, नोड्स को बेहद मामूली प्रोसेसिंग और मेमोरी से जुड़ी आवश्यकताओं के साथ चलाने में सक्षम होना चाहिए, ताकि वे मोबाइल फ़ोन, माइक्रो-कंप्यूटर या घर के कंप्यूटर पर ध्यान न दें।
आज, उच्च डिस्क स्थान से जुड़ी आवश्यकताएं नोड्स तक सबकी पहुंच को रोकने वाली मुख्य रुकावट हैं। यह मुख्य रूप से एथेरियम के राज्य डेटा के बड़े हिस्से को संग्रहीत करने की आवश्यकता के कारण है। इस डेटा में नए ब्लॉक और लेनदेन को सही ढंग से प्रोसेस करने के लिए आवश्यक महत्वपूर्ण जानकारी है। लेखन के समय, पूर्ण एथेरियम नोड चलाने के लिए एक तेज़ 2TB SSD का सुझाव दिया जाता है। एक नोड के लिए जो किसी भी पुराने डेटा को प्रून नहीं करता है, स्टोरेज की आवश्यकता लगभग 14GB/सप्ताह में बढ़ती है, और संग्रह नोड्स जो उत्पत्ति के बाद से सभी डेटा संग्रहीत करते हैं, 12 TB (लेखन के समय, फरवरी 2023 में) के करीब पहुंच रहे हैं।
पुराने डेटा को स्टोर करने के लिए सस्ती हार्ड ड्राइव का उपयोग किया जा सकता है, लेकिन आने वाले ब्लॉकों को बनाए रखने के लिए वे बहुत धीमे हैं। डेटा को सस्ता और स्टोर करने में आसान बनाते हुए ग्राहकों के लिए मौजूदा स्टोरेज मॉडल को बनाए रखना समस्या का केवल एक अस्थायी और आंशिक समाधान है, क्योंकि एथेरियम की स्टेट बढ़ोतरी 'अनबाउंड' है, जिसका अर्थ है कि स्टोरेज की आवश्यकताएं कभी भी बढ़ सकती हैं, और तकनीकी सुधारों को हमेशा निरंतर स्थिति के विकास के साथ तालमेल रखना होगा। इसके बजाय, ग्राहकों को ब्लॉक और लेनदेन को सत्यापित करने के नए तरीके खोजने होंगे जो स्थानीय डेटाबेस से डेटा देखने पर निर्भर नहीं करते।
नोड्स के लिए भंडारण कम करना
प्रत्येक नोड को स्टोर करने के लिए डेटा की मात्रा को कम करने के कई तरीके हैं, प्रत्येक को एथेरियम के कोर प्रोटोकॉल को एक अलग सीमा तक अपडेट करने की आवश्यकता होती है:
- इतिहास की समाप्ति: नोड्स को X ब्लॉक से पुराने स्टेट डेटा को हटाने में सक्षम बनाता है, लेकिन यह नहीं बदलता है कि एथेरियम क्लाइंट स्टेट डेटा को कैसे संभालते हैं।
- स्टेट की समाप्ति: उस स्टेट डेटा को निष्क्रिय होने की अनुमति देता है जिसका अक्सर उपयोग नहीं किया जाता है। निष्क्रिय डेटा को क्लाइंट द्वारा तब तक अनदेखा किया जा सकता है जब तक कि इसे चालू नहीं किया जाता।
- कमज़ोर स्टेटलेसनेस: केवल ब्लॉक प्रोड्यूसर्स को पूरे स्टेट डेटा तक पहुंच की आवश्यकता होती है, अन्य नोड्स स्थानीय स्टेट डेटाबेस के बिना ब्लॉक को सत्यापित कर सकते हैं।
- मज़बूत स्टेटलेसनेस: किसी भी नोड को पूरे स्टेट डेटा तक पहुंच की आवश्यकता नहीं है।
डेटा की समाप्ति
इतिहास की समाप्ति
इतिहास समाप्ति क्लाइंट को पुराने डेटा को दूर करने के लिए संदर्भित करता है जिसकी उन्हें आवश्यकता नहीं होती है, ताकि वे केवल थोड़ी मात्रा में ऐतिहासिक डेटा संग्रहीत करें, नया डेटा आने पर पुराने डेटा को छोड़ दें। क्लाइंट को पुराने डेटा की आवश्यकता होने के दो कारण हैं: डेटा से जुड़े अनुरोधों को सिंक्रनाइज़ करना और प्रस्तुत करना। मूल रूप से, ग्राहकों को उत्पत्ति ब्लॉक से सिंक करना पड़ता था, यह सत्यापित करते हुए कि प्रत्येक क्रमिक ब्लॉक श्रृंखला के प्रमुख के लिए सभी तरह से सही है। आज, क्लाइंट श्रृंखला के प्रमुख के लिए अपना रास्ता बूटस्ट्रैप करने के लिए "सबजेक्ट के हिसाब से कमज़ोर चेकपॉइंट्स" का उपयोग करते हैं। ये चेकपॉइंट्स विश्वसनीय शुरुआती बिंदु हैं, जैसे एथेरियम की शुरुआत के बजाय वर्तमान के करीब एक उत्पत्ति वाला ब्लॉक होना। इसका मतलब है कि क्लाइंट श्रृंखला के प्रमुख को सिंक करने की क्षमता खोए बिना सबसे हालिया सबजेक्ट के हिसाब से कमज़ोर चेकपॉइंट से पहले सभी जानकारी छोड़ सकते हैं। क्लाइंट वर्तमान में अपने स्थानीय डेटाबेस से इसे कैप्चर करके पुराने डेटा के लिए अनुरोध (JSON-RPC के माध्यम से पहुंचने वाले) भेजते हैं। हालांकि, इतिहास की समाप्ति के साथ यह संभव नहीं होगा, अगर अनुरोध किए गए डेटा को हटा दिया गया हो। इस पुराने डेटा को उस जगह उपलब्ध कराया जाता है जहां कुछ नए समाधानों की आवश्यकता होती है।
एक विकल्प यह है कि क्लाइंट पोर्टल नेटवर्क जैसे समाधान का उपयोग करके पीयर्स से पुराने डेटा का अनुरोध करें। पोर्टल नेटवर्क पुराने डेटा को उपलब्ध कराने के लिए एक ऐसा पीयर-टू-पीयर नेटवर्क है जिस पर काम चल रहा है और जहां प्रत्येक नोड एथेरियम के इतिहास का एक छोटा सा हिस्सा सेव करके रखा गया है जैसे कि संपूर्ण इतिहास नेटवर्क में वितरित किया जाता है। प्रासंगिक डेटा संग्रहीत करने वाले साथियों की तलाश करके और उनसे अनुरोध करके हासिल किए जाते हैं। वैकल्पिक रूप से, चूंकि यह आम तौर पर ऐसे ऐप्स होते हैं जिन्हें पुराने डेटा तक एक्सेस की आवश्यकता होती है, इसलिए इसे संग्रहीत करना उनकी ज़िम्मेदारी बन सकता है। एथेरियम स्पेस में पर्याप्त परोपकारी लोग भी हो सकते हैं जो ऐतिहासिक अभिलेखागार को बनाए रखने के इच्छुक होंगे। यह एक डीएओ हो सकता है जो पुराने डेटा स्टोरेज का प्रबंधन करने के लिए घूमता है, या आदर्श रूप से यह इन सभी विकल्पों का संयोजन होगा। ये प्रदाता कई तरीकों से डेटा उपलब्ध करा सकते सकते हैं, जैसे कि torrent, FTP, फाइलकॉइन या आईपीएफएस पर।
इतिहास की समाप्ति कुछ हद तक विवादास्पद है, क्योंकि अब तक एथेरियम ने हमेशा किसी भी पुराने डेटा की उपलब्धता की गारंटी दी है। उत्पत्ति से एक पूर्ण सिंक हमेशा मानक के रूप में संभव रहा है, भले ही यह स्नैपशॉट से कुछ पुराने डेटा को फिर से उपलब्ध कराने पर निर्भर करता हो। इतिहास की समाप्ति एथेरियम कोर प्रोटोकॉल के बाहर इस गारंटी को प्रदान करने की ज़िम्मेदारी को स्थानांतरित करती है। यह नए सेंसरशिप जोखिम पेश कर सकता है अगर यह केंद्रीकृत संगठन हैं जो पुराने डेटा प्रदान करने के लिए कदम बढ़ाते हैं।
EIP-4444 अभी तक शिप करने के लिए तैयार नहीं है, लेकिन यह सक्रिय चर्चा में है। दिलचस्प बात यह है कि EIP-4444 के साथ चुनौतियां इतनी तकनीकी नहीं हैं, बल्कि ज्यादातर सामुदायिक प्रबंधन हैं। इसे शिप करने के लिए, सामुदायिक बाय-इन होने की आवश्यकता है जिसमें न केवल समझौता शामिल है बल्कि भरोसेमंद संस्थाओं से पुराने डेटा को स्टोर और सेवा करने की प्रतिबद्धता भी शामिल है।
यह अपग्रेड मौलिक रूप से नहीं बदलता है कि एथेरियम नोड्स स्थिति से जुड़े डेटा को कैसे प्रबंधित करते हैं, यह सिर्फ बदलता है कि पुराना डेटा कैसे एक्सेस किया जाता है।
स्टेट की समाप्ति
स्थिति की समाप्ति व्यक्तिगत नोड्स से स्थिति को हटाने के लिए संदर्भित करता है अगर इसे हाल ही में एक्सेस नहीं किया गया हो। इसे लागू करने के कई तरीके हैं, जिनमें शामिल हैं:
- किराए से समाप्ति: खातों से "किराया" चार्ज करना और उनका किराया शून्य तक पहुंचने पर उन्हें समाप्त करना
- समय के अनुसार समाप्ति: यदि कुछ समय के लिए उस खाते में कोई पढ़ना/लिखना नहीं होता है तो खातों को निष्क्रिय करना
किराए से समाप्ति खातों को सक्रिय स्थिति वाले डेटाबेस में रखने के लिए प्रत्यक्ष किराया हो सकता है। समय के अनुसार समाप्ति अंतिम खाता इंटरैक्शन से उलटी गिनती द्वारा हो सकती है, या यह सभी खातों की आवधिक समाप्ति हो सकती है। ऐसे सिस्टम भी हो सकते हैं जो समय और किराए पर आधारित मॉडल दोनों के खासीयतों से बने होते हैं, उदाहरण के लिए व्यक्तिगत खाते सक्रिय स्थिति में बने रहते हैं अगर वे समय आधारित समाप्ति से पहले कुछ कम शुल्क का भुगतान करते हैं। स्टेट की समाप्ति के साथ यह ध्यान रखना महत्वपूर्ण है कि निष्क्रिय स्टेट को हटाया नहीं जाता है, इसे सिर्फ सक्रिय स्टेट से अलग संग्रहीत किया जाता है। निष्क्रिय अवस्था को सक्रिय अवस्था में फिर से शामिल किया जा सकता है।
जिस तरह से यह काम करेगा वह संभवतः विशिष्ट समय अवधि (शायद ~1 वर्ष) के लिए एक स्टेट ट्री है। जब भी कोई नया दौर शुरू होता है, तो पूरी तरह से ताजा स्टेट ट्री भी होता है। केवल वर्तमान स्टेट ट्री को संशोधित किया जा सकता है, अन्य सभी अपरिवर्तनीय हैं। एथेरियम नोड्स से केवल वर्तमान स्टेट ट्री और अगले सबसे हाल के स्टेट ट्री को होल्ड करने की उम्मीद है। इसके लिए उस अवधि के साथ किसी पते पर टाइम-स्टैम्प लगाने का एक तरीका आवश्यक है, जिसमें वह मौजूद है। ऐसा करने के कई संभावित तरीके (opens in a new tab) हैं, लेकिन प्रमुख विकल्प के लिए अतिरिक्त जानकारी को समायोजित करने के लिए पतों को लंबा करने (opens in a new tab) की आवश्यकता है, जिसका अतिरिक्त लाभ यह है कि लंबे पते बहुत अधिक सुरक्षित होते हैं। ऐसा करने वाले रोडमैप आइटम को एड्रेस स्पेस एक्सटेंशन (opens in a new tab) कहा जाता है।
इतिहास की समाप्ति के समान, स्थिति की समाप्ति के तहत स्थिति से जुड़े पुराने डेटा को संग्रहीत करने की जिम्मेदारी व्यक्तिगत यूज़र से हटा दी जाती है और अन्य संस्थाओं जैसे केंद्रीकृत प्रदाताओं, परोपकारी समुदाय के सदस्यों या पोर्टल नेटवर्क जैसे अधिक भविष्य के विकेन्द्रीकृत समाधानों में शामिल कर दी जाती है।
स्थिति की समाप्ति अब भी अनुसंधान चरण में है और अभी तक शिप किए जाने के लिए तैयार नहीं है। स्थिति की समाप्ति स्टेटलेस क्लाइंट और इतिहास समाप्ति की तुलना में बाद में अच्छी तरह से हो सकती है, क्योंकि उन एडवांस बड़े राज्य के आकार को अधिकांश सत्यापनकर्ताओं के लिए आसानी से प्रबंधनीय बनाते हैं।
स्टेटलेसनेस
स्टेटलेसनेस एक मिथ्या नाम है क्योंकि इसका मतलब यह नहीं है कि "स्थिति" की अवधारणा समाप्त हो गई है, लेकिन इसमें एथेरियम नोड्स के स्थिति संबंधी डेटा को कैसे प्रबंधित करते हैं, इसमें बदलाव शामिल हैं। स्टेटलेसनेस अपने आप में दो स्वादों में आती है: कमजोर स्टेटलेसनेस और मजबूत स्टेटलेसनेस। कमजोर स्टेटलेसनेस अधिकांश नोड्स को कुछ पर स्थिति संबंधी स्टोरेज की जिम्मेदारी डालकर स्टेटलेस होने में सक्षम बनाती है। मजबूत स्टेटलेसनेस स्थिति संबंधी पूरे डेटा को संग्रहीत करने के लिए किसी भी नोड की आवश्यकता को पूरी तरह से हटा देती है। कमजोर और मजबूत स्टेटलेसनेस दोनों ही सामान्य सत्यापनकर्ताओं को निम्नलिखित लाभ प्रदान करते हैं:
- लगभग तुरंत सिंकिंग
- ब्लॉक को आउट-ऑफ़-ऑर्डर मान्य करने की क्षमता
- नोड्स बहुत कम हार्डवेयर आवश्यकताओं (जैसे फोन पर) के साथ चलने में सक्षम हैं
- नोड्स सस्ते हार्ड ड्राइव के शीर्ष पर चल सकते हैं क्योंकि डिस्क को पढ़ने/लिखने की आवश्यकता नहीं है
- एथेरियम की क्रिप्टोग्राफ़ी में भविष्य के उन्नयन के साथ संगत
कमज़ोर स्टेटलेसनेस
कमज़ोर स्टेटलेसनेस में एथेरियम नोड्स द्वारा स्थिति से जुड़े परिवर्तनों को सत्यापित करने के तरीके में बदलाव शामिल है, लेकिन यह नेटवर्क पर सभी नोड्स में स्थिति से जुड़े स्टोरेज की आवश्यकता को पूरी तरह से समाप्त नहीं करता है। इसके बजाय, कमजोर स्टेटलेसनेस ब्लॉक प्रस्तावकों पर स्थिति से जुड़े स्टोरेज की जिम्मेदारी डालती है, जबकि नेटवर्क पर अन्य सभी नोड्स स्थिति से जुड़े पूरे डेटा को संग्रहीत किए बिना ब्लॉक को सत्यापित करते हैं।
कमज़ोर स्टेटलेसनेस में ब्लॉक प्रस्तावित करने के लिए पूरे स्टेट डेटा तक पहुंच की आवश्यकता होती है, लेकिन ब्लॉक सत्यापित करने के लिए किसी स्टेट डेटा की आवश्यकता नहीं होती है
ऐसा होने के लिए, Verkle ट्री को एथेरियम क्लाइंट में पहले से ही लागू किया जाना चाहिए। वर्कल ट्री एथेरियम स्थिति से जुड़े डेटा को संग्रहीत करने के लिए एक प्रतिस्थापन डेटा संरचना है जो छोटे, निश्चित आकार के "गवाहों" को साथियों के बीच पारित करने की अनुमति देता है और स्थानीय डेटाबेस के खिलाफ ब्लॉक की पुष्टि करने के बजाय ब्लॉक को सत्यापित करने के लिए उपयोग किया जाता है। प्रस्तावक-बिल्डर पृथक्करण भी आवश्यक है, क्योंकि यह ब्लॉक बिल्डरों को अधिक शक्तिशाली हार्डवेयर के साथ विशेष नोड बनने की अनुमति देता है, और ये वे हैं जिन्हें पूरे स्टेट डेटा तक पहुंच की आवश्यकता होती है।
ब्लॉक प्रस्तावक "गवाह" बनाने के लिए स्थिति से जुड़े डेटा का उपयोग करते हैं - डेटा का न्यूनतम सेट जो स्थिति के मूल्यों को साबित करता है और एक ब्लॉक में लेनदेन द्वारा बदला जा रहा है। अन्य सत्यापनकर्ता स्थिति को होल्ड नहीं करते हैं, वे केवल स्टेट रूट (पूरे स्थिति का एक हैश) संग्रहीत करते हैं। वे एक ब्लॉक और एक गवाह प्राप्त करते हैं और उनका उपयोग अपनी स्टेट रूट को अपडेट करने के लिए करते हैं। यह एक मान्य नोड को बेहद हल्का बनाता है।
कमजोर स्टेटलेसनेस अनुसंधान की एक उन्नत स्थिति में है, लेकिन यह प्रस्तावक-बिल्डर अलगाव और वर्कले ट्री पर निर्भर करता है, ताकि साथियों के बीच छोटे गवाहों को पारित किया जा सके। इसका मतलब है कि कमजोर स्टेटलेसनेस शायद एथेरियम मेननेट से कुछ साल दूर है।
L1 सत्यापन के लिए zkEVM एक पूरक तकनीक है जो स्टेटलेस सत्यापन को और बढ़ा सकती है। केवल विटनेस की जाँच करने के बजाय, क्लाइंट इस बात के ज़ीरो-नॉलेज प्रूफ को सत्यापित कर सकते हैं कि पूरे ब्लॉक को सही ढंग से निष्पादित किया गया था -- लेनदेन को फिर से निष्पादित किए बिना क्रिप्टोग्राफिक निश्चितता प्रदान करता है।
मज़बूत स्टेटलेसनेस
मजबूत स्टेटलेसनेस स्थिति से जुड़े डेटा को संग्रहीत करने के लिए किसी भी नोड की आवश्यकता को हटा देती है। इसके बजाय, लेनदेन गवाहों के साथ भेजे जाते हैं जिन्हें ब्लॉक उत्पादकों द्वारा एकत्र किया जा सकता है। ब्लॉक के निर्माता तब केवल उस स्थिति को संग्रहीत करने के लिए ज़िम्मेदार होते हैं जो प्रासंगिक खातों के लिए गवाह पैदा करने के लिए आवश्यक होते हैं। स्थिति की ज़िम्मेदारी लगभग पूरी तरह से उपयोगकर्ताओं को स्थानांतरित कर दी जाती है, क्योंकि वे गवाहों और 'एक्सेस लिस्ट' को यह घोषित करने के लिए भेजते हैं कि वे किन खातों और स्टोरेज से जुड़ी कुंजियों के साथ इंटरैक्ट कर रहे हैं। यह बेहद हल्के नोड्स को सक्षम करेगा, लेकिन स्मार्ट अनुबंधों के साथ लेनदेन करना अधिक कठिन बनाने सहित ट्रेडऑफ़ हैं।
शोधकर्ताओं द्वारा मजबूत स्टेटलेसनेस की जांच की गई है, लेकिन वर्तमान में एथेरियम के रोडमैप का हिस्सा होने की उम्मीद नहीं है - यह अधिक संभावना है कि एथेरियम की स्केलिंग से जुड़ी जरूरतों के लिए कमजोर स्टेटलेसनेस पर्याप्त है।
वर्तमान प्रगति
कमजोर स्टेटलेसनेस, इतिहास की समाप्ति और स्थिति की समाप्ति सभी अनुसंधान चरण में हैं और अब से कई वर्षों तक शिप करने की उम्मीद है। इस बात की कोई गारंटी नहीं है कि इन सभी प्रस्तावों को लागू किया जाएगा, उदाहरण के लिए, यदि स्थिति की समाप्ति को पहले लागू किया जाता है तो इतिहास समाप्ति को भी लागू करने की आवश्यकता नहीं हो सकती। अन्य रोडमैप आइटम भी हैं, जैसे Verkle ट्री और प्रस्तावक-बिल्डर पृथक्करण, जिन्हें पहले पूरा करने की आवश्यकता है।
आगे की रीडिंग
- स्टेटलेस एथेरियम क्या है? (opens in a new tab)
- विटालिक स्टेटलेसनेस AMA (opens in a new tab)
- स्टेट साइज़ प्रबंधन का एक सिद्धांत (opens in a new tab)
- रिसरेक्शन-कॉन्फ्लिक्ट-मिनिमाइज्ड स्टेट बाउंडिंग (opens in a new tab)
- स्टेटलेसनेस और स्टेट समाप्ति के पथ (opens in a new tab)
- EIP-4444 विनिर्देश (opens in a new tab)
- EIP-4444 पर एलेक्स स्टोक्स (opens in a new tab)
- स्टेटलेस होना इतना महत्वपूर्ण क्यों है (opens in a new tab)
- मूल स्टेटलेस क्लाइंट अवधारणा नोट्स (opens in a new tab)
- स्टेट समाप्ति पर और अधिक (opens in a new tab)
- स्टेट समाप्ति पर और भी अधिक (opens in a new tab)
- स्टेटलेस एथेरियम सूचना पृष्ठ (opens in a new tab)
पेज का अंतिम अपडेट: 26 मार्च 2026