मुख्य सामग्री पर जाएं

प्रूफ-ऑफ़-स्टेक इथेरियम में पुनर्गठन का खेल

कैस्पर श्वार्ज़-शिलिंग प्रूफ-ऑफ़-स्टेक इथेरियम में ब्लॉक पुनर्गठन हमलों पर शोध प्रस्तुत करते हैं, जिसमें हमले के वैक्टर, रक्षा तंत्र और प्रोटोकॉल-स्तर के शमन शामिल हैं।

Date published: 29 नवंबर 2022

यह प्रस्तुति प्रूफ-ऑफ़-स्टेक (PoS) इथेरियम में संभावित ब्लॉक पुनर्गठन के प्रकारों और उन्हें रोकने के लिए डिज़ाइन किए गए शमन (mitigations) की पड़ताल करती है। एथेरियम फाउंडेशन के रोबस्ट इंसेंटिव्स ग्रुप के एक शोधकर्ता कैस्पर श्वार्ज़-शिलिंग, प्रूफ-ऑफ-वर्क (PoW) और प्रूफ-ऑफ़-स्टेक के बीच सुरक्षा परिदृश्य की तुलना करते हुए, एक्स-पोस्ट (ex-post) और एक्स-एंटे (ex-ante) पुनर्गठन के तंत्र के बारे में बताते हैं।

यह ट्रांसक्रिप्ट लिसकॉन द्वारा प्रकाशित मूल वीडियो ट्रांसक्रिप्ट (opens in a new tab) की एक सुलभ प्रति है। इसे पठनीयता के लिए थोड़ा संपादित किया गया है।

परिचय और पृष्ठभूमि (0:03)

तो आपका स्वागत है। आज मैं उन पुनर्गठन के बारे में बात करने जा रहा हूँ जो प्रूफ-ऑफ़-स्टेक इथेरियम में संभव हैं।

मैंने हाल ही में एथेरियम फाउंडेशन, विशेष रूप से रोबस्ट इंसेंटिव्स ग्रुप ज्वाइन किया है। मूल रूप से हम एक शोध टीम हैं जो प्रोत्साहन (incentives) से जुड़ी किसी भी चीज़ पर ध्यान केंद्रित करती है। मैं इसे संक्षिप्त रखने जा रहा हूँ — यह वार्ता बहुत विस्तृत है और आप हमारे अधिकांश काम GitHub पर पा सकते हैं।

दो प्रकार के पुनर्गठन (0:44)

आज मैं पुनर्गठन के बारे में बात करना चाहता हूँ, और विशेष रूप से मैं दो अलग-अलग प्रकार के पुनर्गठन की रूपरेखा तैयार करना चाहता हूँ जो प्रूफ-ऑफ़-स्टेक इथेरियम के क्षेत्र में संभव हैं।

एक तरफ हमारे पास एक्स-पोस्ट पुनर्गठन (ex-post reorgs) हैं और दूसरी तरफ एक्स-एंटे पुनर्गठन (ex-ante reorgs) हैं। थोड़े दिखावटी लैटिन नामकरण के लिए मुझे क्षमा करें, लेकिन यह काम करता है।

एक्स-पोस्ट पुनर्गठन कुछ वैसा ही है जिसके बारे में हम आमतौर पर तब सोचते हैं जब हम पुनर्गठन के बारे में बात करते हैं। विरोधी एक ब्लॉक देखता है — यदि यह मूल्यवान है तो वे इसे पुनर्गठित करने का प्रयास करना चाह सकते हैं। तो यहाँ आरेख पर हम देखते हैं कि ब्लॉक N+1 वह ब्लॉक है जिसे हमलावर पुनर्गठित करना चाहता है, और उसी मूल ब्लॉक N पर निर्माण करके, यदि यह काम करता है, तो ब्लॉक N+3 फिर ब्लॉक N+2 पर बनाया जाता है। यह सामान्य बात है।

अब एक्स-एंटे पुनर्गठन थोड़े अलग हैं। विचार यह है कि हमलावर को यह जानने से पहले ही हमला शुरू करने की आवश्यकता होती है कि वे किस ब्लॉक को पुनर्गठित करने जा रहे हैं। यह मोटे तौर पर कैसे काम करता है? बहुत उच्च स्तर पर, ब्लॉक N+1 को N के ऊपर बनाया जाता है लेकिन तुरंत जारी नहीं किया जाता है। ईमानदार नोड्स को यह भी नहीं पता होता है कि N+1 मौजूद है और इसलिए वे N पर निर्माण करना जारी रखेंगे। फिर किसी तंत्र के माध्यम से N+1 जारी हो जाता है और N+3 देख सकता है कि N+1 आगे चल रहा है और इसके ऊपर निर्माण कर सकता है, जिससे N+2 वास्तव में पुनर्गठित हो जाता है।

