समय पढ़ें: 6 मिनट
इस ब्लॉग में, हमने लिक्विडिटी स्टेकिंग प्रोटोकॉल की अवधारणा और स्टेकिंग प्रोटोकॉल के लिए ऑडिटिंग दिशानिर्देशों की रूपरेखा तैयार की है। दिशानिर्देश कमजोर स्थानों की एक श्रृंखला को कवर करते हैं जैसे निकासी तंत्र, राउंडिंग त्रुटियां, बाहरी कॉल, शुल्क तर्क, लूप, संरचनाएं, स्टेकिंग अवधि इत्यादि। यह ब्लॉग पोस्ट स्टेकिंग प्रोटोकॉल के ऑडिट के लिए एक उपयोगी संदर्भ होगा और संभावित बग की पहचान करने में आपकी सहायता कर सकता है। .
लिक्विडिटी स्टेकिंग क्या है?
तरलता दांव उपयोगकर्ताओं को तरलता का त्याग किए बिना अपनी क्रिप्टोकरेंसी होल्डिंग्स को दांव पर लगाने और पुरस्कार अर्जित करने की अनुमति देता है। एक निश्चित अवधि के लिए अपने सिक्कों को लॉक करने के बजाय, उपयोगकर्ता एक तरल टोकन प्राप्त कर सकते हैं जो उनकी दांव पर लगी संपत्तियों का प्रतिनिधित्व करता है। इस टोकन का किसी भी अन्य क्रिप्टोकरेंसी की तरह व्यापार या उपयोग किया जा सकता है, जिससे उपयोगकर्ता स्टेकिंग पुरस्कार अर्जित करते हुए अपनी संपत्ति का अपनी इच्छानुसार उपयोग कर सकते हैं।
उदाहरण के लिए, आपके पास 100 ईटीएच हैं जिन्हें आप एथेरियम नेटवर्क पर दांव पर लगाना चाहते हैं। एक निश्चित अवधि के लिए अपने ईटीएच को लॉक करने के बजाय, आप अपने ईटीएच को दांव पर लगाने के लिए लिडो जैसी तरलता स्टेकिंग सेवा का उपयोग कर सकते हैं और बदले में एसटीईटीएच नामक एक तरल टोकन प्राप्त कर सकते हैं। StETH के साथ, आप स्टेकिंग पुरस्कार अर्जित करते हुए अभी भी अपने दांव पर लगे ETH का व्यापार या उपयोग कर सकते हैं।
आइए हिस्सेदारी अनुबंधों का ऑडिट करना शुरू करें:
अनुबंध कोड शुरू करने से पहले उपलब्ध सभी ऑडिट विशिष्टताओं की जांच करें। यह एक श्वेत पत्र, README फ़ाइलें, या कुछ और के रूप में हो सकता है। इनसे आपको पता चल जाएगा कि अनुबंध कोड में क्या होगा।
स्टेकिंग अनुबंध के लिए ऑडिट विनिर्देश दस्तावेज़ को देखते समय, इन बिंदुओं पर गौर करें:
- आधारित फीस के प्रकार और उनकी गणना।
- दांव पर लगाए गए टोकन के लिए पुरस्कार तंत्र
- स्वामी की शक्तियाँ
- क्या अनुबंध में ETH रहेगा?
- अनुबंध में कौन से टोकन होंगे?
- मूल अनुबंध जिससे इसे बनाया गया है
जांचें कि विनिर्देश कोड से मेल खाते हैं। फीस और टोकनोमिक्स से शुरुआत करें, उसके बाद मालिक के अधिकार का सत्यापन करें। जांचें कि सभी पुरस्कार और शुल्क मूल्य दस्तावेज़ीकरण के अनुसार हैं।
देखने लायक संवेदनशील स्थान?
1. इनाम वापसी तंत्र:
जांचें कि दांव पर लगाए गए टोकन पुरस्कार तंत्र को सही ढंग से लागू किया गया है और पुरस्कार सभी हितधारकों को उचित और आनुपातिक रूप से वितरित किए गए हैं। परियोजनाएँ दो तरीकों से पुरस्कार वितरित कर सकती हैं: या तो स्वचालित रूप से, आवधिक आधार पर, या स्वयं उपयोगकर्ताओं के अनुरोध पर। एक निकासी फ़ंक्शन को प्रोटोकॉल के व्यावसायिक तर्क के अनुसार कार्यान्वित और अनुकूलित किया जा सकता है।
नीचे कुछ चौकियाँ दी गई हैं:
- जांचें कि क्या कोई उपयोगकर्ता अपने इनाम + दांव पर लगी राशि से अधिक निकालने में सक्षम है।
- राशि गणना में अतिप्रवाह/अंडरफ्लो की जाँच करें
- जांचें कि क्या गणना के दौरान कुछ पैरामीटर पुरस्कारों पर नकारात्मक प्रभाव डाल सकते हैं।
- यदि इस फ़ंक्शन में ब्लॉक.टाइमस्टैम्प या ब्लॉक.नंबर का उपयोग किया जाता है। जांचें कि क्या इसका किसी भी तरह से शोषण किया जा सकता है।
2. शुल्क तर्क:
यदि जमा और निकासी कुछ शुल्क के अधीन है, तो सत्यापित करें कि कोई भी एकल उपयोगकर्ता शुल्क को बायपास नहीं कर सकता है। इसके अतिरिक्त, किसी भी संभावित ओवरफ़्लो या अंडरफ़्लो समस्या के प्रति सतर्क रहें। शुल्क सेटिंग में परिवर्तन करने के लिए केवल व्यवस्थापक या स्वामी को ही अधिकृत किया जाना चाहिए। यह भी सत्यापित करें कि अधिकतम शुल्क के लिए एक सीमा स्थापित की गई है, जिससे व्यवस्थापक को इसे अत्यधिक उच्च राशि पर निर्धारित करने से रोका जा सके।
3. एलपी टोकन की ढलाई/जलाने की व्यवस्था:
सत्यापित करें कि खनन और दहन तंत्र सही ढंग से कार्यान्वित किया गया है या नहीं। बर्न फ़ंक्शन को मिंट फ़ंक्शन द्वारा किए गए सभी राज्य परिवर्तनों को उलट देना चाहिए। इसके अतिरिक्त, यह सत्यापित करना महत्वपूर्ण है कि पूल खाली होने पर उपयोगकर्ताओं को पहली हिस्सेदारी के दौरान उचित मात्रा में टोकन प्राप्त होते हैं।
किसी भी छिपी हुई भेद्यता को उजागर करने के लिए खनन और जलने के कार्यों के तर्क को गणितीय रूप से सत्यापित किया जा सकता है। साथ ही, खनन किए गए एलपी टोकन की कुल आपूर्ति दांव पर लगी संपत्तियों से अधिक नहीं होनी चाहिए।
4. पूर्णांकन त्रुटियाँ:
यद्यपि कुछ छोटी-मोटी गोलाई संबंधी गलतियाँ आम तौर पर अपरिहार्य होती हैं और चिंता का विषय नहीं होती हैं, फिर भी जब उन्हें गुणा करना संभव हो तो वे काफी बढ़ सकती हैं। ऐसे किनारे के मामलों की तलाश करें जहां कोई व्यक्ति बार-बार स्टेकिंग और अनस्टेकिंग द्वारा त्रुटियों को पूरा करने से लाभ उठा सकता है।
यह निर्धारित करने के लिए कि क्या पूर्णांकन त्रुटियाँ समय की विस्तारित अवधि में पर्याप्त मात्रा में जमा हो सकती हैं, हम गणितीय रूप से संभावित पूर्णांकन त्रुटियों की सीमा की गणना कर सकते हैं।
5. दांव लगाने की अवधि:
सुनिश्चित करें कि अनुबंध में हिस्सेदारी अवधि की गणना निर्दिष्ट व्यावसायिक तर्क के साथ संरेखित हो। अवधि जांच को दरकिनार करके सत्यापित करें कि उपयोगकर्ता दांव की अवधि समाप्त होने से पहले पुरस्कार नहीं भुना सकते हैं। इसके अलावा, जांचें कि क्या किसी हमलावर द्वारा अधिक पुरस्कार प्राप्त करने के लिए स्टेकिंग की अवधि का फायदा उठाया जा सकता है।
6. बाहरी कॉल और टोकन हैंडलिंग:
अधिकांश बाहरी कॉल टोकन अनुबंधों के लिए होंगी। इसलिए, हमें यह निर्धारित करना होगा कि स्टेकिंग अनुबंध किस प्रकार के टोकन को संभालेगा। किसी भी त्रुटि और पुनर्प्रवेश हमलों के लिए बाहरी कॉल की जाँच करना आवश्यक है। डिफ्लेशनरी टोकन या ट्रांसफर फीस वाले टोकन, जैसे सेफमून, एक समस्या पैदा कर सकते हैं यदि उनके तर्क को सही ढंग से लागू नहीं किया गया है।
7. मूल्य हेरफेर जाँच:
फ्लैश ऋण के माध्यम से मूल्य में हेरफेर डेफी परियोजनाओं पर सबसे लगातार हैक में से एक है। ऐसी स्थितियाँ हो सकती हैं जहां दुर्भावनापूर्ण अभिनेता बड़ी मात्रा में टोकन को स्टेक करने या अनस्टेक करने के दौरान कीमतों में हेरफेर करने के लिए फ्लैश लोन का उपयोग कर सकते हैं। एज-केस परिदृश्यों से बचने के लिए स्टेकिंग और अनस्टेकिंग कार्यों की सावधानीपूर्वक समीक्षा करें, जिसके परिणामस्वरूप अचानक ऋण-आधारित मूल्य हेरफेर के हमले हो सकते हैं और अन्य उपयोगकर्ताओं के धन की हानि हो सकती है।
8. कुछ अतिरिक्त जाँचें:
- लूप्स: यदि अनुबंध तर्क में सरणियों पर लूपिंग शामिल है, तो यह सुनिश्चित करना महत्वपूर्ण है कि ब्लॉक गैस सीमा पार न हो। यह तब हो सकता है जब सरणी का आकार बहुत बड़ा हो, इसलिए आपको जांच करनी चाहिए कि कौन से फ़ंक्शन सरणी के आकार को बढ़ा सकते हैं और क्या कोई उपयोगकर्ता DoS हमले का कारण बनने के लिए इसका फायदा उठा सकता है। इसकी जांच करो रिपोर्ट.
- संरचनाएँ: स्टेकिंग अनुबंध उपयोगकर्ता या पूल डेटा को संग्रहीत करने के लिए संरचना प्रकार का उपयोग करते हैं। किसी फ़ंक्शन के भीतर किसी संरचना की घोषणा या एक्सेस करते समय, यह निर्दिष्ट करना महत्वपूर्ण है कि "मेमोरी" या "स्टोरेज" का उपयोग किया जाए या नहीं। इससे हमें कुछ गैस बचाने में मदद मिल सकती है। अधिक जानकारी के लिए कृपया देखें इस लेख के लिए.
- दौड़ रहा है: ऐसे किसी भी परिदृश्य की तलाश करें जहां दुर्भावनापूर्ण अभिनेता अपने लाभ के लिए किसी भी लेनदेन को आगे बढ़ा सकते हैं।
- फ़ंक्शन दृश्यता/अभिगम नियंत्रण जांच: कोई भी फ़ंक्शन जिसे बाहरी या सार्वजनिक घोषित किया गया है, उस तक कोई भी पहुंच सकता है। इसलिए, यह सुनिश्चित करना महत्वपूर्ण है कि कोई भी सार्वजनिक समारोह कोई संवेदनशील कार्य नहीं कर सके। यह सत्यापित करना महत्वपूर्ण है कि स्टेकिंग प्रोटोकॉल ने स्टेक किए गए सिक्कों और सिस्टम के बुनियादी ढांचे दोनों तक अनधिकृत पहुंच को रोकने के लिए उचित नियंत्रण लागू किया है।
- केंद्रीकरण जोखिम: यह महत्वपूर्ण है कि मालिक को अत्यधिक शक्तियाँ न दी जाएँ। यदि व्यवस्थापक पते से छेड़छाड़ की जाती है, तो इससे प्रोटोकॉल को महत्वपूर्ण नुकसान हो सकता है। सत्यापित करें कि स्वामी या व्यवस्थापक विशेषाधिकार उचित हैं और सुनिश्चित करें कि प्रोटोकॉल में उन स्थितियों से निपटने के लिए एक योजना है जहां व्यवस्थापक की निजी कुंजी लीक हो गई है।
- ETH/WETH हैंडलिंग: अनुबंधों में अक्सर ईटीएच को संभालने के लिए विशिष्ट तर्क शामिल होते हैं। उदाहरण के लिए, जब msg.value > 0, एक अनुबंध ETH को WETH में परिवर्तित कर सकता है जबकि WETH को सीधे प्राप्त करने की अनुमति देता है। जब कोई उपयोगकर्ता WETH को मुद्रा के रूप में निर्दिष्ट करता है लेकिन कॉल के साथ ETH भेजता है, तो यह कुछ अपरिवर्तनीयताओं को तोड़ सकता है और गलत व्यवहार को जन्म दे सकता है।
अब तक, हमने तरलता हिस्सेदारी प्रोटोकॉल और ऐसे प्रोटोकॉल के लिए ऑडिटिंग दिशानिर्देशों पर चर्चा की है। संक्षेप में, लिक्विडिटी स्टेकिंग उपयोगकर्ताओं को लिक्विडिटी का त्याग किए बिना स्टेकिंग पुरस्कार अर्जित करने की अनुमति देता है। हमने स्टेकिंग अनुबंधों में कमजोर स्थानों की रूपरेखा तैयार की है, जिन पर ऑडिटरों को ध्यान देना चाहिए, जैसे निकासी तंत्र, शुल्क तर्क, एलपी टोकन मिंटिंग/बर्निंग मैकेनिज्म, राउंडिंग त्रुटियां, स्टेकिंग अवधि, बाहरी कॉल और मूल्य हेरफेर जांच।
हम ऑडिटरों को ऑडिट विनिर्देश दस्तावेजों की जांच करने, कोड के साथ विनिर्देशों का मिलान करने और फीस और टोकनोमिक्स सत्यापन की जांच करने की सलाह देते हैं। हम अतिरिक्त जांच की भी अनुशंसा करते हैं जैसे सरणियों पर लूपिंग, संरचना प्रकार डेटा के लिए मेमोरी या स्टोरेज निर्दिष्ट करना और फ्रंट-रनिंग परिदृश्य। ये दिशानिर्देश स्टेकिंग प्रोटोकॉल के ऑडिट के लिए उपयोगी होंगे और संभावित बग की पहचान करने में मदद करेंगे।
11 दृश्य
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोब्लॉकचैन। Web3 मेटावर्स इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- स्रोत: https://blog.quillhash.com/2023/03/10/guidelines-for-auditing-staking-protocols/
- :है
- $यूपी
- 100
- a
- योग्य
- पहुँच
- पहुँचा
- तक पहुँचने
- अनुसार
- कार्रवाई
- अभिनेताओं
- अतिरिक्त
- इसके अतिरिक्त
- पता
- व्यवस्थापक
- लाभ
- सब
- की अनुमति दे
- की अनुमति देता है
- राशि
- और
- किसी
- उपयुक्त
- हैं
- ऐरे
- AS
- संपत्ति
- At
- आक्रमण
- आक्रमण
- ध्यान
- आडिट
- लेखा परीक्षा
- लेखा परीक्षकों
- अधिकार
- स्वतः
- उपलब्ध
- आधारित
- आधार
- BE
- से पहले
- शुरू करना
- शुरू
- खंड
- ब्लॉग
- टूटना
- कीड़े
- जलाना
- व्यापार
- by
- गणना
- गणना
- कॉल
- बुलाया
- कॉल
- कर सकते हैं
- नही सकता
- सावधानी से
- मामलों
- कारण
- कुछ
- परिवर्तन
- चेक
- जाँचता
- कोड
- सिक्के
- छेड़छाड़ की गई
- संकल्पना
- चिंता
- शामिल
- अनुबंध
- ठेके
- नियंत्रण
- नियंत्रण
- बदलना
- सका
- आवरण
- महत्वपूर्ण
- cryptocurrency
- मुद्रा
- अनुकूलित
- तिथि
- Defi
- डीआईआई प्रोजेक्ट्स
- अपस्फीतिकर
- पैसे जमा करने
- निर्धारित करना
- सीधे
- चर्चा की
- बांटो
- वितरित
- दस्तावेज़
- दस्तावेज़ीकरण
- दस्तावेजों
- डॉस
- दौरान
- कमाना
- कमाई
- Edge
- भी
- सुनिश्चित
- त्रुटियाँ
- आवश्यक
- स्थापित
- आदि
- ETH
- ethereum
- इथेरियम नेटवर्क
- उदाहरण
- से अधिक
- अधिकता से
- शोषण करना
- शोषित
- बाहरी
- काफी
- शुल्क
- फीस
- कुछ
- फ़ाइलें
- प्रथम
- तय
- फ़्लैश
- फ्लैश ऋण
- पीछा किया
- के लिए
- प्रपत्र
- बारंबार
- से
- समारोह
- कार्यों
- धन
- गैस
- मिल
- देना
- आगे बढ़ें
- दिशा निर्देशों
- हैक्स
- संभालना
- हैंडलिंग
- है
- मदद
- छिपा हुआ
- हाई
- पकड़
- होल्डिंग्स
- HTTPS
- विचार
- पहचान करना
- प्रभाव
- कार्यान्वित
- महत्वपूर्ण
- in
- शामिल
- बढ़ना
- करें-
- इंफ्रास्ट्रक्चर
- बजाय
- जांच
- मुद्दों
- IT
- आईटी इस
- Instagram पर
- बड़ा
- नेतृत्व
- लीडो
- पसंद
- सीमा
- तरल
- तरल टोकन
- चलनिधि
- ऋण
- ऋण
- देखिए
- देख
- बंद
- LP
- बनाया गया
- जोड़ - तोड़
- मैच
- गणितीय
- अधिकतम
- तंत्र
- याद
- हो सकता है
- नाबालिग
- टकसाल
- ढाला
- मिंटिंग
- गलतियां
- अधिक
- अधिकांश
- नकारात्मक
- नेटवर्क
- संख्या
- of
- on
- ONE
- अन्य
- उल्लिखित
- मालिक
- काग़ज़
- पैरामीटर
- वेतन
- निष्पादन
- अवधि
- समय-समय
- जगह
- योजना
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- कृप्या अ
- अंक
- पूल
- संभव
- पद
- संभावित
- शक्तियां
- को रोकने के
- रोकने
- मूल्य
- मूल्य
- निजी
- निजी कुंजी
- विशेषाधिकारों
- मुसीबत
- लाभ
- परियोजनाओं
- प्रोटोकॉल
- प्रोटोकॉल
- सार्वजनिक
- रेंज
- प्राप्त करना
- प्राप्त
- की सिफारिश
- छुड़ाना
- बार बार
- का प्रतिनिधित्व करता है
- का अनुरोध
- परिणाम
- वापसी
- उल्टा
- की समीक्षा
- इनाम
- पुरस्कार
- जोखिम
- त्याग
- साफमून
- सहेजें
- परिदृश्यों
- संवेदनशील
- सेवा
- की स्थापना
- सेटिंग्स
- चाहिए
- महत्वपूर्ण
- काफी
- एक
- स्थितियों
- आकार
- So
- कुछ
- कुछ
- विशिष्ट
- विनिर्देश
- विनिर्देशों
- विनिर्दिष्ट
- दांव
- कुल रकम
- पके हुए ETH
- स्टाकर
- स्टेकिंग
- जगे हुए पुरस्कार
- शुरू
- राज्य
- स्टेथ
- फिर भी
- भंडारण
- की दुकान
- विषय
- पर्याप्त
- ऐसा
- आपूर्ति
- कि
- RSI
- खंड
- लेकिन हाल ही
- उन
- अपने
- इसलिये
- इन
- द्वार
- पहर
- टाइमस्टैम्प
- सेवा मेरे
- टोकन
- टोकन
- टोकन
- कुल
- व्यापार
- कारोबार
- ट्रांजेक्शन
- स्थानांतरण
- प्रकार
- आम तौर पर
- उजागर
- us
- उपयोग
- उपयोगकर्ता
- उपयोगकर्ताओं
- सत्यापन
- मूल्य
- मान
- सत्यापित
- सत्यापित
- के माध्यम से
- भेद्यता
- चपेट में
- मार्ग..
- तरीके
- weth
- क्या
- या
- कौन कौन से
- जब
- सफेद
- श्वेत पत्र
- मर्जी
- साथ में
- धननिकासी
- धननिकासी
- अंदर
- बिना
- आप
- आपका
- जेफिरनेट