اسٹیکنگ پروٹوکول کی آڈیٹنگ کے لیے رہنما اصول

اسٹیکنگ پروٹوکول کی آڈیٹنگ کے لیے رہنما اصول

پڑھنے کا وقت: 6 منٹ

اس بلاگ میں، ہم نے لیکویڈیٹی اسٹیکنگ پروٹوکول کے تصور اور اسٹیکنگ پروٹوکول کے لیے آڈیٹنگ گائیڈ لائنز کا خاکہ پیش کیا ہے۔ رہنما خطوط کمزور مقامات کی ایک رینج کا احاطہ کرتے ہیں جیسے کہ واپسی کے طریقہ کار، راؤنڈنگ ایرر، ایکسٹرنل کالز، فیس لاجک، لوپس، اسٹرکٹس، اسٹیکنگ کا دورانیہ وغیرہ۔ یہ بلاگ پوسٹ اسٹیکنگ پروٹوکول کے آڈٹ کے لیے ایک مفید حوالہ ہو گی اور ممکنہ کیڑوں کی نشاندہی کرنے میں آپ کی مدد کر سکتی ہے۔ .

Liquidity Staking کیا ہے؟

لیکویڈیٹی اسٹیکنگ صارفین کو اپنی کریپٹو کرنسی ہولڈنگز کو داؤ پر لگانے اور لیکویڈیٹی کی قربانی کے بغیر انعامات حاصل کرنے کی اجازت دیتی ہے۔ اپنے سکوں کو ایک مقررہ مدت کے لیے بند کرنے کے بجائے، صارفین ایک مائع ٹوکن حاصل کر سکتے ہیں جو ان کے داغے ہوئے اثاثوں کی نمائندگی کرتا ہے۔ اس ٹوکن کی تجارت یا کسی بھی دوسری کریپٹو کرنسی کی طرح استعمال کیا جا سکتا ہے، جس سے صارفین اپنے اثاثوں کو اپنی مرضی کے مطابق استعمال کر سکتے ہیں جبکہ اس کے باوجود انعامات حاصل کر رہے ہیں۔

Guidelines for Auditing Staking Protocols PlatoBlockchain Data Intelligence. Vertical Search. Ai.

مثال کے طور پر، آپ کے پاس 100 ETH ہے جسے آپ Ethereum نیٹ ورک پر لگانا چاہتے ہیں۔ اپنے ETH کو ایک مقررہ مدت کے لیے بند کرنے کے بجائے، آپ Lido جیسی لیکویڈیٹی اسٹیکنگ سروس کا استعمال کر سکتے ہیں تاکہ آپ کا ETH اسٹیک ہو اور بدلے میں ایک مائع ٹوکن حاصل کیا جائے جسے STETH کہتے ہیں۔ STETH کے ساتھ، آپ اسٹیکنگ ریوارڈز حاصل کرتے ہوئے اب بھی تجارت کر سکتے ہیں یا اپنے اسٹیک شدہ ETH کا استعمال کر سکتے ہیں۔

آئیے اسٹیکنگ کنٹریکٹس کی آڈیٹنگ کے ساتھ شروع کریں:

کنٹریکٹ کوڈ کے ساتھ شروع کرنے سے پہلے دستیاب تمام آڈٹ تصریحات کا جائزہ لیں۔ یہ سفید کاغذ، README فائلوں، یا کسی اور چیز کی شکل میں ہو سکتا ہے۔ یہ آپ کو اندازہ دے گا کہ کنٹریکٹ کوڈ میں کیا ہوگا۔

اسٹیکنگ کنٹریکٹ کے لیے آڈٹ تفصیلات کی دستاویز کو دیکھتے وقت، ان نکات کو دیکھیں:

  • فیس کی اقسام اور ان کا حساب کتاب۔
  • داغ دار ٹوکنز کے لیے انعامات کا طریقہ کار
  • مالک کے اختیارات
  • کیا معاہدہ ETH کو برقرار رکھے گا؟
  • کنٹریکٹ میں کون سے ٹوکن ہوں گے؟
  • اصل معاہدہ جس سے اسے فورک کیا گیا ہے۔

