স্মার্ট কন্ট্রাক্ট অডিটরা প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্সের স্মার্ট কন্ট্রাক্ট অডিট করার সময় কী খোঁজেন। উল্লম্ব অনুসন্ধান. আ.

স্মার্ট কন্ট্রাক্ট অডিট করার সময় স্মার্ট কন্ট্রাক্ট অডিটররা কী সন্ধান করে

একটি স্মার্ট চুক্তি হল ব্লকচেইন কোডের একটি সেট যা জড়িত পক্ষগুলির মধ্যে একটি লেনদেনের শর্তাবলী প্রয়োগ করে। এটি একটি স্মার্ট চুক্তি হিসাবে উল্লেখ করা হয়েছে কারণ এটি স্ব-নির্বাহী এবং একটি বিশ্বস্ত তৃতীয় পক্ষের মধ্যস্থতার প্রয়োজনীয়তা দূর করে৷ স্মার্ট কন্ট্রাক্ট অডিট করার সময় স্মার্ট কন্ট্রাক্ট অডিটররা কী খোঁজেন তা দেখে নেওয়া যাক।

যতদূর এর প্রয়োগ সম্পর্কিত, স্মার্ট চুক্তিগুলি ইতিমধ্যেই ডিজিটাল বিনিময় লেনদেন, নির্বাচনী ভোটদান, ক্রাউডফান্ডিং, সাপ্লাই চেইন ম্যানেজমেন্ট এবং বিকেন্দ্রীভূত আর্থিক ব্যবস্থায় (DeFi) আরও অনেক ক্ষেত্রে তাদের উপস্থিতি অনুভব করেছে। 

এটি অন্তর্নিহিত ব্লকচেইন প্রযুক্তি ব্যবহার করে যেকোনো প্রক্রিয়ায় সত্যিকারের ডিজিটালাইজেশন আনার সর্বোত্তম সম্ভাব্য উপায় হিসেবে আবির্ভূত হয়েছে।

স্মার্ট চুক্তি নিরীক্ষা জন্য প্রয়োজন

যদিও স্মার্ট চুক্তিগুলি ব্লকচেইন প্রযুক্তি বাস্তবায়নের সবচেয়ে উত্তেজনাপূর্ণ দিকগুলির মধ্যে একটি, সেগুলি তাদের নিজস্ব সমস্যাগুলি ছাড়া নয়। প্রকৃতপক্ষে, সঠিকভাবে এই চুক্তিগুলির বিকাশ এবং অডিট করা তাদের থেকে সর্বাধিক লাভের জন্য গুরুত্বপূর্ণ।

অডিট করা থাকলে, এই স্মার্ট চুক্তিগুলি প্রকল্পের অন্তর্নিহিত বৈশিষ্ট্যগুলির পিছনের দরজা হিসাবে কাজ করে এবং হ্যাকারদের প্রকল্পটি শোষণ করার অনুমতি দেয়। DeFi এর TVL ~80 বিলিয়ন পৌঁছানোর সাথে সাথে এর ক্রমবর্ধমান প্রাধান্য বিবেচনা করে, সঠিকভাবে বিকশিত এবং নিরীক্ষিত স্মার্ট চুক্তির প্রয়োজনীয়তা সর্বাধিক অগ্রাধিকার হয়ে ওঠে কারণ সম্পদগুলি মূলত শুধুমাত্র স্মার্ট চুক্তিতে লক করা থাকে। 

একটি অডিট কোন সাংগঠনিক, প্রযুক্তিগত, সাইবার, বা আর্থিক ত্রুটিগুলি চিহ্নিত করে যা একটি চুক্তিতে বিদ্যমান থাকতে পারে।

এটি আমাদের প্রশ্ন নিয়ে আসে - 

"স্মার্ট চুক্তিতে একটি বাগ সনাক্ত করার গুরুত্ব কি?"

আমরা সাম্প্রতিক বছরগুলিতে দেখেছি কিভাবে একটি একক বাগ ব্লকচেইন প্রকল্পগুলিতে লক্ষ লক্ষ লোকসানের দিকে পরিচালিত করেছে। 2017 সালে DAO হ্যাক এর একটি প্রধান উদাহরণ। যদিও লোকেরা যুক্তি দিয়েছিল যে DAO-এর বিপণন এটি কার্যকর করার চেয়ে ভাল ছিল, এর উদ্বেগগুলি আক্রমণের জন্য এর কোড দুর্বলতা নিয়ে বাড়ছে। শীঘ্রই, একজন আক্রমণকারী 3.6 মিলিয়নেরও বেশি ইথার নিষ্কাশন করতে সক্ষম হয়। 

আপনি শিরোনাম করতে চান না, তাই না? 

