प्रमुख मजकुराकडे जा
Change page

प्रूफ-ऑफ-स्टेक बक्षिसे आणि दंड

पृष्ठ अखेरचे अद्यतन: २६ फेब्रुवारी, २०२६

Ethereum त्याच्या मूळ क्रिप्टोकरन्सी, ईथर (ETH) वापरून सुरक्षित केले आहे. नोड ऑपरेटर्स जे ब्लॉक्स प्रमाणित करण्यात आणि चेनच्या हेडची ओळख पटवण्यात सहभागी होऊ इच्छितात, ते Ethereum वरील डिपॉझिट कॉन्ट्रॅक्ट मध्ये ईथर जमा करतात. त्यांना नंतर व्हॅलिडेटर सॉफ्टवेअर चालवण्यासाठी ईथरमध्ये पैसे दिले जातात, जे पिअर-टू-पिअर नेटवर्कवर मिळालेल्या नवीन ब्लॉक्सची वैधता तपासते आणि चेनच्या हेडची ओळख पटवण्यासाठी फोर्क-चॉइस अल्गोरिदम लागू करते.

व्हॅलिडेटरसाठी दोन प्राथमिक भूमिका आहेत: १) नवीन ब्लॉक्स तपासणे आणि ते वैध असल्यास त्यांना “साक्षांकित करणे”, २) एकूण व्हॅलिडेटर पूलमधून यादृच्छिकपणे निवडल्यावर नवीन ब्लॉक्स प्रस्तावित करणे. जर व्हॅलिडेटर विचारले असता यापैकी कोणतेही कार्य करण्यास अयशस्वी ठरले, तर ते ईथर पेआउट चुकवतात. व्हॅलिडेटर्सना काहीवेळा सिग्नेचर एग्रीगेशन आणि सिंक कमिटीमध्ये सहभागी होण्याचे कामही दिले जाते.

अशा काही कृती देखील आहेत ज्या चुकून करणे खूप कठीण आहे आणि त्या काही दुर्भावनापूर्ण हेतू दर्शवतात, जसे की एकाच स्लॉटसाठी अनेक ब्लॉक्स प्रस्तावित करणे किंवा एकाच स्लॉटसाठी अनेक ब्लॉक्सना साक्षांकित करणे. हे “स्लॅशेबल” वर्तन आहेत ज्यामुळे व्हॅलिडेटरला नेटवर्कमधून काढून टाकण्यापूर्वी काही प्रमाणात ईथर (1 ETH पर्यंत) बर्न केले जाते, ज्याला 36 दिवस लागतात. स्लॅश केलेल्या व्हॅलिडेटरचा ईथर एक्झिट कालावधीत हळूहळू कमी होत जातो, परंतु 18 व्या दिवशी त्यांना “कोरिलेशन पेनल्टी” मिळते, जी त्याच वेळी अधिक व्हॅलिडेटर्सना स्लॅश केल्यावर मोठी असते. म्हणूनच कन्सेन्सस मेकॅनिझमची प्रोत्साहन रचना प्रामाणिकपणासाठी पैसे देते आणि वाईट कलाकारांना शिक्षा देते.

सर्व बक्षिसे आणि दंड प्रत्येक इपॉकमध्ये एकदा लागू केले जातात.

अधिक माहितीसाठी पुढे वाचा...

बक्षिसे आणि दंड

पुरस्कार

जेव्हा व्हॅलिडेटर्स बहुसंख्य इतर व्हॅलिडेटर्सशी सुसंगत मते देतात, ब्लॉक्स प्रस्तावित करतात, आणि सिंक कमिटीमध्ये सहभागी होतात, तेव्हा त्यांना बक्षिसे मिळतात. प्रत्येक इपॉकमधील बक्षिसांचे मूल्य base_reward वरून मोजले जाते. हे मूळ एकक आहे ज्यावरून इतर बक्षिसे मोजली जातात. base_reward हे प्रति इपॉक इष्टतम परिस्थितीत एका व्हॅलिडेटरला मिळालेले सरासरी बक्षीस दर्शवते. हे व्हॅलिडेटरच्या प्रभावी बॅलन्स आणि सक्रिय व्हॅलिडेटर्सच्या एकूण संख्येवरून खालीलप्रमाणे मोजले जाते:

