2008 সালে বিটকয়েনের সূচনার পর থেকে একটি পিয়ার-টু-পিয়ার ইলেকট্রনিক ক্যাশ সিস্টেম হিসেবে অন্যান্য অনেক ক্রিপ্টোকারেন্সি তৈরি হয়েছিল, যাদের ছিল নিজ নিজ প্রক্রিয়া। তবে তাদের আর্কিটেকচারের মূল উপাদান হিসেবে একটি জিনিস প্রায় সকল ক্রিপ্টোকারেন্সিতে মিল রয়েছে। আর তা হলো ব্লকচেইন।
কিছু কিছু ব্যতিক্রম ছাড়া, ব্লকচেইনগুলো ইচ্ছাকৃতভাবে বিকেন্দ্রীকরণ করার জন্য ডিজাইন করা হয়েছে যা একটি ডিজিটাল লেজার হিসেবে কাজ করে। লেজারটিকে কম্পিউটার নোডগুলোর একটি ডিস্ট্রিবিউটেড নেটওয়ার্ক রক্ষণাবেক্ষণ করে। এই কারণে, ব্লকচেইন প্রযুক্তি আস্থাবিহীন অর্থনৈতিক ব্যবস্থা তৈরির সুযোগ সৃষ্টি করেছে যেখানে মধ্যস্থতাকারীদের প্রয়োজন ছাড়াই স্বচ্ছ ও নির্ভরযোগ্য আর্থিক লেনদেন সম্পাদন করা যায়। ক্রিপ্টোকারেন্সিগুলোকে বিশ্বাসের উপর অনেক বেশি নির্ভরশীল প্রথাগত ব্যাংকিং ও পেমেন্ট সিস্টেমগুলোর একটি কার্যকর বিকল্প হিসেবে গ্রহণ করা হচ্ছে।
অধিকাংশ ডিস্ট্রিবিউটেড কম্পিউটিং সিস্টেমের মতোই, ক্রিপ্টোকারেন্সি নেটওয়ার্কের অংশগ্রহণকারীদের নিয়মিতভাবে ব্লকচেইনের বর্তমান অবস্থার উপর সম্মত হতে হয় আর এটিকেই আমরা কনসেনশাস অর্জন বলি। তবে, ডিস্ট্রিবিউটেড নেটওয়ার্কে নিরাপদ ও দক্ষ উপায়ে ঐক্যমত পৌঁছানো এতটা সহজ নয়।
তো, কোনো কোনো নোডের ব্যর্থ হওয়ার বা অসাধুভাবে কাজ করার সম্ভাবনা থাকলে কম্পিউটার নোডের একটি ডিস্ট্রিবিউটেড নেটওয়ার্ক কিভাবে কোনো সিদ্ধান্তে একমত হয়? এটি বাইজেন্টাইন জেনারেলদের সমস্যা নামে পরিচিত সমস্যার মৌলিক প্রশ্ন যেখান থেকে বাইজেন্টাইন ফল্ট টলারেন্সের ধারণা জন্ম নিয়েছে।
বাইজেন্টাইন জেনারেলদের সমস্যা কী?
অল্প কথায়, বাইজেন্টাইন জেনারেলদের সমস্যাটি 1982 সালে একটি লজিক্যাল ডিলেমা বা যুক্তির উভয় সঙ্কট হিসেবে কল্পনা করা হয়েছিল যা ব্যাখ্যা করে যে কিভাবে বাইজেন্টাইন জেনারেলদের কোনো গ্রুপ তাদের পরবর্তী পদক্ষেপের বিষয়ে একমত হওয়ার চেষ্টা করার সময় যোগাযোগের সমস্যায় পড়তে পারে।
উভয় সঙ্কটটি ধরে নেয় যে প্রতিটি জেনারেলের নিজস্ব সেনাবাহিনী রয়েছে এবং প্রতিটি গ্রুপ যে শহর আক্রমণ করতে চায় সেটির চারপাশে বিভিন্ন স্থানে অবস্থিত নিয়েছে। আক্রমণ অথবা পশ্চাদপসরণের বিষয়ে জেনারেলদেরকে একমত হতে হবে। সকল জেনারেল যদি ঐকমত্যে পৌঁছান অর্থাৎ সমন্বয় সাধনের উদ্দেশ্যে একটি সাধারণ সিদ্ধান্তে সম্মত হন, তাহলে তারা আক্রমণ করুক বা পশ্চাদপসরণ করুক তাতে কিছু যায় আসে না।
অতএব, আমরা নিম্নলিখিত প্রয়োজনীয়তাগুলো বিবেচনা করতে পারি:
প্রতিটি জেনারেলকে সিদ্ধান্ত নিতে হবে: আক্রমণ বা পশ্চাদপসরণের বিষয়ে (হ্যাঁ বা না);
সিদ্ধান্ত নেওয়ার পরে, এটি পরিবর্তন করা যাবে না;
সকল জেনারেলকে একই সিদ্ধান্তে একমত হতে হবে এবং এটি একটি সুসংগত পদ্ধতিতে কার্যকর করতে হবে।
উল্লিখিত এই যোগাযোগ সমস্যা যে যে বিষয়টির সাথে সম্পর্কিত তা হল যে একজন জেনারেল অন্য আরেকজনের সাথে কেবল একজন কুরিয়ারের মাধ্যমে পাঠানো মেসেজ দিয়ে যোগাযোগ করতে পারে। ফলস্বরূপ, বাইজেন্টাইন জেনারেলদের সমস্যার কেন্দ্রীয় চ্যালেঞ্জ হল যে মেসেজ কোনোভাবে বিলম্বিত, ধ্বংস বা হারিয়ে যেতে পারে।
উপরন্তু, কোনো বার্তা সফলভাবে বিতরণ করা হলেও এক বা একাধিক জেনারেল ক্ষতির উদ্দেশ্যে কাজ (যে কোনো কারণেই হোক) করতে পারে এবং অন্য জেনারেলদের বিভ্রান্ত করার জন্য একটি প্রতারণামূলক বার্তা পাঠাতে পারেন, যা পুরো বিষয়টিকে সম্পূর্ণ ব্যর্থতার দিকে পরিচালিত করবে।
যদি আমরা ব্লকচেইনের প্রেক্ষাপটে এই উভয় সঙ্কট প্রয়োগ করি, তাহলে প্রতিটি জেনারেল একটি নেটওয়ার্ক নোডের প্রতিনিধিত্ব করে এবং নোডগুলোকে সিস্টেমের বর্তমান অবস্থার উপর কনসেনশাসে পৌঁছাতে হবে। অন্যভাবে বললে, একটি ডিস্ট্রিবিউটেড নেটওয়ার্কের মধ্যে অধিকাংশ অংশগ্রহণকারীদের সম্পূর্ণ ব্যর্থতা এড়াতে একই ক্রিয়ায় সম্মত হতে হবে এবং তা কার্যকর করতে হবে।
অতএব, এই ধরনের ডিস্ট্রিবিউটেড ব্যবস্থায় কনসেনশাস অর্জনের একমাত্র উপায় হ]লো কমপক্ষে ⅔ বা তার বেশি নির্ভরযোগ্য এবং সৎ নেটওয়ার্ক নোড থাকা। এর মানে হল যে যদি নেটওয়ার্কের অধিকাংশই যদি ক্ষতি করার সিদ্ধান্ত নেয়, তাহলে সিস্টেমে ব্যর্থতা এবং আক্রমণ হওয়ার সম্ভাবনা বেড়ে যাবে (যেমন 51% আক্রমণ)।
বাইজেন্টাইন ফল্ট টলারেন্সের ব্যাখ্যা (BFT)
অল্প কথায়, বাইজেন্টাইন ফল্ট টলারেন্স (BFT) হলো এমন একটি সিস্টেমের বৈশিষ্ট যা বাইজেন্টাইন জেনারেলদের সমস্যা থেকে আগত ব্যর্থতাকে প্রতিরোধ করতে পারে। এর মানে হলো যে কিছু নোড ব্যর্থ হলে বা ক্ষতিকর কাজ করলেও একটি BFT সিস্টেম কাজ চালিয়ে যেতে পারে।
বাইজেন্টাইন জেনারেলদের সমস্যার একাধিক সম্ভাব্য সমাধান রয়েছে এবং এ কারণে কোনো BFT সিস্টেম তৈরির একাধিক উপায় রয়েছে। একইভাবে, বাইজেন্টাইন ফল্ট টলারেন্স অর্জনের জন্য কোনো ব্লকচেইনের বিভিন্ন পদ্ধতি রয়েছে এবং এটি আমাদেরকে কনসেনশাস অ্যালগরিদমের দিকে পরিচালিত করে।
ব্লকচেইন কনসেনশাস অ্যালগরিদম
কনসেনশাস অ্যালগরিদমকে আমরা এমন একটি মেকানিজম হিসেবে সংজ্ঞায়িত করতে পারি যার মাধ্যমে কোনো ব্লকচেইন নেটওয়ার্ক কনসেনশাসে পৌঁছায়। সবচেয়ে প্রচলিত বাস্তবায়ন হলো প্রুফ অব ওয়ার্ক (PoW) এবং প্রুফ অব স্ট্যাক (PoS)। কিন্তু উদাহরণ হিসেবে বিটকয়েনকে নেয়া যাক।
বিটকয়েন প্রোটোকল সিস্টেমের প্রাথমিক নিয়মগুলো নির্ধারণ করে দেয় আর PoW কনসেনসাস অ্যালগরিদম নির্ধারণ করে যে কিভাবে এই নিয়মগুলো কনসেনশাসে পৌঁছানোর জন্য অনুসরণ করা হবে (উদাহরণস্বরূপ, লেনদেনের যাচাইকরণ ও ভ্যালিডেশনের সময়)।
প্রুফ অব ওয়ার্ক ধারণাটি ক্রিপ্টোকারেন্সির চেয়ে পুরানো হলেও, সাতোশি নাকামোতো অ্যালগরিদম হিসেবে এটির একটি পরিবর্তিত সংস্করণ তৈরি করেছেন যা BFT সিস্টেম হিসেবে বিটকয়েন তৈরিকে সক্ষম করেছে।
উল্লেখ্য যে PoW অ্যালগরিদম 100% বাইজেন্টাইন ফল্ট টলারেন্স নয়, তবে বিপুল খরচের মাইনিং প্রক্রিয়া এবং অন্তর্নিহিত ক্রিপ্টোগ্রাফিক কৌশলগুলোর কারণে, PoW ব্লকচেইন নেটওয়ার্কগুলোর জন্য সবচেয়ে নিরাপদ ও নির্ভরযোগ্য বাস্তবায়নের একটি হিসেবে প্রমাণিত হয়েছে। সেই হিসেবে, সাতোশি নাকামোতোর ডিজাইন করা প্রুফ অব ওয়ার্ক কনসেনসাস অ্যালগরিদমকে অনেকেই বাইজেন্টাইন ফল্টের অন্যতম প্রতিভাধর সমাধান হিসেবে বিবেচনা করে।
সর্বশেষ কথা
বাইজেন্টাইন জেনারেলদের সমস্যা একটি কৌতূহলোদ্দীপক সমস্যা যা শেষ পর্যন্ত BFT সিস্টেমের জন্ম দিয়েছে, যেটি এখন বিভিন্ন পরিস্থিতিতে ব্যাপকভাবে প্রয়োগ করা হচ্ছে। ব্লকচেইন শিল্পের বাইরে, BFT সিস্টেমের কয়েকটি ব্যবহারে ক্ষেত্র হল বিমান চলাচল, মহাকাশ এবং পারমাণবিক শক্তি শিল্প।
ক্রিপ্টোকারেন্সিতে একটি ভালো ক্রিপ্টোকারেন্সি প্রক্রিয়ার পাশাপাশি একটি দক্ষ নেটওয়ার্ক যোগাযোগ থাকা যেকোনো ব্লকচেইন ইকোসিস্টেমের জন্য অত্যাবশ্যক। এই সিস্টেমগুলো সুরক্ষিত করা একটি চলমান প্রচেষ্টা, এবং বিদ্যমান কনসেনশাস অ্যালগরিদমগুলো এখনও কয়েকটি সীমাবদ্ধতা (যেমন স্কেলেবিলিটি) অতিক্রম করতে পারেনি। তা সত্ত্বেও, BFT সিস্টেম হিসেবে PoW এবং PoS খুবই আকর্ষণীয় পদ্ধতি, এবং সম্ভাব্য অ্যাপ্লিকেশনগুলো অবশ্যই ব্যাপক উদ্ভাবনকে অনুপ্রাণিত করছে।