একটি সম্পূর্ণ সুরক্ষিত স্মার্ট চুক্তি লেখা খুবই কঠিন, এবং একটি গুরুতর ব্লকচেইন-ভিত্তিক প্রকল্পের ভিত্তি স্থাপন করার জন্য, একটি স্বাধীন অডিট অপরিহার্য হয়ে ওঠে। 

যাইহোক, এটি অত্যন্ত অসম্ভাব্য যে কোনও সম্ভাব্য বাগ ছাড়াই একটি স্মার্ট চুক্তি তৈরি করা যেতে পারে। এমনকি যদি একটি স্মার্ট চুক্তি এইভাবে বিকশিত হয়, ভবিষ্যতে এটি বাগ-মুক্ত হওয়ার কোন নিশ্চিততা নেই। যারা ভাবেন যে একটি স্মার্ট চুক্তি অপরিবর্তনীয় এবং নতুন বাগ উঠতে পারে না, এখানে বিবেচনা করার বিষয় হল যে স্মার্ট চুক্তিগুলিও বাহ্যিক সত্তার উপর নির্ভরশীল। 

উদাহরণস্বরূপ, একটি DeFi মানি মার্কেটে একটি স্মার্ট চুক্তি একটি ওরাকলের উপর নির্ভরশীল এবং যদি ওরাকল হ্যাক করা হয়, তাহলে স্মার্ট চুক্তিটি হ্যাক করা যেতে পারে। 

অতএব, আপনার DeFi যাত্রায় অডিটররা আপনার সেরা বন্ধু হতে চলেছে। তারা একটি স্মার্ট চুক্তির অডিট পরিচালনা করে এবং এর নিরাপত্তা নিশ্চিত করে।

স্মার্ট চুক্তি নিরীক্ষকরা কি খুঁজছেন?

1. প্রাথমিক কোড পর্যালোচনা এবং পরিচিতি পর্ব 

সহজ কথায়, অডিটররা স্মার্ট কন্ট্রাক্টের ডিজাইন এবং প্রত্যাশিত আচরণের সাথে সম্পর্কিত ডেভেলপমেন্ট টিমের কাছ থেকে সমস্ত ডকুমেন্টেশনের জন্য অনুরোধ করে। অডিটররা চুক্তির নকশার সামগ্রিক সামঞ্জস্য নির্ধারণের জন্য একটি প্রাথমিক কোড বিশ্লেষণ পরিচালনা করে।

2. ম্যানুয়াল এবং স্বয়ংক্রিয় কোড বিশ্লেষণ 

যদিও ম্যানুয়াল কোড বিশ্লেষণ স্মার্ট চুক্তির স্পেসিফিকেশনের প্রতিটি বিশদ পূরণ হয়েছে তা নিশ্চিত করার জন্য কোডের প্রতিটি লাইন পরীক্ষা করে, স্বয়ংক্রিয় কোড বিশ্লেষণ বাগগুলির সন্ধান করে যা মানুষ উপেক্ষা করে। এই চেকটি নিশ্চিত করে যে সাধারণ নির্দেশিকা যেমন কোড গঠন এবং নকশা, অপ্রয়োজনীয় কোড এড়ানো এবং প্রত্যাশিত আচরণ অনুসরণ করা হয়।

3. পরিচিত দুর্বলতা চিহ্নিত করা 

স্মার্ট কন্ট্রাক্ট অডিটিং এর মূল বিষয় হল নিরাপত্তার দুর্বলতা চিহ্নিত করা। যেহেতু অনেক সাধারণ Ethereum স্মার্ট কন্ট্রাক্ট নিরাপত্তা সংক্রান্ত সমস্যা আছে, তাই অডিটররা এই ধরনের দুর্বলতা চিহ্নিত করার জন্য একটি সাধারণ চেকলিস্ট তৈরি করেছে যেমন: 

  1. পুনঃপ্রবেশ - পুনঃপ্রবেশ হল একটি বাগ যা DOA এর পতনের দিকে পরিচালিত করে। এতে ব্যবহারকারীরা তাদের কোনোটি না পাঠিয়েই বেশ কয়েকটি স্থানান্তর শুরু করে। অতএব, একজন আক্রমণকারী তাদের একটিও জমা না দিয়ে একাধিক প্রত্যাহার ট্রিগার করতে পারে। 
  1. ওভার এবং আন্ডারফ্লোস - যেহেতু কম্পিউটারগুলি অসীমতার ধারণাটি বোঝে না, একজন আক্রমণকারী আউটপুটকে ওভারফ্লোতে সর্বাধিক মানের থেকে বড় এবং আন্ডারফ্লোতে ন্যূনতম মানের থেকে ছোট করে আউটপুটকে ট্রিগার করে। 
  1. ব্লক গ্যাস সীমা - যখন একটি ব্লকচেইন প্রকল্প সফল হয় এবং প্রচুর পরিমাণে ডেটা জমা হয়, তখন লেনদেনগুলি অতিরিক্ত পরিমাণে গ্যাস ব্যবহার করতে শুরু করে। ফলস্বরূপ, একটি লেনদেন পরিচালনা করা কঠিন, ফলে দুর্বলতা দেখা দেয়। 

