आज के प्रूफ-ऑफ़-स्टेक (PoS) आधारित सर्वसम्मति तंत्र में, आगामी ब्लॉक प्रस्तावकों की सूची सार्वजनिक होती है और उनके IP पतों को मैप करना संभव है। इसका मतलब है कि हमलावर यह पहचान सकते हैं कि कौन से सत्यापक ब्लॉक का प्रस्ताव करने वाले हैं और उन्हें डिनायल-ऑफ़-सर्विस (DOS) हमले का निशाना बना सकते हैं, जिससे वे समय पर अपने ब्लॉक का प्रस्ताव करने में असमर्थ हो जाते हैं।
यह हमलावर के लिए लाभ कमाने के अवसर पैदा कर सकता है। उदाहरण के लिए, स्लॉट n+1 के लिए चुना गया एक ब्लॉक प्रस्तावक स्लॉट n में प्रस्तावक पर DOS हमला कर सकता है ताकि वे ब्लॉक का प्रस्ताव करने का अपना अवसर चूक जाएं। यह हमलावर ब्लॉक प्रस्तावक को दोनों स्लॉटों के MEV निकालने की अनुमति देगा, या उन सभी लेन-देन को हथियाने की अनुमति देगा जिन्हें दो ब्लॉकों में विभाजित किया जाना चाहिए था और इसके बजाय उन सभी को एक में शामिल कर लेगा, जिससे सभी संबंधित शुल्क प्राप्त होंगे। यह परिष्कृत संस्थागत सत्यापकों की तुलना में घरेलू सत्यापकों को अधिक प्रभावित करने की संभावना है, जो DOS हमलों से खुद को बचाने के लिए अधिक उन्नत तरीकों का उपयोग कर सकते हैं, और इसलिए यह एक केंद्रीकरण बल हो सकता है।
इस समस्या के कई समाधान हैं। एक वितरित सत्यापनकर्ता तकनीक (dvt) (opens in a new tab) है जिसका उद्देश्य एक सत्यापक को चलाने से संबंधित विभिन्न कार्यों को कई मशीनों में फैलाना है, जिसमें अतिरेक (रिडंडेंसी) हो, ताकि हमलावर के लिए किसी विशेष स्लॉट में ब्लॉक को प्रस्तावित होने से रोकना बहुत कठिन हो जाए। हालाँकि, सबसे मजबूत समाधान सिंगल सीक्रेट लीडर इलेक्शन (SSLE) है।
सिंगल सीक्रेट लीडर इलेक्शन (SSLE)
SSLE में, चतुर क्रिप्टोग्राफी का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि केवल चयनित सत्यापक को ही पता हो कि उन्हें चुना गया है। यह प्रत्येक सत्यापक द्वारा एक ऐसे रहस्य के प्रति प्रतिबद्धता प्रस्तुत करने से काम करता है जिसे वे सभी साझा करते हैं। प्रतिबद्धताओं को शफ़ल और पुन: कॉन्फ़िगर किया जाता है ताकि कोई भी प्रतिबद्धताओं को सत्यापकों से मैप न कर सके, लेकिन प्रत्येक सत्यापक जानता है कि कौन सी प्रतिबद्धता उनकी है। फिर, एक प्रतिबद्धता को यादृच्छिक रूप से चुना जाता है। यदि कोई सत्यापक यह पता लगाता है कि उनकी प्रतिबद्धता चुनी गई थी, तो वे जानते हैं कि ब्लॉक का प्रस्ताव करने की उनकी बारी है।
इस विचार के प्रमुख कार्यान्वयन को Whisk (opens in a new tab) कहा जाता है। जो इस प्रकार काम करता है:
- सत्यापक एक साझा रहस्य के प्रति प्रतिबद्ध होते हैं। प्रतिबद्धता योजना को इस तरह से डिज़ाइन किया गया है कि इसे सत्यापक की पहचान से जोड़ा जा सकता है, लेकिन इसे यादृच्छिक भी बनाया जा सकता है ताकि कोई भी तीसरा पक्ष बाइंडिंग को रिवर्स इंजीनियर न कर सके और किसी विशिष्ट प्रतिबद्धता को किसी विशिष्ट सत्यापक से न जोड़ सके।
- एक एपॉक की शुरुआत में, RANDAO का उपयोग करके 16,384 सत्यापकों से प्रतिबद्धताओं का नमूना लेने के लिए सत्यापकों का एक यादृच्छिक सेट चुना जाता है।
- अगले 8182 स्लॉटों (1 दिन) के लिए, ब्लॉक प्रस्तावक अपनी स्वयं की निजी एन्ट्रोपी का उपयोग करके प्रतिबद्धताओं के एक उपसमूह को शफ़ल और यादृच्छिक बनाते हैं।
- शफ़लिंग समाप्त होने के बाद, प्रतिबद्धताओं की एक क्रमित सूची बनाने के लिए RANDAO का उपयोग किया जाता है। इस सूची को इथेरियम स्लॉटों पर मैप किया जाता है।
- सत्यापक देखते हैं कि उनकी प्रतिबद्धता एक विशिष्ट स्लॉट से जुड़ी है, और जब वह स्लॉट आता है तो वे एक ब्लॉक का प्रस्ताव करते हैं।
- इन चरणों को दोहराएं ताकि स्लॉटों के लिए प्रतिबद्धताओं का असाइनमेंट हमेशा वर्तमान स्लॉट से बहुत आगे रहे।
यह हमलावरों को पहले से यह जानने से रोकता है कि कौन सा विशिष्ट सत्यापक अगले ब्लॉक का प्रस्ताव करेगा, जिससे DOS हमलों की क्षमता को रोका जा सकता है।
सीक्रेट नॉन-सिंगल लीडर इलेक्शन (SnSLE)
एक अलग प्रस्ताव भी है जिसका उद्देश्य एक ऐसा परिदृश्य बनाना है जहां प्रत्येक सत्यापक के पास प्रत्येक स्लॉट में ब्लॉक का प्रस्ताव करने का एक यादृच्छिक मौका हो, ठीक उसी तरह जैसे प्रूफ-ऑफ-वर्क (PoW) के तहत ब्लॉक प्रस्ताव तय किया गया था, जिसे सीक्रेट नॉन-सिंगल लीडर इलेक्शन (SnSLE) के रूप में जाना जाता है। ऐसा करने का एक सरल तरीका आज के प्रोटोकॉल में सत्यापकों को यादृच्छिक रूप से चुनने के लिए उपयोग किए जाने वाले RANDAO फ़ंक्शन का उपयोग करना है। RANDAO के साथ विचार यह है कि कई स्वतंत्र सत्यापकों द्वारा प्रस्तुत किए गए हैश को मिलाकर एक पर्याप्त रूप से यादृच्छिक संख्या उत्पन्न की जाती है। SnSLE में, इन हैश का उपयोग अगले ब्लॉक प्रस्तावक को चुनने के लिए किया जा सकता है, उदाहरण के लिए सबसे कम मूल्य वाले हैश को चुनकर। प्रत्येक स्लॉट में व्यक्तिगत सत्यापकों के चुने जाने की संभावना को ट्यून करने के लिए मान्य हैश की सीमा को विवश किया जा सकता है। यह दावा करके कि हैश 2^256 * 5 / N से कम होना चाहिए जहां N = सक्रिय सत्यापकों की संख्या, प्रत्येक स्लॉट में किसी भी व्यक्तिगत सत्यापक के चुने जाने की संभावना 5/N होगी। इस उदाहरण में, प्रत्येक स्लॉट में कम से कम एक प्रस्तावक द्वारा एक मान्य हैश उत्पन्न करने की 99.3% संभावना होगी।
वर्तमान प्रगति
SSLE और SnSLE दोनों अनुसंधान चरण में हैं। अभी तक किसी भी विचार के लिए कोई अंतिम रूप दिया गया विनिर्देश नहीं है। SSLE और SnSLE प्रतिस्पर्धी प्रस्ताव हैं जिन्हें एक साथ लागू नहीं किया जा सकता है। जारी करने से पहले उन्हें सार्वजनिक टेस्टनेट पर अधिक अनुसंधान और विकास, प्रोटोटाइपिंग और कार्यान्वयन की आवश्यकता है।