1base_reward = effective_balance * (base_reward_factor / (base_rewards_per_epoch * sqrt(sum(active_balance))))

जिथे base_reward_factor 64 आहे, base_rewards_per_epoch 4 आहे आणि sum(active balance) सर्व सक्रिय व्हॅलिडेटर्समधील एकूण स्टेक केलेला ईथर आहे.

याचा अर्थ असा की बेस रिवॉर्ड व्हॅलिडेटरच्या प्रभावी बॅलन्सच्या प्रमाणात आहे आणि नेटवर्कवरील व्हॅलिडेटर्सच्या संख्येच्या व्यस्त प्रमाणात आहे. व्हॅलिडेटर्स जितके जास्त, तितके एकूण इश्युअन्स जास्त (sqrt(N) प्रमाणे) पण प्रति व्हॅलिडेटर base_reward तितका लहान (1/sqrt(N) प्रमाणे). हे घटक स्टेकिंग नोडसाठी APR ला प्रभावित करतात. विटालिकच्या नोट्सopens in a new tab मध्ये यामागील तर्क वाचा.

एकूण बक्षीस नंतर पाच घटकांच्या बेरजेनुसार मोजले जाते, ज्यापैकी प्रत्येकाचे एक वेटिंग असते जे ठरवते की प्रत्येक घटक एकूण बक्षिसामध्ये किती भर घालतो. हे घटक आहेत:

1१. सोर्स व्होट: व्हॅलिडेटरने योग्य सोर्स चेकपॉइंटसाठी वेळेवर मत दिले आहे
2२. टार्गेट व्होट: व्हॅलिडेटरने योग्य टार्गेट चेकपॉइंटसाठी वेळेवर मत दिले आहे
3३. हेड व्होट: व्हॅलिडेटरने योग्य हेड ब्लॉकसाठी वेळेवर मत दिले आहे
4४. सिंक कमिटी रिवॉर्ड: व्हॅलिडेटरने सिंक कमिटीमध्ये भाग घेतला आहे
5५. प्रपोजर रिवॉर्ड: व्हॅलिडेटरने योग्य स्लॉटमध्ये ब्लॉक प्रस्तावित केला आहे

प्रत्येक घटकासाठी वेटिंग खालीलप्रमाणे आहेत:

1TIMELY_SOURCE_WEIGHT uint64(14)
2TIMELY_TARGET_WEIGHT uint64(26)
3TIMELY_HEAD_WEIGHT uint64(14)
4SYNC_REWARD_WEIGHT uint64(2)
5PROPOSER_WEIGHT uint64(8)

या वजनांची बेरीज 64 आहे. लागू होणाऱ्या वजनांची बेरीज 64 ने भागून बक्षीस मोजले जाते. एखादा व्हॅलिडेटर ज्याने वेळेवर सोर्स, टार्गेट आणि हेड व्होट्स दिले आहेत, ब्लॉक प्रस्तावित केला आहे आणि सिंक कमिटीमध्ये भाग घेतला आहे, त्याला 64/64 * base_reward == base_reward मिळू शकते. तथापि, एक व्हॅलिडेटर सहसा ब्लॉक प्रपोजर नसतो, त्यामुळे त्याचे जास्तीत जास्त बक्षीस 64-8 /64 * base_reward == 7/8 * base_reward आहे. जे व्हॅलिडेटर ब्लॉक प्रपोजर किंवा सिंक कमिटीमध्ये नाहीत, ते 64-8-2 / 64 * base_reward == 6.75/8 * base_reward मिळवू शकतात.

जलद साक्षांकनांना प्रोत्साहन देण्यासाठी अतिरिक्त बक्षीस जोडले जाते. हे inclusion_delay_reward आहे. याचे मूल्य base_reward ला 1/delay ने गुणल्यावर येणाऱ्या मूल्याच्या बरोबरीचे असते, जिथे delay म्हणजे ब्लॉक प्रस्ताव आणि साक्षांकन यांना वेगळे करणाऱ्या स्लॉट्सची संख्या आहे. उदाहरणार्थ, जर साक्षांकन ब्लॉक प्रस्तावाच्या एका स्लॉटमध्ये सादर केले गेले, तर साक्षांकित करणाऱ्याला base_reward * 1/1 == base_reward मिळते. जर साक्षांकन पुढील स्लॉटमध्ये आले, तर साक्षांकित करणाऱ्याला base_reward * 1/2 मिळते आणि असेच पुढे.