आप सोच सकते हैं कि आप इस तरह का पुनर्गठन क्यों करना चाहेंगे। खैर, अभी भी कैप्चर करने के लिए MEV मौजूद है। यदि आप भाग्यशाली हैं, तो ब्लॉक N+2 में बहुत सारा MEV है — आप उस ब्लॉक को कॉपी-पेस्ट करके उसे कैप्चर कर सकते हैं। सबसे खराब स्थिति में, आपके पास सुनने के लिए मूल रूप से दो स्लॉटों के लेन-देन होते हैं।

प्रूफ-ऑफ-वर्क में एक्स-पोस्ट पुनर्गठन (2:49)

एक्स-एंटे पुनर्गठन में गोता लगाने से पहले, जो इस वार्ता का मुख्य विषय है, मुझे संक्षेप में एक्स-पोस्ट पुनर्गठन को दोहराने दें और विशेष रूप से प्रूफ-ऑफ-वर्क संदर्भ के साथ शुरू करने दें।

मूल रूप से यह सामान्य संदिग्धों — जॉर्जियोस और विटालिक द्वारा लिखे गए ब्लॉग पोस्ट का एक पुनर्कथन है। बस आगे बढ़ें और इसे पढ़ें, यह बहुत बढ़िया है।

संक्षेप में, प्रूफ-ऑफ-वर्क इथेरियम में, एक्स-पोस्ट पुनर्गठन कठिन हैं लेकिन वे असंभव नहीं हैं। 10% खनिक के पास लगातार कुछ ब्लॉक खनन करने का अपेक्षाकृत अच्छा मौका होता है, और यदि प्रोत्साहन काफी अधिक है — सोचें कि कैप्चर करने के लिए 100 ETH मूल्य के MEV वाला एक ब्लॉक है — तो शायद एक प्रतिशत सफलता दर वास्तव में पुनर्गठन का प्रयास करने को सार्थक बनाने के लिए पर्याप्त हो सकती है।

प्रूफ-ऑफ़-स्टेक में एक्स-पोस्ट पुनर्गठन (3:39)

प्रूफ-ऑफ़-स्टेक में यह पूरी तरह से अलग खेल है। हम आवश्यक स्टेक की एक बेतुकी मात्रा के बारे में बात कर रहे हैं। मैं आपको यह बताने जा रहा हूँ कि कोई इसके बारे में कैसे आगे बढ़ सकता है, बस इस बात पर जोर देने के लिए कि यह कितना हास्यास्पद रूप से कठिन है।

शायद पहले कुछ बुनियादी बातें। प्रूफ-ऑफ़-स्टेक इथेरियम में समय स्लॉटों में आगे बढ़ता है। प्रत्येक स्लॉट 12 सेकंड लंबा होता है। प्रत्येक स्लॉट में दो भूमिकाएँ होती हैं: आपके पास एक प्रस्तावक होता है — ठीक एक प्रस्तावक — और हजारों अनुप्रमाणकों की एक समिति होती है जिन्हें P2P लेयर पर सुने जाने वाले ब्लॉक का अनुप्रमाणन करना होता है। वे फ़ोर्क चॉइस चलाकर चेन के हेड का निर्धारण करते हैं, जो मूल रूप से एक फ़ंक्शन है जो ब्लॉक ट्री को इनपुट के रूप में लेता है और आपको चेन का हेड देता है।

यदि आप एक वैध ब्लॉक सुनते हैं, या स्लॉट में चार सेकंड बीत जाने पर — जो भी पहले आए, आपको ब्लॉक का अनुप्रमाणन करना होता है। इसलिए यदि किसी कारण से ब्लॉक N+1 का प्रस्तावक ऑफ़लाइन है और स्लॉट में चार सेकंड तक कोई ब्लॉक नहीं है, तो आप ब्लॉक N का अनुप्रमाणन करते हैं। यदि आप इसे समय पर सुनते हैं, तो आप ब्लॉक N+1 का अनुप्रमाणन करते हैं। सरल है।

ये सभी अनुप्रमाणन ब्लॉक को वेट देते हैं, और इस वेट का उपयोग फ़ोर्क चॉइस द्वारा यह निर्धारित करने के लिए किया जाता है कि नवीनतम हेड क्या है।

