স্মার্ট কন্ট্রাক্ট কী?
সুচিপত্র
ভূমিকা
এগুলো কিভাবে কাজ করে?
মূল বৈশিষ্ট্যসমূহ
সুবিধা ও ব্যবহার ক্ষেত্র
সীমাবদ্ধতাসমূহ
সমালোচনা
শেষ কথা
স্মার্ট কন্ট্রাক্ট কী?
হোম
নিবন্ধ
স্মার্ট কন্ট্রাক্ট কী?

স্মার্ট কন্ট্রাক্ট কী?

প্রকাশিত হয়েছে Sep 16, 2019আপডেট হয়েছে Sep 23, 2022
8m

ভূমিকা

নিক যেবো 1990-এর দশকে প্রথম স্মার্ট কন্ট্রাক্টের বর্ণনা করেছিলেন। সে সময়, তিনি কোনো স্মার্ট কন্ট্রাক্টকে একটি টুল হিসেবে সংজ্ঞায়িত করেছিলেন যেটি ইউজার ইন্টারফেস থাকা প্রোটোকলকে একত্রিত করে কম্পিউটার নেটওয়ার্কগুলোকে বৈধ রূপ দিবে ও সুরক্ষিত করবে।

চুক্তিভিত্তিক সম্মতি থাকা বিভিন্ন ক্ষেত্রে স্মার্ট কন্ট্রাক্টের সম্ভাব্য ব্যবহার নিয়ে যেবো আলোচনা করেছে - যেমন ক্রেডিট সিস্টেম, পেমেন্ট প্রসেসিং ও কনটেন্ট রাইট ম্যানেজমেন্ট।

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

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

বিটকয়েন প্রোটোকল বহু বছর ধরে স্মার্ট কন্ট্রাক্টকে সমর্থন করে করলেও ইথিরিয়ামের স্রষ্টা ও সহ-প্রতিষ্ঠাতা ভিটালিক বুটেরিন এগুলোকে জনপ্রিয় করে তোলেন। এটি লক্ষ্য করাও প্রয়োজনীয় যে স্মার্ট কন্ট্রাক্ট বাস্তবায়নের জন্য প্রতিটি ব্লকচেইন ভিন্ন ভিন্ন পদ্ধতি উপস্থাপন করতে পারে। 

এই নিবন্ধটি ইথিরিয়াম ব্লকচেইনের একটি অপরিহার্য অংশ ইথিরিয়াম ভার্চুয়াল মেশিনে (EVM) চালিত স্মার্ট কন্ট্রাক্টগুলোর নিয়ে আলোচনা করবে।


এগুলো কিভাবে কাজ করে?

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

ইথিরিয়াম নেটওয়ার্কে, ব্যবহারকারী (ঠিকানা) একে অপরের সাথে ইন্টারঅ্যাক্ট করার সময় সংঘটিত ব্লকচেইন ক্রিয়াকলাপগুলো সম্পাদন ও পরিচালনার দায়িত্ব স্মার্ট কন্ট্রাক্ট্রের। স্মার্ট কন্ট্রাক্ট নয় এমন সকল ঠিকানা বহিরাগত মালিকানাধীন অ্যাকাউন্ট (EOA) নামে পরিচিত। সুতরাং, স্মার্ট কন্ট্রাক্ট কম্পিউটার কোড দ্বারা নিয়ন্ত্রিত হয় আর EOA ব্যবহারকারীদের দ্বারা নিয়ন্ত্রিত হয়।

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

যেকোন স্মার্ট কন্ট্রাক্টের ডেপ্লয়মেন্ট ব্লকচেইন লেনদেনের মাধ্যমে করা হয় এবং কোনো EOA (বা অন্যান্য স্মার্ট কন্ট্রাক্টের মাধ্যমে) কল করলেই সেগুলো সক্রিয় করা যেতে পারে। তবে, প্রথম ট্রিগারটি সবসময়ই একটি EOA (ব্যবহারকারী) দ্বারা সৃষ্ট হয়।


মূল বৈশিষ্ট্যসমূহ

কোনো ইথিরিয়াম স্মার্ট কন্ট্রাক্ট প্রায়শই নিম্নলিখিত বৈশিষ্ট্যসমূহ উপস্থাপন করে:

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

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

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

অপরিবর্তনীয় (Immutable)। ডেপ্লয় করার পরে স্মার্ট কন্ট্রাক্ট পরিবর্তন করা যাবে না। বিশেষ কোনো ফাংশন পূর্বে ইমপ্লিমেন্ট করা হলে এটিকে শুধুমাত্র "মুছে ফেলা" যাবে। সুতরাং, আমরা বলতে পারি যে স্মার্ট কন্ট্রাক্টগুলো ট্যাম্পার-প্রুফ কোড প্রদান করতে পারে।

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

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

