পড়ার সময়: 6 মিনিট
এই ব্লগে, আমরা লিকুইডিটি স্টেকিং প্রোটোকল এবং স্টেকিং প্রোটোকলের জন্য অডিটিং নির্দেশিকাগুলির ধারণার রূপরেখা দিয়েছি। নির্দেশিকাগুলি প্রত্যাহারের প্রক্রিয়া, রাউন্ডিং ত্রুটি, বাহ্যিক কল, ফি লজিক, লুপস, স্ট্রাকস, স্টেকিং সময়কাল ইত্যাদির মতো দুর্বল স্পটগুলির একটি পরিসীমা কভার করে৷ এই ব্লগ পোস্টটি স্টেকিং প্রোটোকল অডিট করার জন্য একটি দরকারী রেফারেন্স হবে এবং সম্ভাব্য বাগগুলি সনাক্ত করতে আপনাকে সাহায্য করতে পারে৷ .
লিকুইডিটি স্টেকিং কি?
লিকুইডিটি স্টেকিং ব্যবহারকারীদের তাদের ক্রিপ্টোকারেন্সি হোল্ডিংয়ে অংশ নিতে এবং তরলতা ত্যাগ না করে পুরস্কার অর্জন করতে দেয়। একটি নির্দিষ্ট সময়ের জন্য তাদের কয়েন লক করার পরিবর্তে, ব্যবহারকারীরা একটি তরল টোকেন পেতে পারেন যা তাদের স্টেক করা সম্পদের প্রতিনিধিত্ব করে। এই টোকেনটি অন্য যেকোন ক্রিপ্টোকারেন্সির মতো ট্রেড করা বা ব্যবহার করা যেতে পারে, যা ব্যবহারকারীদের তাদের সম্পদগুলিকে তাদের খুশিমতো ব্যবহার করার অনুমতি দেয় এবং এখনও স্টেকিং পুরস্কার অর্জন করে।
উদাহরণস্বরূপ, আপনার কাছে 100 ETH আছে যা আপনি Ethereum নেটওয়ার্কে অংশ নিতে চান৷ একটি নির্দিষ্ট সময়ের জন্য আপনার ETH লক করার পরিবর্তে, আপনি Lido-এর মতো একটি লিকুইডিটি স্টকিং পরিষেবা ব্যবহার করতে পারেন যাতে আপনি আপনার ETH স্টক করতে পারেন এবং বিনিময়ে stETH নামে একটি লিকুইড টোকেন পেতে পারেন। স্টেকিং পুরষ্কার অর্জন করার সময় স্টেকিং এর সাথে, আপনি এখনও ট্রেড করতে বা আপনার স্টেক করা ETH ব্যবহার করতে পারেন।
অডিটিং স্টেকিং কন্ট্রাক্ট দিয়ে শুরু করা যাক:
চুক্তি কোড দিয়ে শুরু করার আগে উপলব্ধ সমস্ত অডিট স্পেসিফিকেশন পরীক্ষা করুন। এটি একটি সাদা কাগজ, README ফাইল বা অন্য কিছু আকারে হতে পারে। এগুলো আপনাকে কন্ট্রাক্ট কোডে কী থাকবে তার একটা ধারণা দেবে।
স্টেকিং চুক্তির জন্য অডিট স্পেসিফিকেশন ডকুমেন্ট দেখার সময়, এই পয়েন্টগুলি দেখুন:
- ফি ভিত্তিক প্রকার এবং তাদের গণনা।
- স্টক করা টোকেনগুলির জন্য পুরষ্কার প্রক্রিয়া
- মালিকের ক্ষমতা
- চুক্তি কি ETH ধরে রাখবে?
- চুক্তি কি টোকেন রাখা হবে?
- মূল চুক্তি যা থেকে এটি কাঁটাচামচ করা হয়
নির্দিষ্টকরণ কোডের সাথে মেলে কিনা তা পরীক্ষা করুন। ফি এবং টোকেনমিক্স দিয়ে শুরু করুন, তারপরে মালিকের কর্তৃপক্ষের বৈধতা। সমস্ত পুরস্কার এবং ফি মান ডকুমেন্টেশন অনুযায়ী আছে কিনা তা পরীক্ষা করুন।
অরক্ষিত দাগ খুঁজতে?
1. পুরস্কার প্রত্যাহার প্রক্রিয়া:
স্টক করা টোকেন পুরষ্কার প্রক্রিয়া সঠিকভাবে প্রয়োগ করা হয়েছে এবং সমস্ত অংশীদারদের মধ্যে পুরষ্কারগুলি ন্যায্যভাবে এবং আনুপাতিকভাবে বিতরণ করা হয়েছে কিনা তা পরীক্ষা করুন৷ প্রকল্প দুটি উপায়ে পুরষ্কার বিতরণ করতে পারে: হয় স্বয়ংক্রিয়ভাবে, পর্যায়ক্রমিক ভিত্তিতে, অথবা ব্যবহারকারীদের দ্বারা অনুরোধের ভিত্তিতে। প্রটোকলের ব্যবসায়িক যুক্তি অনুসারে একটি প্রত্যাহার ফাংশন বাস্তবায়ন এবং কাস্টমাইজ করা যেতে পারে।
নীচে কয়েকটি চেকপয়েন্ট রয়েছে:
- কোন ব্যবহারকারী তার পুরষ্কার + স্টেক করা পরিমাণের চেয়ে বেশি তুলতে সক্ষম কিনা তা পরীক্ষা করুন।
- পরিমাণ গণনার মধ্যে ওভারফ্লো/আন্ডারফ্লো পরীক্ষা করুন
- গণনার সময় কিছু প্যারামিটার পুরস্কারের উপর নেতিবাচক প্রভাব ফেলতে পারে কিনা তা পরীক্ষা করুন।
- যদি এই ফাংশনে block.timestamp বা block.number ব্যবহার করা হয়। এটি কোন উপায়ে শোষণ করা যেতে পারে কিনা তা পরীক্ষা করুন।
2. ফি লজিক:
যদি আমানত এবং উত্তোলন কিছু ফি সাপেক্ষে হয়, তাহলে যাচাই করুন যে কোনো একক ব্যবহারকারী ফি বাইপাস করতে পারবে না। অতিরিক্তভাবে, যেকোনো সম্ভাব্য ওভারফ্লো বা আন্ডারফ্লো সমস্যার জন্য সতর্ক থাকুন। শুধুমাত্র প্রশাসক বা মালিককে ফি সেটিংস পরিবর্তন করার জন্য অনুমোদিত হতে হবে। এছাড়াও যাচাই করুন যে সর্বাধিক ফিগুলির জন্য একটি থ্রেশহোল্ড প্রতিষ্ঠিত হয়েছে, প্রশাসককে এটিকে অত্যধিক উচ্চ পরিমাণে সেট করতে বাধা দেয়।
3. এলপি টোকেনের মিন্টিং/বার্নিং মেকানিজম:
মিন্টিং এবং বার্নিং মেকানিজম সঠিকভাবে প্রয়োগ করা হয়েছে কিনা তা যাচাই করুন। একটি বার্ন ফাংশন একটি পুদিনা ফাংশন দ্বারা করা সমস্ত রাষ্ট্র পরিবর্তন বিপরীত করা উচিত। অতিরিক্তভাবে, এটি যাচাই করা অত্যন্ত গুরুত্বপূর্ণ যে ব্যবহারকারীরা প্রথম স্টেকের সময় উপযুক্ত পরিমাণ টোকেন পেয়েছেন, যখন পুল খালি থাকে।
মিন্টিং এবং বার্নিং ফাংশনের যুক্তি গাণিতিকভাবে যাচাই করা যেতে পারে কোনো লুকানো দুর্বলতা উন্মোচন করতে। এছাড়াও, মিন্ট করা LP টোকেনের মোট সরবরাহ স্টেক করা সম্পদের বেশি হওয়া উচিত নয়।
4. রাউন্ডিং ত্রুটি:
যদিও কিছু ছোট ছোট রাউন্ডিং ভুলগুলি সাধারণত অনিবার্য এবং উদ্বেগের বিষয় নয়, সেগুলিকে গুন করা সম্ভব হলে সেগুলি উল্লেখযোগ্যভাবে বৃদ্ধি পেতে পারে। এজ কেসগুলি সন্ধান করুন যেখানে কেউ বারবার স্টেকিং এবং আনস্ট্যাক করে রাউন্ডিং ত্রুটিগুলি থেকে লাভ করতে পারে।
রাউন্ডিং ত্রুটিগুলি একটি বর্ধিত সময়ের মধ্যে যথেষ্ট পরিমাণে জমা হতে পারে কিনা তা নির্ধারণ করতে, আমরা গাণিতিকভাবে সম্ভাব্য রাউন্ডিং ত্রুটিগুলির পরিসর গণনা করতে পারি।
5. স্টেকিং সময়কাল:
নিশ্চিত করুন যে চুক্তিতে স্টেকিং সময়কাল গণনা নির্দিষ্ট ব্যবসায়িক যুক্তির সাথে সারিবদ্ধ। যাচাই করুন যে ব্যবহারকারীরা সময়কাল চেক বাইপাস করে স্টেকিং মেয়াদ শেষ হওয়ার আগে পুরষ্কার রিডিম করতে পারবেন না। এছাড়াও, আরও পুরষ্কার পেতে আক্রমণকারী দ্বারা স্টক করার সময়কালকে কাজে লাগানো যায় কিনা তা পরীক্ষা করুন।
6. বাহ্যিক কল এবং টোকেন হ্যান্ডলিং:
বেশিরভাগ বাহ্যিক কল টোকেন চুক্তিতে হবে। সুতরাং, আমাদের অবশ্যই নির্ধারণ করতে হবে যে কোন ধরণের টোকেন স্টেকিং চুক্তি পরিচালনা করবে। কোনো ত্রুটি এবং পুনরায় প্রবেশের আক্রমণের জন্য বহিরাগত কল পরীক্ষা করা অপরিহার্য। Deflationary টোকেন বা স্থানান্তর ফি সহ টোকেন, যেমন Safemoon, যদি তাদের যুক্তি সঠিকভাবে বাস্তবায়িত না হয় তবে সমস্যা তৈরি করতে পারে।
7. মূল্য ম্যানিপুলেশন চেক:
একটি ফ্ল্যাশ লোনের মাধ্যমে মূল্য ম্যানিপুলেশন হল DeFi প্রকল্পগুলিতে সবচেয়ে ঘন ঘন হ্যাকগুলির মধ্যে একটি৷ এমন পরিস্থিতি হতে পারে যেখানে দূষিত অভিনেতারা ফ্ল্যাশ লোন ব্যবহার করে দামের হেরফের করতে পারে বা বড় পরিমাণ টোকেন স্থির করার সময়। এজ-কেস পরিস্থিতি এড়াতে স্টেকিং এবং আনস্ট্যাকিং ফাংশনগুলি সাবধানতার সাথে পর্যালোচনা করুন যার ফলে ফ্ল্যাশ লোন-ভিত্তিক মূল্য ম্যানিপুলেশন আক্রমণ এবং অন্যান্য ব্যবহারকারীর তহবিল ক্ষতি হতে পারে।
8. কিছু অতিরিক্ত চেক:
- loops: যদি চুক্তির যুক্তিতে অ্যারেগুলির উপর লুপ করা জড়িত থাকে, তবে ব্লক গ্যাসের সীমা অতিক্রম না করা নিশ্চিত করা গুরুত্বপূর্ণ। এটি ঘটতে পারে যখন অ্যারের আকার খুব বড় হয়, তাই আপনাকে অনুসন্ধান করা উচিত যে কোন ফাংশনগুলি অ্যারের আকার বাড়াতে পারে এবং কোন ব্যবহারকারী এটিকে DoS আক্রমণের জন্য ব্যবহার করতে পারে কিনা। এটা পরীক্ষা করো রিপোর্ট.
- কাঠামো: স্টেকিং কন্ট্রাক্ট ব্যবহারকারী বা পুল ডেটা সঞ্চয় করতে স্ট্রাকট টাইপ ব্যবহার করে। একটি ফাংশনের মধ্যে একটি কাঠামো ঘোষণা বা অ্যাক্সেস করার সময়, "মেমরি" বা "স্টোরেজ" ব্যবহার করবেন কিনা তা নির্দিষ্ট করা গুরুত্বপূর্ণ। এটি আমাদের কিছু গ্যাস বাঁচাতে সাহায্য করতে পারে। আরও তথ্যের জন্য, অনুগ্রহ করে পড়ুন এই নিবন্ধটি.
- সামনে-দৌড়: এমন কোনো পরিস্থিতির জন্য দেখুন যেখানে দূষিত অভিনেতারা তাদের সুবিধার জন্য যেকোনো লেনদেন সামনের দিকে চালাতে পারে।
- ফাংশন দৃশ্যমানতা/অ্যাক্সেস কন্ট্রোল চেক: বাহ্যিক বা সর্বজনীন হিসাবে ঘোষণা করা যে কোনও ফাংশন যে কেউ অ্যাক্সেস করতে পারে। অতএব, এটা নিশ্চিত করা গুরুত্বপূর্ণ যে কোনো পাবলিক ফাংশন কোনো সংবেদনশীল কর্ম সম্পাদন করতে না পারে। স্টেকিং প্রোটোকল স্ট্যাক করা কয়েন এবং সিস্টেমের অবকাঠামো উভয়ের অননুমোদিত অ্যাক্সেস রোধ করতে যথাযথ নিয়ন্ত্রণ প্রয়োগ করেছে তা যাচাই করা অত্যন্ত গুরুত্বপূর্ণ।
- কেন্দ্রীকরণ ঝুঁকি: মালিককে অত্যধিক ক্ষমতা না দেওয়া গুরুত্বপূর্ণ। প্রশাসক ঠিকানা আপস করা হলে, এটি প্রোটোকলের উল্লেখযোগ্য ক্ষতি হতে পারে। মালিক বা প্রশাসকের বিশেষাধিকারগুলি উপযুক্ত কিনা তা যাচাই করুন এবং নিশ্চিত করুন যে প্রটোকলের একটি প্রশাসকের ব্যক্তিগত কীগুলি ফাঁস হওয়া পরিস্থিতিগুলি পরিচালনা করার জন্য একটি পরিকল্পনা রয়েছে৷
- ETH/WETH হ্যান্ডলিং: চুক্তিতে প্রায়ই ETH পরিচালনার জন্য নির্দিষ্ট যুক্তি অন্তর্ভুক্ত থাকে। উদাহরণস্বরূপ, যখন msg.value > 0, তখন একটি চুক্তি ETH-কে WETH-এ রূপান্তর করতে পারে যখন এখনও WETH-কে সরাসরি গ্রহণ করার অনুমতি দেয়। যখন একজন ব্যবহারকারী মুদ্রা হিসাবে WETH-কে নির্দিষ্ট করে কিন্তু কলের সাথে ETH পাঠায়, তখন এটি নির্দিষ্ট পরিবর্তনগুলি ভেঙে দিতে পারে এবং ভুল আচরণের দিকে নিয়ে যেতে পারে।
এ পর্যন্ত, আমরা তরলতা স্টেকিং প্রোটোকল এবং এই জাতীয় প্রোটোকলগুলির জন্য অডিটিং নির্দেশিকা নিয়ে আলোচনা করেছি। সংক্ষেপে, লিকুইডিটি স্টেকিং ব্যবহারকারীদের তারল্য ত্যাগ না করেই স্টেকিং পুরস্কার অর্জন করতে দেয়। আমরা চুক্তির স্টেকিং এর দুর্বল স্পটগুলির রূপরেখা দিয়েছি যা অডিটরদের অবশ্যই মনোযোগ দিতে হবে, যেমন প্রত্যাহার প্রক্রিয়া, ফি লজিক, LP টোকেন মিন্টিং/বার্নিং মেকানিজম, রাউন্ডিং ত্রুটি, স্টেকিং সময়কাল, বাহ্যিক কল এবং মূল্য ম্যানিপুলেশন চেক।
আমরা নিরীক্ষকদের অডিট স্পেসিফিকেশন ডকুমেন্ট পরীক্ষা করার, কোডের সাথে স্পেসিফিকেশন মেলানোর এবং ফি এবং টোকেনমিক্সের বৈধতা পরীক্ষা করার পরামর্শ দিই। আমরা অতিরিক্ত চেক করার সুপারিশ করি যেমন অ্যারেগুলির উপর লুপ করা, স্ট্রাকট টাইপ ডেটার জন্য মেমরি বা স্টোরেজ নির্দিষ্ট করা এবং সামনের-চলমান পরিস্থিতি। এই নির্দেশিকাগুলি স্টেকিং প্রোটোকলের অডিট করার জন্য উপযোগী হবে এবং সম্ভাব্য বাগ শনাক্ত করতে সাহায্য করবে।
11 মতামত
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- প্লেটোব্লকচেন। Web3 মেটাভার্স ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- উত্স: https://blog.quillhash.com/2023/03/10/guidelines-for-auditing-staking-protocols/
- : হয়
- $ ইউপি
- 100
- a
- সক্ষম
- প্রবেশ
- অ্যাক্সেসড
- অ্যাক্সেস করা
- অনুযায়ী
- স্টক
- অভিনেতা
- অতিরিক্ত
- উপরন্তু
- ঠিকানা
- অ্যাডমিন
- সুবিধা
- সব
- অনুমতি
- অনুমতি
- পরিমাণ
- এবং
- যে কেউ
- যথাযথ
- রয়েছি
- বিন্যাস
- AS
- সম্পদ
- At
- আক্রমণ
- আক্রমন
- মনোযোগ
- নিরীক্ষা
- নিরীক্ষণ
- অডিটর
- কর্তৃত্ব
- স্বয়ংক্রিয়ভাবে
- সহজলভ্য
- ভিত্তি
- ভিত্তি
- BE
- আগে
- শুরু করা
- শুরু
- বাধা
- ব্লগ
- বিরতি
- বাগ
- পোড়া
- ব্যবসায়
- by
- গণনা করা
- গণনার
- কল
- নামক
- কল
- CAN
- না পারেন
- সাবধানে
- মামলা
- কারণ
- কিছু
- পরিবর্তন
- চেক
- চেক
- কোড
- কয়েন
- সংকটাপন্ন
- ধারণা
- উদ্বেগ
- ধারণ করা
- চুক্তি
- চুক্তি
- নিয়ন্ত্রণ
- নিয়ন্ত্রণগুলি
- রূপান্তর
- পারা
- আবরণ
- কঠোর
- cryptocurrency
- মুদ্রা
- কাস্টমাইজড
- উপাত্ত
- Defi
- defi প্রকল্প
- কুঞ্চন
- আমানত
- নির্ধারণ
- সরাসরি
- আলোচনা
- বিতরণ করা
- বণ্টিত
- দলিল
- ডকুমেন্টেশন
- কাগজপত্র
- ডস
- সময়
- আয় করা
- রোজগার
- প্রান্ত
- পারেন
- নিশ্চিত করা
- ত্রুটি
- অপরিহার্য
- প্রতিষ্ঠিত
- ইত্যাদি
- ETH
- ethereum
- ইথেরিয়াম নেটওয়ার্ক
- উদাহরণ
- অতিক্রম করা
- অতিরিক্তভাবে
- কাজে লাগান
- শোষিত
- বহিরাগত
- নিরপেক্ষভাবে
- পারিশ্রমিক
- ফি
- কয়েক
- নথি পত্র
- প্রথম
- স্থায়ী
- ফ্ল্যাশ
- ফ্ল্যাশ .ণ
- অনুসৃত
- জন্য
- ফর্ম
- ঘন
- থেকে
- ক্রিয়া
- ক্রিয়াকলাপ
- তহবিল
- গ্যাস
- পাওয়া
- দাও
- হত্তয়া
- নির্দেশিকা
- হ্যাক
- হাতল
- হ্যান্ডলিং
- আছে
- সাহায্য
- গোপন
- উচ্চ
- রাখা
- হোল্ডিংস
- HTTPS দ্বারা
- ধারণা
- সনাক্ত করা
- প্রভাব
- বাস্তবায়িত
- গুরুত্বপূর্ণ
- in
- অন্তর্ভুক্ত করা
- বৃদ্ধি
- তথ্য
- পরিকাঠামো
- পরিবর্তে
- তদন্ত করা
- সমস্যা
- IT
- এর
- কী
- বড়
- নেতৃত্ব
- LIDO
- মত
- LIMIT টি
- তরল
- তরল টোকেন
- তারল্য
- ঋণ
- ঋণ
- দেখুন
- খুঁজছি
- ক্ষতি
- LP
- প্রণীত
- দক্ষতা সহকারে হস্তচালন
- ম্যাচ
- গাণিতিকভাবে
- সর্বাধিক
- পদ্ধতি
- স্মৃতি
- হতে পারে
- গৌণ
- পুদিনা
- নূতন
- প্রচলন
- ভুল
- অধিক
- সেতু
- নেতিবাচক
- নেটওয়ার্ক
- সংখ্যা
- of
- on
- ONE
- অন্যান্য
- রূপরেখা
- মালিক
- কাগজ
- পরামিতি
- বেতন
- সম্পাদন করা
- কাল
- পর্যাবৃত্ত
- জায়গা
- পরিকল্পনা
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- দয়া করে
- পয়েন্ট
- পুকুর
- সম্ভব
- পোস্ট
- সম্ভাব্য
- ক্ষমতা
- প্রতিরোধ
- নিরোধক
- মূল্য
- দাম
- ব্যক্তিগত
- ব্যক্তিগত কী
- বিশেষাধিকার
- সমস্যা
- মুনাফা
- প্রকল্প
- প্রোটোকল
- প্রোটোকল
- প্রকাশ্য
- পরিসর
- গ্রহণ করা
- গৃহীত
- সুপারিশ করা
- খালাস করা
- পুনঃপুনঃ
- প্রতিনিধিত্ব করে
- অনুরোধ
- ফল
- প্রত্যাবর্তন
- বিপরীত
- এখানে ক্লিক করুন
- পুরষ্কার
- পুরস্কার
- ঝুঁকি
- বলিদান
- সেফমুন
- সংরক্ষণ করুন
- পরিস্থিতিতে
- সংবেদনশীল
- সেবা
- বিন্যাস
- সেটিংস
- উচিত
- গুরুত্বপূর্ণ
- উল্লেখযোগ্যভাবে
- একক
- পরিস্থিতিতে
- আয়তন
- So
- কিছু
- কিছু
- নির্দিষ্ট
- সবিস্তার বিবরণী
- স্পেসিফিকেশনের
- নিদিষ্ট
- পণ
- staked
- স্টেকড ETH
- স্টেকার
- ষ্টেকিং
- পুরষ্কার স্টেকিং
- শুরু
- রাষ্ট্র
- স্টিথ
- এখনো
- স্টোরেজ
- দোকান
- বিষয়
- সারগর্ভ
- এমন
- সরবরাহ
- যে
- সার্জারির
- বাধা
- তাদের
- তাহাদিগকে
- নিজেদের
- অতএব
- এইগুলো
- গোবরাট
- সময়
- টাইমস্ট্যাম্প
- থেকে
- টোকেন
- টোকেনমিক্স
- টোকেন
- মোট
- বাণিজ্য
- ব্যবসা
- লেনদেন
- হস্তান্তর
- ধরনের
- সাধারণত
- উন্মোচন
- us
- ব্যবহার
- ব্যবহারকারী
- ব্যবহারকারী
- বৈধতা
- মূল্য
- মানগুলি
- ভেরিফাইড
- যাচাই
- মাধ্যমে
- দুর্বলতা
- জেয়
- উপায়..
- উপায়
- উইথ
- কি
- কিনা
- যে
- যখন
- সাদা
- সাদা কাগজ
- ইচ্ছা
- সঙ্গে
- প্রত্যাহার
- প্রত্যাহার
- মধ্যে
- ছাড়া
- আপনি
- আপনার
- zephyrnet