अब आइए एक-ब्लॉक पुनर्गठन के बारे में जानें। शुरुआत में, सब कुछ सामान्य होता है — हर कोई ब्लॉक N का अनुप्रमाणन करता है, यहाँ तक कि हमलावर भी। फिर N+1 को N के ऊपर बनाया जाता है, और क्योंकि हमलावर उस ब्लॉक को वेट नहीं देना चाहता जिसे वे पुनर्गठित करने की कोशिश कर रहे हैं, वे इसके बजाय ब्लॉक N का अनुप्रमाणन करते हैं। ब्लॉक N बहुत अधिक वेट प्राप्त कर रहा है क्योंकि हमलावर के पास समिति का दो-तिहाई हिस्सा है — जिसका अर्थ है कि उन्हें मोटे तौर पर पूरे स्टेक के दो-तिहाई हिस्से को नियंत्रित करने की आवश्यकता है।

एक-तिहाई ईमानदार लोगों ने N+1 का अनुप्रमाणन किया, दो-तिहाई ने N का। अब ब्लॉक N+2 आता है — जाहिर है हमलावर इसे N पर बनाता है, और अपने स्वयं के ब्लॉक का अनुप्रमाणन करता है। ईमानदार सत्यापकों के दृष्टिकोण से, N+1 अभी भी वेट के मामले में आगे है क्योंकि N+1 और N+2 दोनों ब्लॉक N का पूरा वेट प्राप्त करते हैं, लेकिन N+1 में यह एक-तिहाई अनुप्रमाणन भी है जिसकी N+2 में कमी है।

यदि हम इसका मिलान करें — ब्लॉक N+1 में एक-तिहाई प्लस एक-तिहाई मूल्य के अनुप्रमाणन हैं, जो दो-तिहाई देते हैं, और ब्लॉक N+2 में भी दो-तिहाई हैं। सरलता के लिए मान लेते हैं कि टाईब्रेक हमलावर के पक्ष में जाता है। तब N+3, N+2 को आगे बढ़ते हुए देखेगा और उसके ऊपर निर्माण करेगा।

आपको यह अंदाज़ा देने के लिए कि ये धारणाएँ कितनी हास्यास्पद हैं — भले ही आपके पास 65% स्टेक करने वाला हो, किसी भी दिए गए स्लॉट में समिति के दो-तिहाई हिस्से को नियंत्रित करने की आपकी संभावना 0.05% है। यह दर्शाता है कि समानांतर अनुप्रमाणन की शक्ति वास्तविक है — प्रूफ-ऑफ़-स्टेक इथेरियम में एक्स-पोस्ट पुनर्गठन अविश्वसनीय रूप से कठिन हैं, यदि लगभग असंभव नहीं हैं।

एक्स-एंटे पुनर्गठन हमले के तंत्र (7:34)

अब मैं एक्स-एंटे पुनर्गठन के बारे में बात करने जा रहा हूँ। यह हमला न्यूडर और अन्य के एक पेपर पर आधारित है। हमने हाल ही में इस हमले में काफी सुधार किया है। हमने इस पर एक पेपर भी लिखा है और इसे ठीक समय पर arXiv पर अपलोड करने में कामयाब रहे।

इसके अलावा अग्रिम रूप से — चिंता न करें, इसके शमन मौजूद हैं। उन्हें द मर्ज से पहले मर्ज कर दिया जाएगा।

एक्स-एंटे पुनर्गठन हमला कैसे काम करता है? प्रारंभ में, ब्लॉक N — हमेशा की तरह, हर कोई इसका अनुप्रमाणन करता है। अब आप N+1 के प्रस्तावक हैं। आप इसे प्रस्तावित करते हैं और एक ही सत्यापक के साथ निजी तौर पर इसका अनुप्रमाणन करते हैं। महत्वपूर्ण बात यह है कि आप इसे निजी रखते हैं — आप इसे जारी नहीं करते हैं और आप इसे P2P लेयर पर प्रसारित नहीं करते हैं।

होता यह है कि ईमानदार लोग ब्लॉक N+1 को नहीं देखते हैं, इसलिए वे ब्लॉक N का अनुप्रमाणन करेंगे। यही तरकीब है — आपको वह वेट विरासत में मिलता है और आपको वास्तव में इससे लड़ना नहीं पड़ता है।