ब्लॉक प्रस्तावक ब्लॉकमध्ये समाविष्ट प्रत्येक वैध साक्षांकनासाठी 8 / 64 * base_reward प्राप्त करतात, त्यामुळे बक्षिसाचे वास्तविक मूल्य साक्षांकित करणाऱ्या व्हॅलिडेटर्सच्या संख्येनुसार स्केल होते. ब्लॉक प्रस्तावक त्यांच्या प्रस्तावित ब्लॉकमध्ये इतर व्हॅलिडेटर्सच्या गैरवर्तनाचा पुरावा समाविष्ट करून आपले बक्षीस वाढवू शकतात. ही बक्षिसे व्हॅलिडेटरच्या प्रामाणिकपणाला प्रोत्साहन देणारे “गाजर” आहेत. स्लॅशिंगचा समावेश करणाऱ्या ब्लॉक प्रस्तावकला slashed_validators_effective_balance / 512 बक्षीस दिले जाईल.

दंड

आतापर्यंत आपण उत्तम वर्तन करणाऱ्या व्हॅलिडेटर्सचा विचार केला आहे, पण जे व्हॅलिडेटर्स वेळेवर हेड, सोर्स आणि टार्गेट मते देत नाहीत किंवा हळू देतात त्यांचे काय?

टार्गेट आणि सोर्स मते चुकवल्याबद्दलचा दंड, साक्षांकित करणाऱ्याने ते सादर केल्यास त्याला मिळणाऱ्या बक्षिसांच्या बरोबरीचा असतो. याचा अर्थ असा की त्यांच्या बॅलन्समध्ये बक्षीस जोडण्याऐवजी, त्यांच्या बॅलन्समधून समान मूल्य काढून टाकले जाते. हेड व्होट चुकवल्याबद्दल कोणताही दंड नाही (म्हणजे, हेड व्होट्सना फक्त बक्षीस दिले जाते, कधीही दंड आकारला जात नाही). inclusion_delay सोबत कोणताही दंड जोडलेला नाही - बक्षीस फक्त व्हॅलिडेटरच्या बॅलन्समध्ये जोडले जाणार नाही. ब्लॉक प्रस्तावित करण्यात अयशस्वी झाल्यास कोणताही दंड नाही.

कन्सेन्सस स्पेक्सopens in a new tab मध्ये बक्षिसे आणि दंडांबद्दल अधिक वाचा. बेलॅट्रिक्स अपग्रेडमध्ये बक्षिसे आणि दंड समायोजित केले गेले - Peep an EIP व्हिडिओopens in a new tab मध्ये यावर डॅनी रायन आणि विटालिक यांची चर्चा पहा.

स्लॅशिंग

स्लॅशिंग ही एक अधिक गंभीर कृती आहे ज्यामुळे एका व्हॅलिडेटरला नेटवर्कमधून जबरदस्तीने काढून टाकले जाते आणि त्यांच्या स्टेक केलेल्या ईथरचे संबंधित नुकसान होते. एका व्हॅलिडेटरला स्लॅश करण्याचे तीन मार्ग आहेत, जे सर्व म्हणजे ब्लॉक्सचे अप्रामाणिक प्रस्ताव किंवा साक्षांकन:

  • एकाच स्लॉटसाठी दोन वेगळे ब्लॉक्स प्रस्तावित करणे आणि त्यावर सही करणे
  • एका ब्लॉकला साक्षांकित करून जो दुसऱ्या ब्लॉकला “सराउंड” करतो (प्रभावीपणे इतिहास बदलतो)
  • एकाच ब्लॉकसाठी दोन उमेदवारांना साक्षांकित करून “डबल व्होटिंग” करणे