4. কর্মক্ষমতা বিশ্লেষণ

এরপরে, অডিটররা চুক্তিটি চুক্তিটি পূরণ করতে পারে কিনা এবং যখন চুক্তিটি বাস্তব জগতে চালিত হয় তখন এটি সমস্ত সম্ভাব্য পরিবর্তনগুলি পরিচালনা করতে সক্ষম কিনা তা সন্ধান করে। 

5. সম্মতি এবং গ্যাস অপ্টিমাইজেশান 

এটা সম্ভব যে স্মার্ট চুক্তি স্থানীয় বা শিল্প প্রবিধান মেনে চলবে না। নিরীক্ষকরা নিয়ন্ত্রক সম্মতি খোঁজেন এবং প্রয়োজনে পরিবর্তনের সুপারিশ করেন।

নেটওয়ার্কগুলি লেনদেনের খরচ কভার করার জন্য গ্যাসের দাম নেয়। অডিটররা নিশ্চিত করে যে স্মার্ট কন্ট্রাক্ট অপারেশনগুলি খুব বেশি গ্যাস বা লেনদেন ফি গ্রহণ করছে না।

6. লাইভ টেস্টিং 

একটি স্থানীয় পরীক্ষা নেটওয়ার্কে চুক্তি স্থাপন করে এবং একটি ব্যাপক পরীক্ষা স্যুট চালানোর মাধ্যমে, অডিটররা নিশ্চিত করে যে সমস্ত কোডগুলি উদ্দেশ্য অনুযায়ী কাজ করছে। 

চুক্তি নিরীক্ষা করার আগে বিকাশকারীরা কীভাবে কোনও বাগ ঠেকাতে পারে?

1. একটি উন্নয়ন পরিবেশ পান 

চুক্তি স্থাপন, অ্যাপ্লিকেশন বিকাশ এবং এমনকি পরীক্ষা চালানোর জন্য, ট্রাফলের মতো বেশ কয়েকটি উন্নয়ন পরিবেশ সরঞ্জাম বিকাশকারীদের জীবনকে সহজ করে তোলে। উপরন্তু, আপনি আপনার পুনরাবৃত্ত কাজ এবং ডিবাগিং চুক্তির গতি বাড়াতে এই টুলগুলি ব্যবহার করতে পারেন। 

2. স্ট্যাটিক বিশ্লেষণ টুল চালান 

একজন বিকাশকারী একটি স্ট্যাটিক বিশ্লেষণ টুল ব্যবহার করে শৈলীর অসঙ্গতি এবং প্রোগ্রামিং ত্রুটি সনাক্ত করতে পারে। সলিডিটি লিন্টার স্টাইল এবং নিরাপত্তা গাইড অধ্যয়ন উভয় ক্ষেত্রেই সাহায্য করতে পারে। স্লিথার এবং মিথ্রিল, উদাহরণস্বরূপ, দুটি স্বয়ংক্রিয় দুর্বলতা সনাক্তকারী।

3. সুরক্ষিত উন্নয়নের জন্য সুপারিশ 

  • উপরে উল্লিখিত চ্যালেঞ্জগুলি ছাড়াও, নিরাপত্তা দুর্বলতা অনেক সমস্যা তৈরি করতে পারে। সুতরাং, বিকাশকারীদের যতটা সম্ভব নিরাপত্তা দুর্বলতার সাথে পরিচিত হওয়া উচিত। 
  • বিকাশকারীদের দৃঢ়তার ধরণগুলি যেমন আচরণ, নিরাপত্তা এবং অর্থনৈতিক নিদর্শনগুলি বোঝা উচিত। 
  • ডেভেলপারদের অন্যান্য সুপারিশগুলিও অধ্যয়ন করা উচিত যেমন বহিরাগত কল করার সময় সতর্কতা এবং পুল ওভার পুশ। 

4. পরীক্ষা চালান 

লাইনে একটি বড় অঙ্কের অর্থ রাখার আগে, চুক্তিগুলিকে একটি বর্ধিত সময়ের জন্য একটি ব্যাপক পরীক্ষা স্যুট চালানো উচিত। এটি বাগগুলির প্রাথমিক সনাক্তকরণ এবং অপ্রত্যাশিত আচরণ সনাক্তকরণে সহায়তা করবে।