आइए फिलहाल शून्य विलंबता मान लें। स्लॉट N+2 में, हम हमलावर के रूप में जो करते हैं वह यह है कि ब्लॉक N+1 और निजी अनुप्रमाणन दोनों को एक ही समय में जारी करते हैं। स्लॉट N+2 में ईमानदार सत्यापकों को एक ब्लॉक का अनुप्रमाणन करने की आवश्यकता होती है। उनके दृष्टिकोण से वे ब्लॉक N+2 और ब्लॉक N+1 को इस एक निजी अनुप्रमाणन के साथ देखते हैं। यदि वे फ़ोर्क चॉइस चलाते हैं तो वे पाएंगे कि ब्लॉक N+1 का वेट ब्लॉक N+2 से अधिक है, क्योंकि N+1 में निजी अनुप्रमाणन है जो N+2 में नहीं है। यहाँ तक कि सभी ईमानदार सत्यापक भी वास्तव में ब्लॉक N+1 का अनुप्रमाणन करेंगे। N+3 में, सामान्य रूप से, N+1 को चेन के हेड के रूप में देखा जाएगा।

नेटवर्क विलंबता और हमला (10:25)

मैंने शून्य विलंबता मान ली थी, जो स्पष्ट रूप से इस तरह काम नहीं करती है। विलंबता होती है — P2P लेयर पर ब्लॉक और संदेशों को प्रसारित करने में समय लगता है।

जिस तरह से एक हमलावर अभी भी इस तरह के हमले को अंजाम दे सकता है, वह P2P टोपोलॉजी पर विभिन्न स्थानों पर बहुत सारे नोड्स रखकर है। जब स्लॉट N+2 में ईमानदार प्रस्तावक उस ब्लॉक का प्रस्ताव करता है, तो आप प्रसार प्रक्रिया में बहुत जल्दी इसके बारे में सुनते हैं। परिणामस्वरूप, आप इन सभी विभिन्न स्थानों से अपना निजी ब्लॉक जारी कर सकते हैं ताकि बहुमत ब्लॉक N+2 के बारे में सुनने से पहले ब्लॉक N+1 के बारे में सुन ले — जिसका अर्थ है कि वे देखते हैं कि ब्लॉक N+1 वेट में आगे है और वास्तव में इसका अनुप्रमाणन करेंगे।

यहाँ क्या हो रहा है, इस पर फिर से जोर देने के लिए: हमारे पास एक प्रस्तावक है जो एक विलक्षण अनुप्रमाणक के साथ एक-ब्लॉक पुनर्गठन को अंजाम देने का प्रबंधन कर रहा है। कम से कम कहने के लिए, यह आदर्श नहीं है।

लंबे पुनर्गठन के लिए संतुलन रणनीतियाँ (11:42)

यदि आप कुछ फैंसी करना चाहते हैं, तो आप संतुलन रणनीति का उपयोग करके लंबे पुनर्गठन को अंजाम दे सकते हैं। विचार यह है कि ईमानदार समिति को चेन के विभिन्न दृष्टिकोणों में विभाजित किया जाए।

आप अपना निजी ब्लॉक इस तरह से जारी करते हैं कि लगभग आधे ईमानदार नोड्स ब्लॉक N+2 के बारे में सुनने से पहले आपके निजी ब्लॉक और अनुप्रमाणन के बारे में सुन लें — इसलिए वे आपके ब्लॉक का अनुप्रमाणन करते हैं। दूसरे आधे हिस्से के लिए आप चाहते हैं कि वे N+2 का अनुप्रमाणन करने से पहले आपका ब्लॉक न सुनें।

अब आपके पास आधी ईमानदार समिति N+1 का अनुप्रमाणन कर रही है और दूसरी आधी N+2 का अनुप्रमाणन कर रही है। इससे कैसे मदद मिलती है? ईमानदार समिति अब एक-दूसरे को रद्द कर देती है, और हमलावर के रूप में आपको उनसे लड़ना भी नहीं पड़ता है — जो मूल रूप से हमलावर का सपना सच होने जैसा है।

आरेख के माध्यम से चलते हुए: ब्लॉक N हमेशा की तरह, ब्लॉक N+1 — वही कहानी, आप इसे जारी नहीं करते हैं। ईमानदार सत्यापक ब्लॉक N का अनुप्रमाणन करते हैं। ब्लॉक N+2 आता है, आप इसके बारे में जल्दी सुनते हैं, और आप ब्लॉक N+1 को एक अनुप्रमाणन — "स्वे वोट" — के साथ इस तरह से जारी करते हैं कि आधी ईमानदार समिति इसे पहले देखती है और आधी बाद में। आधा वोट N+1 के लिए, दूसरा आधा N+2 के लिए। आप वास्तव में एक ऑफ-बाय-वन विभाजन चाहते हैं ताकि N+2 में एक अनुप्रमाणन अधिक हो, इसलिए N+3, N+2 पर निर्माण करता है और पुनर्गठन को जारी रखता है।