जर या कृती शोधल्या गेल्या, तर व्हॅलिडेटरला स्लॅश केले जाते. याचा अर्थ असा की 32 ETH व्हॅलिडेटरसाठी 0.0078125 तात्काळ बर्न केले जाते (सक्रिय बॅलन्ससह रेषीय प्रमाणात), त्यानंतर 36 दिवसांचा काढण्याचा कालावधी सुरू होतो. या काढण्याच्या कालावधीत व्हॅलिडेटरचा स्टेक हळूहळू कमी होत जातो. मध्यभागी (18 व्या दिवशी) एक अतिरिक्त दंड लागू केला जातो, ज्याची तीव्रता स्लॅशिंग घटनेच्या 36 दिवस आधी सर्व स्लॅश केलेल्या व्हॅलिडेटर्सच्या एकूण स्टेक केलेल्या ईथरनुसार स्केल होते. याचा अर्थ असा की जेव्हा अधिक व्हॅलिडेटर्सना स्लॅश केले जाते, तेव्हा स्लॅशची तीव्रता वाढते. जास्तीत जास्त स्लॅश म्हणजे सर्व स्लॅश केलेल्या व्हॅलिडेटर्सचा पूर्ण प्रभावी बॅलन्स (म्हणजे, जर बरेच व्हॅलिडेटर्स स्लॅश होत असतील तर ते आपला संपूर्ण स्टेक गमावू शकतात). दुसरीकडे, एकच, वेगळी स्लॅशिंग घटना व्हॅलिडेटरच्या स्टेकचा फक्त एक लहान भाग बर्न करते. हा मध्यबिंदू दंड जो स्लॅश केलेल्या व्हॅलिडेटर्सच्या संख्येनुसार स्केल होतो, त्याला “कोरिलेशन पेनल्टी” म्हणतात.

निष्क्रियता गळती

जर कन्सेन्सस लेअर चारपेक्षा जास्त इपॉक्ससाठी फायनलाइज झाले नाही, तर “निष्क्रियता गळती” नावाचा एक आपत्कालीन प्रोटोकॉल सक्रिय केला जातो. निष्क्रियता गळतीचे अंतिम उद्दिष्ट चेनला फायनलिटी परत मिळवण्यासाठी आवश्यक परिस्थिती निर्माण करणे आहे. वर स्पष्ट केल्याप्रमाणे, फायनलिटीसाठी एकूण स्टेक केलेल्या ईथरपैकी 2/3 बहुमताची सोर्स आणि टार्गेट चेकपॉइंट्सवर सहमत होण्याची आवश्यकता असते. जर एकूण व्हॅलिडेटर्सपैकी 1/3 पेक्षा जास्त व्हॅलिडेटर्स ऑफलाइन गेले किंवा योग्य साक्षांकन सादर करण्यात अयशस्वी झाले, तर 2/3 सुपरमेजोरिटीसाठी चेकपॉइंट्स फायनलाइज करणे शक्य नसते. निष्क्रियता गळतीमुळे निष्क्रिय व्हॅलिडेटर्सचा स्टेक हळूहळू कमी होत जातो जोपर्यंत ते एकूण स्टेकच्या 1/3 पेक्षा कमी नियंत्रित करत नाहीत, ज्यामुळे उर्वरित सक्रिय व्हॅलिडेटर्स चेन फायनलाइज करू शकतात. निष्क्रिय व्हॅलिडेटर्सचा पूल कितीही मोठा असला तरी, उर्वरित सक्रिय व्हॅलिडेटर्स अखेरीस >2/3 स्टेक नियंत्रित करतील. स्टेकचे नुकसान हे निष्क्रिय व्हॅलिडेटर्सना शक्य तितक्या लवकर पुन्हा सक्रिय होण्यासाठी एक मजबूत प्रोत्साहन आहे! मेडाला टेस्टनेटवर निष्क्रियता गळतीची परिस्थिती आली होती, जेव्हा < 66% सक्रिय व्हॅलिडेटर्स ब्लॉकचेनच्या सध्याच्या हेडवर सहमतीवर येऊ शकले नव्हते. निष्क्रियता गळती सक्रिय झाली आणि अखेरीस फायनलिटी पुन्हा मिळवली गेली!

कन्सेन्सस मेकॅनिझमची बक्षीस, दंड आणि स्लॅशिंगची रचना वैयक्तिक व्हॅलिडेटर्सना योग्यरित्या वागण्यासाठी प्रोत्साहित करते. तथापि, या डिझाइन निवडींमधून एक अशी प्रणाली उदयास येते जी अनेक क्लायंट्समध्ये व्हॅलिडेटर्सच्या समान वितरणाला जोरदारपणे प्रोत्साहित करते, आणि एकल-क्लायंट वर्चस्वाला जोरदारपणे परावृत्त करते.

पुढील वाचन

स्रोत

हा लेख उपयुक्त होता का?