چیک کریں کہ وضاحتیں کوڈ سے ملتی ہیں۔ فیس اور ٹوکنومکس کے ساتھ شروع کریں، اس کے بعد مالک کے اختیار کی تصدیق۔ چیک کریں کہ تمام انعامات اور فیس کی قیمتیں دستاویزات کے مطابق ہیں۔

تلاش کرنے کے لئے کمزور مقامات؟

1. انعام واپس لینے کا طریقہ کار:

چیک کریں کہ اسٹیک شدہ ٹوکن انعامات کا طریقہ کار صحیح طریقے سے نافذ ہے اور یہ کہ انعامات تمام اسٹیکرز میں منصفانہ اور متناسب طور پر تقسیم کیے گئے ہیں۔ پروجیکٹ انعامات کو دو طریقوں سے تقسیم کر سکتے ہیں: یا تو خود بخود، متواتر بنیادوں پر، یا خود صارفین کی درخواست پر۔ پروٹوکول کی کاروباری منطق کے مطابق واپسی کا فنکشن لاگو اور اپنی مرضی کے مطابق کیا جا سکتا ہے۔
ذیل میں چند چیک پوائنٹس ہیں:

  • چیک کریں کہ آیا کوئی صارف اپنے انعام + داؤ پر لگی رقم سے زیادہ رقم نکال سکتا ہے۔
  • رقم کے حساب کتاب میں اوور فلو/زیر بہاؤ کی جانچ کریں۔
  • چیک کریں کہ کیا کچھ پیرامیٹرز حساب کے دوران انعامات پر منفی اثر ڈال سکتے ہیں۔
  • اگر اس فنکشن میں block.timestamp یا block.number استعمال کیا جاتا ہے۔ چیک کریں کہ آیا اس کا کسی بھی طرح سے استحصال کیا جا سکتا ہے۔

2. فیس منطق:

اگر ڈپازٹ اور نکلوانا کچھ فیس کے ساتھ مشروط ہے، تو تصدیق کریں کہ کوئی بھی صارف فیس کو نظرانداز نہیں کرسکتا۔ مزید برآں، کسی بھی ممکنہ اوور فلو یا زیر بہاؤ مسائل کے لیے چوکس رہیں۔ صرف منتظم یا مالک کو فیس کی ترتیبات کو تبدیل کرنے کا اختیار ہونا چاہیے۔ اس بات کی بھی توثیق کریں کہ زیادہ سے زیادہ فیس کے لیے ایک حد قائم کر دی گئی ہے، منتظم کو اسے بہت زیادہ رقم مقرر کرنے سے روکتا ہے۔

3. ایل پی ٹوکن کا منٹنگ/برننگ میکانزم:

تصدیق کریں کہ آیا ٹکسال اور جلانے کے طریقہ کار کو صحیح طریقے سے نافذ کیا گیا ہے۔ برن فنکشن کو ٹکسال فنکشن کے ذریعہ کی گئی تمام ریاستی تبدیلیوں کو ریورس کرنا چاہئے۔ مزید برآں، اس بات کی تصدیق کرنا بہت ضروری ہے کہ پول خالی ہونے پر صارفین کو پہلے داؤ کے دوران مناسب مقدار میں ٹوکن ملے۔

کسی بھی پوشیدہ خطرے سے پردہ اٹھانے کے لیے ٹکسال اور جلانے کے افعال کی منطق کی ریاضیاتی طور پر تصدیق کی جا سکتی ہے۔ نیز، مائنٹ کیے گئے LP ٹوکنز کی کل فراہمی داؤ پر لگے اثاثوں سے زیادہ نہیں ہونی چاہیے۔

4. راؤنڈنگ کی خرابیاں:

اگرچہ کچھ معمولی گول غلطیاں عام طور پر ناگزیر ہوتی ہیں اور تشویش کا باعث نہیں ہوتیں، لیکن جب ان کو ضرب لگانا ممکن ہو تو وہ نمایاں طور پر بڑھ سکتی ہیں۔ کنارے کے معاملات تلاش کریں جہاں کوئی بھی بار بار داؤ لگا کر اور غیر داغ لگا کر غلطیوں سے فائدہ اٹھا سکتا ہے۔