दो-ब्लॉक पुनर्गठन को समाप्त करने के लिए: ब्लॉक N+3 प्रस्तावित है, आप इसे जल्दी सुनते हैं, आप ब्लॉक N+1 और अपने दो शेष अनुप्रमाणन जारी करते हैं, P2P लेयर को भर देते हैं ताकि अधिकांश ईमानदार लोग ब्लॉक N+1 के लिए वोट करें — जिससे इसका वेट ब्लॉक N+3 से अधिक हो जाए और N+4 को N+1 के ऊपर बनाया जाए।

यदि आप इसके बारे में सोचते हैं, तो इन धारणाओं के तहत इन पुनर्गठन को करना अपेक्षाकृत सस्ता है। भले ही आपके पास सही विभाजन न हो, क्योंकि P2P लेयर इतनी बड़ी है कि आपके पास एक संभाव्यता वितरण है जिसे आप लक्षित कर सकते हैं ताकि हमले की लागत समिति के आकार के वर्गमूल में बढ़े।

प्रस्तावक बूस्ट शमन (15:17)

आइए शमन के बारे में बात करते हैं। मूल विचार क्या है? हम प्रस्तावक को थोड़ी अधिक शक्ति देने जा रहे हैं। यदि कोई वैध ब्लॉक समय पर आता है, तो आइए स्लॉट की अवधि के लिए इस ब्लॉक के वेट को बढ़ाएं। उस स्लॉट के पूरा होने के बाद, हम सामान्य एलएमडी-घोस्ट स्कोर फिर से शुरू करते हैं और यह हमेशा की तरह काम करता है।

इसलिए यदि ब्लॉक N+2 समय पर प्रस्तावित किया जाता है और यह वैध है, तो इस ब्लॉक को एक बूस्ट मिलेगा — मान लीजिए कि समिति के आकार का 80%। अब हमलावर का यह प्यारा सा छोटा N+1 अनुप्रमाणन काम नहीं करने वाला है। बिल्कुल नहीं।

संतुलन वाली चीज़ भी अब काम नहीं करती है क्योंकि आपके पास 50/50 का विभाजन है लेकिन बूस्ट हमेशा इसे एक दिशा में धकेलता है। ऐसा कोई तरीका नहीं है जिससे आप उस 50/50 विभाजन को बनाए रख सकें।

विचार यह है कि इस शमन के लागू होने के साथ, विरोधी के अनुप्रमाणनों को ईमानदार सत्यापकों को उनकी पसंद के अनुसार वोट करने के लिए मनाने के लिए बूस्ट के साथ प्रतिस्पर्धा करनी होगी। यह संतुलन रणनीतियों को तोड़ता है और मूल रूप से सभी पुनर्गठन को पूरी तरह से प्रतिबंधित करता है। अच्छी खबर — एक खुला PR है, इसलिए मूल रूप से इसे द मर्ज से पहले मर्ज कर दिया जाएगा।

मुख्य बातें (16:48)

कुछ मुख्य बातें। मैंने एक्स-पोस्ट और एक्स-एंटे पुनर्गठन के बीच के अंतरों के बारे में बात की है। मैंने संक्षेप में प्रूफ-ऑफ-वर्क बनाम प्रूफ-ऑफ़-स्टेक में पुनर्गठन के लिए विभिन्न परिदृश्यों की रूपरेखा तैयार की। मैंने आपको दिखाया कि एक्स-एंटे पुनर्गठन को कैसे अंजाम दिया जाए, लेकिन महत्वपूर्ण रूप से इसे कैसे ठीक किया जाए।

यदि आप इसमें रुचि रखते हैं, तो एक पेपर है — बहुत अधिक विस्तृत, अधिक सूक्ष्म। स्लाइड अपलोड की जाएंगी। यदि आप रुचि रखते हैं तो आकर मुझसे बात करें, और आप मुझे ट्विटर पर भी पा सकते हैं।

मुझे आशा है कि यह आपके लिए दिलचस्प था। बहुत-बहुत धन्यवाद।

क्या यह पेज उपयोगी था?