স্মার্ট কন্ট্রাক্ট অডিট (Smart contract audit)
সংক্ষেপে স্মার্ট কন্ট্রাক্ট অডিটে স্বাধীন বিশেষজ্ঞরা প্রজেক্টের কন্ট্রাক্ট কোডে বাগ, আক্রমণের সুযোগ ও ঝুঁকিপূর্ণ অ্যাডমিন ক্ষমতা খুঁজে দেখেন।
অডিট হলো অর্থের বিনিময়ে করা একটি পর্যালোচনা, যেখানে নিরাপত্তা গবেষকেরা প্রজেক্টের স্মার্ট কন্ট্রাক্ট কোড পড়েন, পরীক্ষা করেন এবং সমস্যাগুলো গুরুতরতার ভিত্তিতে সাজিয়ে রিপোর্ট লেখেন। উদ্দেশ্য হলো আক্রমণকারীদের আগেই বাগ ও অপব্যবহারযোগ্য লজিক খুঁজে বের করা। রিপোর্টে সাধারণত প্রতিটি সমস্যাকে fixed, acknowledged বা open হিসেবে চিহ্নিত করা হয়।
অডিটরেরা হাতে-কলমে পর্যালোচনার পাশাপাশি static analyzer, fuzzer ও test suite-এর মতো টুল ব্যবহার করেন। তাঁরা reentrancy, হিসাবের ত্রুটি, অ্যাক্সেস যাচাইয়ের ঘাটতি, oracle manipulation এবং মালিকের বিপজ্জনক ক্ষমতার মতো বিষয় খোঁজেন। রিপোর্টটি কোডের একটি নির্দিষ্ট সংস্করণের জন্য প্রযোজ্য, যা প্রায়ই commit hash বা ডিপ্লয় করা অ্যাড্রেস দিয়ে চিহ্নিত থাকে। কিছু প্রতিষ্ঠান formal verification বা নিয়মিত নজরদারির সেবাও দেয়।
টোকেন ক্রেতার কাছে অডিট অন্তত এটুকু দেখায় যে টিম কাউকে কোড পরীক্ষা করার জন্য টাকা দিয়েছে। এর অর্থ প্রজেক্ট নিরাপদ বা সৎ, এমন নয়। অডিট কোনো টিমকে নিজেদের টোকেন বিক্রি করা বা আনলক করা লিকুইডিটি তুলে নেওয়া থেকে আটকাতে পারে না, আর আক্রমণের শিকার অনেক প্রোটোকলেরও অডিট হয়েছিল। ছোট টোকেনের ক্ষেত্রে সস্তা অডিট প্রায়ই স্বয়ংক্রিয় স্ক্যানকে পূর্ণাঙ্গ পর্যালোচনা হিসেবে উপস্থাপন করে, আর কিছু অডিট ব্যাজ একেবারেই ভুয়া।
শুধু ব্যাজ নয়, আসল রিপোর্ট পড়ুন। অডিট করা অ্যাড্রেস বা কোড ডিপ্লয় করা কন্ট্রাক্টের সঙ্গে মেলে কি না দেখুন, কারণ কোনো প্রজেক্ট একটি কন্ট্রাক্ট অডিট করিয়ে অন্যটি লঞ্চ করতে পারে। কোন critical বা high সমস্যা অমীমাংসিত রয়ে গেছে এবং অডিটর মিন্টিং, ট্যাক্স বদলানো বা ব্ল্যাকলিস্ট করার মতো মালিকের ক্ষমতা উল্লেখ করেছেন কি না দেখুন। কে অডিট করেছেন এবং রিপোর্টটি শুধু প্রজেক্টের সাইটে নয়, অডিটরের নিজস্ব সাইটেও আছে কি না যাচাই করুন।