اس بات کا تعین کرنے کے لیے کہ آیا راؤنڈنگ کی غلطیاں ایک طویل مدت کے دوران کافی مقدار میں جمع ہو سکتی ہیں، ہم حسابی طور پر ممکنہ راؤنڈنگ غلطیوں کی حد کا حساب لگا سکتے ہیں۔

5. سٹیکنگ کا دورانیہ:

اس بات کو یقینی بنائیں کہ معاہدے میں سٹاکنگ دورانیہ کا حساب مخصوص کاروباری منطق کے مطابق ہو۔ اس بات کی توثیق کریں کہ استعمال کنندگان دورانیہ کی جانچ پڑتال کو نظرانداز کرکے اسٹیکنگ دورانیہ ختم ہونے سے پہلے انعامات کو نہیں چھڑا سکتے۔ اس کے علاوہ، چیک کریں کہ آیا اسٹیکنگ کی مدت کو حملہ آور مزید انعامات حاصل کرنے کے لیے استعمال کر سکتا ہے۔

6. بیرونی کالز اور ٹوکن ہینڈلنگ:

زیادہ تر بیرونی کالیں ٹوکن کنٹریکٹ پر ہوں گی۔ لہذا، ہمیں اس بات کا تعین کرنا چاہیے کہ اسٹیکنگ کنٹریکٹ کس قسم کے ٹوکن کو سنبھالے گا۔ کسی بھی غلطی اور دوبارہ داخلے کے حملوں کے لیے بیرونی کالوں کو چیک کرنا ضروری ہے۔ ڈیفلیشنری ٹوکنز یا ٹرانسفر فیس والے ٹوکن، جیسے سیفیمون، اگر ان کی منطق کو صحیح طریقے سے لاگو نہیں کیا جاتا ہے تو ایک مسئلہ پیدا کر سکتا ہے۔

7. قیمت میں ہیرا پھیری کی جانچ:

فلیش لون کے ذریعے قیمتوں میں ہیرا پھیری ڈی فائی پروجیکٹس پر اکثر ہیکس میں سے ایک ہے۔ ایسی صورت حال ہو سکتی ہے جہاں نقصان دہ اداکار بڑی مقدار میں ٹوکن کو داغدار کرنے یا غیر داغدار کرنے کے دوران قیمتوں میں ہیرا پھیری کے لیے فلیش لون کا استعمال کر سکتے ہیں۔ کنارہ کشی کے منظرناموں سے بچنے کے لیے اسٹیکنگ اور غیر داغدار افعال کا بغور جائزہ لیں جن کے نتیجے میں قرض پر مبنی قیمتوں میں ہیرا پھیری کے حملے اور دوسرے صارفین کے فنڈز ضائع ہو سکتے ہیں۔

