प्रूफ-ऑफ-स्टेक इथेरियममधील पुनर्रचनांचा (reorgs) खेळ
कॅस्पर श्वार्झ-शिलिंग प्रूफ-ऑफ-स्टेक इथेरियममधील ब्लॉक पुनर्रचना हल्ल्यांवरील संशोधन सादर करतात, ज्यामध्ये हल्ल्याचे मार्ग, संरक्षण यंत्रणा आणि प्रोटोकॉल-स्तरावरील उपाययोजनांचा समावेश आहे.
Date published: 29 नोव्हेंबर, 2022
हे सादरीकरण प्रूफ-ऑफ-स्टेक (PoS) इथेरियममध्ये शक्य असलेल्या ब्लॉक पुनर्रचनांचे प्रकार आणि त्यांना रोखण्यासाठी तयार केलेल्या उपाययोजनांचा शोध घेते. इथेरियम फाउंडेशनच्या रोबस्ट इन्सेंटिव्ह्ज ग्रुपमधील संशोधक कॅस्पर श्वार्झ-शिलिंग, प्रूफ-ऑफ-वर्क (PoW) आणि प्रूफ-ऑफ-स्टेक यांच्यातील सुरक्षा परिदृश्याची तुलना करून, एक्स-पोस्ट (ex-post) आणि एक्स-अँटे (ex-ante) पुनर्रचनांच्या कार्यपद्धतीबद्दल माहिती देतात.
ही ट्रान्सक्रिप्ट लिसकॉनने प्रकाशित केलेल्या मूळ व्हिडिओ ट्रान्सक्रिप्टची (opens in a new tab) एक सुलभ प्रत आहे. वाचनीयतेसाठी यात थोडे संपादन केले आहे.
परिचय आणि पार्श्वभूमी (0:03)
तर स्वागत आहे. आज मी प्रूफ-ऑफ-स्टेक इथेरियममध्ये शक्य असलेल्या पुनर्रचनांबद्दल बोलणार आहे.
मी नुकताच इथेरियम फाउंडेशनमध्ये, विशेषतः रोबस्ट इन्सेंटिव्ह्ज ग्रुपमध्ये सामील झालो आहे. मुळात आम्ही एक संशोधन संघ आहोत जो कोणत्याही प्रकारच्या प्रोत्साहनांवर (incentives) लक्ष केंद्रित करतो. मी हे थोडक्यात सांगणार आहे — हे सादरीकरण माहितीने भरलेले आहे आणि तुम्हाला आमचे बहुतांश काम GitHub वर मिळेल.
पुनर्रचनांचे दोन प्रकार (0:44)
आज मला पुनर्रचनांबद्दल बोलायचे आहे, आणि विशेषतः प्रूफ-ऑफ-स्टेक इथेरियमच्या क्षेत्रात शक्य असलेल्या दोन वेगवेगळ्या प्रकारच्या पुनर्रचनांची रूपरेषा मला मांडायची आहे.
एकीकडे आपल्याकडे एक्स-पोस्ट पुनर्रचना (ex-post reorgs) आहेत आणि दुसरीकडे एक्स-अँटे पुनर्रचना (ex-ante reorgs) आहेत. या थोड्या दिखाऊ लॅटिन नावांबद्दल मला क्षमा करा, पण ते काम सोपे करतात.
जेव्हा आपण पुनर्रचनांबद्दल बोलतो तेव्हा आपण सहसा एक्स-पोस्ट पुनर्रचनांचाच विचार करतो. विरोधक एक ब्लॉक पाहतो — जर तो मौल्यवान असेल तर ते त्याची पुनर्रचना करण्याचा प्रयत्न करू शकतात. तर येथील आकृतीमध्ये आपण पाहतो की ब्लॉक N+1 हा तो ब्लॉक आहे ज्याची हल्लेखोराला पुनर्रचना करायची आहे, आणि त्याच मूळ (parent) ब्लॉक 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 एका साक्षांकनासह — "निर्णायक मत (sway vote)" — अशा प्रकारे प्रसारित करता की निम्म्या प्रामाणिक समितीला तो आधी दिसतो आणि निम्म्या समितीला नंतर. निम्मे 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)
काही महत्त्वाचे मुद्दे. मी एक्स-पोस्ट आणि एक्स-अँटे पुनर्रचनांमधील फरकांबद्दल बोललो आहे. मी प्रूफ-ऑफ-वर्क विरुद्ध प्रूफ-ऑफ-स्टेक मधील पुनर्रचनांसाठी वेगवेगळ्या परिदृश्यांची थोडक्यात रूपरेषा मांडली. मी तुम्हाला एक्स-अँटे पुनर्रचना कशी करायची हे दाखवले पण महत्त्वाचे म्हणजे ती कशी दुरुस्त करायची हे देखील दाखवले.
जर तुम्हाला यात स्वारस्य असेल, तर एक पेपर आहे — खूप अधिक तपशीलवार, अधिक सूक्ष्म. स्लाइड्स अपलोड केल्या जातील. तुम्हाला स्वारस्य असल्यास येऊन माझ्याशी बोला, आणि तुम्ही मला Twitter वर देखील शोधू शकता.
मला आशा आहे की हे तुमच्यासाठी मनोरंजक होते. खूप खूप धन्यवाद.