স্বচ্ছ। স্মার্ট কন্ট্রাক্ট পাবলিক ব্লকচেইনের উপর ভিত্তি করে তৈরি হওয়ায়, তাদের সোর্স কোড শুধুমাত্র অপরিবর্তনীয়ই নয়, যে কারো কাছে দৃশ্যমানও বটে।


আমি কি কোনো স্মার্ট কন্ট্রাক্ট পরিবর্তন বা মুছে ফেলতে পারি?

ডেপ্লয় করার পরে কোনো ইথিরিয়াম স্মার্ট কন্ট্রাক্টে নতুন ফাংশন যোগ করা অসম্ভব। তবে, কোডের মধ্যে নির্মাতা যদি SELFDESTRUCT নামক একটি ফাংশন অন্তর্ভুক্ত করে, তাহলে তারা ভবিষ্যতে স্মার্ট কন্ট্রাক্টটি "মুছে ফেলতে" - এবং এটিকে নতুন একটি দিয়ে প্রতিস্থাপন করতে পারবে। আর ফাংশনটি যদি আগে থেকে কোডে অন্তর্ভুক্ত না করা হয় তবে তারা এটি মুছতে পারবে না।

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

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


সুবিধা ও ব্যবহার ক্ষেত্র

প্রোগ্রামযোগ্য কোড হিসেবে, স্মার্ট কন্ট্রাক্টগুলো অত্যন্ত কাস্টমাইজযোগ্য ও বিভিন্ন উপায়ে ডিজাইন করা যেতে পারে, যা বিভিন্ন ধরণের পরিষেবা ও সমাধান প্রদান করে।

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

দুই বা ততোধিক পক্ষের মধ্যে ফান্ড ট্রান্সফার বা বিনিময় করতে হয় এমন পরিস্থিতিতে স্মার্ট কন্ট্রাক্টগুলো বিশেষভাবে কার্যকর।

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


ERC-20

ইথিরিয়াম ব্লকচেইনে ইস্যু করা টোকেনগুলো ERC-20 নামে পরিচিত একটি স্ট্যান্ডার্ড অনুসরণ করে। স্ট্যান্ডার্ডটি সকল ইথিরিয়াম-ভিত্তিক টোকেনের মূল ফাংশন বর্ণনা করে। সে কারণে, এই ডিজিটাল অ্যাসেটগুলোকে প্রায়শই ERC-20 টোকেন হিসেবে উল্লেখ করা হয় এবং তারা বিদ্যমান ক্রিপ্টোকারেন্সির একটি বড় অংশের প্রতিনিধিত্ব করে।

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


সীমাবদ্ধতাসমূহ

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

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

অপরিবর্তনীয় হওয়া কিছু কিছু পরিস্থিতিতে অসাধারণ হতে পারে তবে অন্যান্য ক্ষেত্রের জন্য খুব খারাপ হয়। যেমন, 2016 সালে "DAO" নামক একটি ডিসেন্ট্রালাইজড স্বায়ত্তশাসিত সংস্থা (DAO) যখন হ্যাক হয়েছিল, তখন স্মার্ট কন্ট্রাক্ট কোডের ত্রুটির কারণে লক্ষ লক্ষ ইথার (ETH) চুরি হয়েছিল।

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

এটি মনে রাখা গুরুত্বপূর্ণ যে সমস্যাটি ইথিরিয়াম ব্লকচেইন থেকে আসেনি। বরং, এটি একটি ত্রুটিপূর্ণ স্মার্ট কন্ট্রাক্ট বাস্তবায়নের কারণে হয়েছিল।

স্মার্ট কন্ট্রাক্টের আরেকটি সীমাবদ্ধতা তাদের অনিশ্চিত আইনি অবস্থার সাথে সম্পর্কিত। এটি অধিকাংশ দেশে আইনের একটি অস্পষ্ট এলাকা রয়েছে বলেই নয়, স্মার্ট কন্ট্রাক্ট আসলে বর্তমান আইনি কাঠামোর সাথে খাপও খায় না।

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


সমালোচনা

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

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

মূলত, সমালোচনার মূল ভিত্তি হলো স্মার্ট কন্ট্রাক্ট বাস্তব বিশ্বের অনেক সমস্যার জন্য উপযুক্ত সমাধান নয়। প্রকৃতপক্ষে, কিছু কিছু প্রতিষ্ঠানের জন্য প্রচলিত সার্ভার-ভিত্তিক বিকল্প ব্যবহার করাই ভালো। 

স্মার্ট কন্ট্রাক্টের সাথে তুলনায়, কেন্দ্রীভূত সার্ভারগুলো রক্ষাণাবেক্ষণ করা সহজ ও সস্তা এবং গতি ও ক্রস-নেটওয়ার্ক যোগাযোগের (আন্তঃকার্যযোগ্যতা) পরিপ্রেক্ষিতে অধিক দক্ষ বলে দেখা যায়।


শেষ কথা

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

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