8. کچھ اضافی چیکس:

  • لوپس: اگر معاہدے کی منطق میں صفوں پر لوپنگ شامل ہے، تو یہ یقینی بنانا ضروری ہے کہ بلاک گیس کی حد سے تجاوز نہ کیا جائے۔ یہ اس وقت ہو سکتا ہے جب صف کا سائز بہت بڑا ہو، اس لیے آپ کو اس بات کی تحقیق کرنی چاہیے کہ کون سے فنکشنز سرنی کے سائز کو بڑھا سکتے ہیں اور کیا کوئی صارف DoS حملے کا سبب بننے کے لیے اس کا استحصال کر سکتا ہے۔ یہ چیک کریں۔ رپورٹ.
  • ساخت: اسٹیکنگ کنٹریکٹس صارف یا پول ڈیٹا کو ذخیرہ کرنے کے لیے ساخت کی قسم کا استعمال کرتے ہیں۔ کسی فنکشن کے اندر کسی ڈھانچے کا اعلان یا اس تک رسائی کرتے وقت، یہ بتانا ضروری ہے کہ آیا "میموری" استعمال کرنا ہے یا "اسٹوریج"۔ اس سے ہمیں کچھ گیس بچانے میں مدد مل سکتی ہے۔ مزید معلومات کے لیے، براہ کرم رجوع کریں۔ اس مضمون میں.
  • سامنے والا: کسی ایسے منظرنامے کو تلاش کریں جہاں بدنیتی پر مبنی اداکار اپنے فائدے کے لیے کسی بھی لین دین کو آگے بڑھا سکتے ہیں۔
  • فنکشن کی مرئیت / رسائی کنٹرول چیکس: کوئی بھی فنکشن جسے بیرونی یا عوامی قرار دیا جاتا ہے اس تک کوئی بھی رسائی حاصل کرسکتا ہے۔ اس لیے اس بات کو یقینی بنانا ضروری ہے کہ کوئی بھی عوامی تقریب کوئی حساس کام انجام نہ دے سکے۔ اس بات کی تصدیق کرنا بہت ضروری ہے کہ اسٹیکنگ پروٹوکول نے داغے ہوئے سکوں اور سسٹم کے بنیادی ڈھانچے دونوں تک غیر مجاز رسائی کو روکنے کے لیے مناسب کنٹرولز نافذ کیے ہیں۔
  • مرکزیت کے خطرات: یہ ضروری ہے کہ مالک کو ضرورت سے زیادہ اختیارات نہ دیں۔ اگر ایڈمن ایڈریس سے سمجھوتہ کیا جاتا ہے، تو یہ پروٹوکول کو کافی نقصان پہنچا سکتا ہے۔ تصدیق کریں کہ مالک یا منتظم کی مراعات مناسب ہیں اور اس بات کو یقینی بنائیں کہ پروٹوکول میں ایسے حالات سے نمٹنے کے لیے ایک منصوبہ موجود ہے جہاں منتظم کی نجی کلیدیں لیک ہو جاتی ہیں۔
  • ETH/WETH ہینڈلنگ: معاہدوں میں اکثر ETH سے نمٹنے کے لیے مخصوص منطق شامل ہوتی ہے۔ مثال کے طور پر، جب msg.value > 0، ایک معاہدہ ETH کو WETH میں تبدیل کر سکتا ہے جبکہ WETH کو براہ راست موصول ہونے کی اجازت دیتا ہے۔ جب کوئی صارف WETH کو بطور کرنسی بیان کرتا ہے لیکن کال کے ساتھ ETH بھیجتا ہے، تو اس سے کچھ متغیرات ٹوٹ سکتے ہیں اور غلط رویے کا باعث بن سکتے ہیں۔

اب تک، ہم نے لیکویڈیٹی اسٹیکنگ پروٹوکولز اور اس طرح کے پروٹوکولز کے لیے آڈیٹنگ رہنما اصولوں پر تبادلہ خیال کیا ہے۔ مختصر طور پر، لیکویڈیٹی اسٹیکنگ صارفین کو لیکویڈیٹی کی قربانی کے بغیر اسٹیکنگ انعامات حاصل کرنے کی اجازت دیتی ہے۔ ہم نے اسٹیکنگ کنٹریکٹس میں ان کمزور مقامات کا خاکہ پیش کیا ہے جن پر آڈیٹرز کو توجہ دینی چاہیے، جیسے کہ واپسی کا طریقہ کار، فیس لاجک، ایل پی ٹوکن منٹنگ/برننگ میکانزم، راؤنڈنگ کی غلطیاں، اسٹیکنگ کا دورانیہ، بیرونی کالز، اور قیمت میں ہیرا پھیری کی جانچ پڑتال۔ 

ہم آڈیٹرز کو مشورہ دیتے ہیں کہ وہ آڈٹ تصریحات کے دستاویزات کی جانچ کریں، کوڈ کے ساتھ تصریحات کو میچ کریں، اور فیس اور ٹوکنومکس کی توثیق کی جانچ کریں۔ ہم اضافی چیکوں کی بھی تجویز کرتے ہیں جیسے کہ صفوں پر لوپ کرنا، ساخت کی قسم کے ڈیٹا کے لیے میموری یا اسٹوریج کی وضاحت کرنا، اور سامنے سے چلنے والے منظرنامے۔ یہ رہنما خطوط اسٹیکنگ پروٹوکول کے آڈٹ کے لیے مفید ہوں گے اور ممکنہ کیڑوں کی شناخت میں مدد کریں گے۔


11 مناظر

ٹائم اسٹیمپ:

سے زیادہ Quillhash