ডেভেলপাররা বৃহৎ পরিসরে চুক্তির মূল্যায়ন করতে সম্পূর্ণ গবেষণা ব্যবহার করতে পারে।

যাইহোক, একা পরীক্ষা চালানো চুক্তি সুরক্ষিত করবে না। বিকাশকারীদেরও এই জাতীয় পরীক্ষার কার্যকারিতা পরিমাপ করতে হবে। নিয়মিত ইউনিট পরীক্ষা চালানো এবং তাদের কার্যকারিতা নিরীক্ষণ করার একটি উপায় হল হোস্ট করা CI পরিবেশের সন্ধান করা। 

5. কিভাবে মেইননেটে স্থাপন করবেন 

মেইননেটে চুক্তিটি চালু করার সিদ্ধান্ত নেওয়ার আগে, এটিকে একটি পাবলিক টেস্টনেটে চালু করার কথা বিবেচনা করুন। বিশেষ করে, বিকাশকারীরা বিটা সংস্করণে মেইননেটে চুক্তি স্থাপনের জন্য বেছে নিতে পারেন। এটি প্রাথমিক পর্যায়ে ঝুঁকির পরিমাণ সীমিত করবে। 

অধিকন্তু, এই টেস্টনেট পর্বের সময়, একটি বাগ বাউন্টি প্রোগ্রাম চালানোর কথা বিবেচনা করুন যেখানে বিকাশকারী সম্প্রদায় আর্থিক পুরষ্কারের বিনিময়ে সমালোচনামূলক ত্রুটিগুলি সনাক্ত করতে সহায়তা করে। 

6. ঘটনা পর্যবেক্ষণ 

একটি উপযুক্ত মনিটরিং সিস্টেম সেট আপ করা আরেকটি অভ্যাস যা অপারেশনাল শ্রেষ্ঠত্বে অবদান রাখতে পারে। সিস্টেমে কোনো বাস্তব-বিশ্ব পরিবর্তন হলে, এই মনিটরিং সিস্টেম ডেভেলপারদের সতর্ক করবে।

উপসংহার  

যেহেতু ব্লকচেইন প্রযুক্তি এখনও প্রাথমিক পর্যায়ে রয়েছে, তাই সিস্টেমে নিয়মিত উন্নতির পাশাপাশি সুরক্ষা এবং বাগ সংশোধনের আশা করুন।

তা সত্ত্বেও, নিরাপত্তা অনুশীলনগুলি মেনে চলা একটি মৌলিক ধারণা যা যেকোনো বিকাশকারী এবং অন্যান্য আগ্রহী পক্ষের একটি স্মার্ট চুক্তি তৈরি করার আগে উপলব্ধি করা উচিত৷

যদিও একটি ত্রুটি-মুক্ত স্মার্ট চুক্তি বিকাশ এখনও একটি স্বপ্ন, দক্ষতার সাথে দুর্বলতার প্রতিক্রিয়া করার ক্ষমতা একটি বাস্তবতা।

কী একটি স্মার্ট চুক্তির প্রয়োজন বিশেষজ্ঞ নিরীক্ষকদের একটি দল যারা শিল্পের নিরন্তর পরিবর্তনশীল প্রবণতাগুলির সাথে নিজেদেরকে আপডেট রাখে। আপনার স্মার্ট চুক্তি নিরীক্ষার প্রয়োজনীয়তা আরও বোঝার জন্য বিনামূল্যে পরামর্শের জন্য আমাদের অডিটরদের দলের সাথে যোগাযোগ করুন।

কুইলহ্যাশ পৌঁছনো

বছরের একটি শিল্পের উপস্থিতি সহ, কুইলহ্যাশ বিশ্বজুড়ে এন্টারপ্রাইজ সমাধান সরবরাহ করেছে। বিশেষজ্ঞদের একটি দলের সাথে কুইলহ্যাশ একটি শীর্ষস্থানীয় ব্লকচেইন ডেভলপমেন্ট সংস্থা যা ডিএফআই এন্টারপ্রাইজ সহ বিভিন্ন শিল্প সমাধান সরবরাহ করে, স্মার্ট চুক্তি নিরীক্ষণে যদি আপনার কোনও সহায়তার প্রয়োজন হয় তবে আমাদের বিশেষজ্ঞদের কাছে বিনা দ্বিধায় যোগাযোগ করুন এখানে!

আরও আপডেটের জন্য কুইলহ্যাশ অনুসরণ করুন

Twitter | লিঙ্কডইন ফেসবুক

সূত্র: https://blog.quillhash.com/2021/05/17/what-smart-contract-auditors-look-for-while-doing-smart-contract-audit/

সময় স্ট্যাম্প:

থেকে আরো কুইল্যাশ