ব্লকচেইন কী?
সংক্ষেপে, ব্লকচেইন হলো ডেটা রেকর্ডের একটি তালিকা যা একটি বিকেন্দ্রীকৃত ডিজিটাল লেজার হিসেবে কাজ করে। ডেটাগুলোকে বিভিন্ন ব্লকে সজ্জিত করা হয়, যেগুলো ক্রম অনুযায়ী সাজানো হয় এবং ক্রিপ্টোগ্রাফি দিয়ে সুরক্ষিত করা হয়।
ব্লকচেইনের প্রাচীনতম মডেলটি 1990-এর দশকের গোড়ার দিকে তৈরি করা হয়েছিল, যখন কম্পিউটার বিজ্ঞানী স্টুয়ার্ট হ্যাবার এবং পদার্থবিদ ডব্লিউ. স্কট স্টরনেটা ডেটা টেম্পারিং বা অদলবদল থেকে ডিজিটাল ডকুমেন্টগুলোকে সুরক্ষিত করার উপায় হিসেবে ব্লকের একটি শৃঙ্খলে বা চেইনে ক্রিপ্টোগ্রাফিক কৌশল প্রয়োগ করেছিলেন।
হ্যাবার এবং স্টরনেটা-এর কাজ অবশ্যই অন্যান্য অনেক কম্পিউটার বিজ্ঞানী এবং ক্রিপ্টোগ্রাফি সম্পর্কে আগ্রহী ব্যক্তির কাজকে অনুপ্রাণিত করেছিল - যা শেষ পর্যন্ত প্রথম বিকেন্দ্রীভূত ইলেকট্রনিক নগদ ব্যবস্থা হিসেবে বিটকয়েন তৈরির পথে এগিয়ে নেয় (বা সহজভাবে প্রথম ক্রিপ্টোকারেন্সি)।
যদিও ব্লকচেইন প্রযুক্তি ক্রিপ্টোকারেন্সিগুলো থেকে পুরানো, তবে 2008 সালে বিটকয়েন তৈরির পরেই এর সম্ভাবনা স্বীকৃতি পেতে শুরু করে। তারপর থেকে, ব্লকচেইন প্রযুক্তির প্রতি আগ্রহ ক্রমান্বয়ে বৃদ্ধি পাচ্ছে, এবং ক্রিপ্টোকারেন্সিগুলো এখন বৃহত্তর পরিসরে স্বীকৃতি পাচ্ছে।
অধিকাংশ ক্ষেত্রেই ব্লকচেইন প্রযুক্তি ক্রিপ্টোকারেন্সির লেনদেনগুলো রেকর্ড করার জন্য ব্যবহৃত হয়, তবে এটি অন্যান্য অনেক ধরণের ডিজিটাল ডেটার ক্ষেত্রে মানানসই হয় এবং এটি বিভিন্ন ব্যবহারিক ক্ষেত্রে প্রয়োগ করা যেতে পারে। প্রাচীনতম, সবচেয়ে নিরাপদ এবং বৃহত্তম ব্লকচেইন নেটওয়ার্ক হলো বিটকয়েন, যা ক্রিপ্টোগ্রাফি এবং গেম তত্ত্বের একটি সতর্ক এবং সুষম সমন্বয়ের সাথে ডিজাইন করা হয়েছিল।
ব্লকচেইন কিভাবে কাজ করে?
ক্রিপ্টোকারেন্সির প্রেক্ষাপটে, ব্লকচেইন ব্লকের একটি স্থিতিশীল চেইন নিয়ে গঠিত, যার প্রত্যেকটি পূর্বে নিশ্চিত হওয়া লেনদেনের একটি তালিকা সংরক্ষণ করে। যেহেতু ব্লকচেইন নেটওয়ার্ক বিশ্বজুড়ে ছড়িয়ে থাকা অসংখ্য কম্পিউটার দ্বারা রক্ষণাবেক্ষণ করা হয়, তাই এটি একটি বিকেন্দ্রীভূত ডাটাবেস (বা লেজার) হিসেবে কাজ করে। এর মানে হলো, প্রতিটি অংশগ্রহণকারী (নোড) ব্লকচেইন ডেটার একটি অনুলিপি সংরক্ষণ করে এবং সেগুলোর সবাই যে একই পেজে (বা ব্লকে) রয়েছে তা নিশ্চিত করতে একে অপরের সাথে যোগাযোগ করে।
অতএব, ব্লকচেইন লেনদেনগুলো একটি পিয়ার-টু-পিয়ার বৈশ্বিক নেটওয়ার্কের মধ্যে ঘটে এবং এটিই বিটকয়েনকে একটি বিকেন্দ্রীভূত ডিজিটাল মুদ্রা করে তোলে, যা সীমানাবিহীন এবং সেন্সরশিপ-প্রতিরোধী। উপরন্তু, অধিকাংশ ব্লকচেইন সিস্টেমকে বিশ্বাসহীন বলে মনে করা হয়, কারণ সেগুলোর কোনো ধরনের বিশ্বাসের প্রয়োজন হয় না। বিটকয়েনের নিয়ন্ত্রণে কোনো একক কর্তৃপক্ষ নেই।
প্রায় প্রতিটি ব্লকচেইনের একটি কেন্দ্রীয় অংশ হলো মাইনিং প্রক্রিয়া, যা হ্যাশিং অ্যালগরিদমের উপর নির্ভর করে। বিটকয়েন SHA-256 অ্যালগরিদম ব্যবহার করে (সিকিউর হ্যাশ অ্যালগরিদম 256 বিট)। এটি যেকোনো দৈর্ঘ্যের একটি ইনপুট নেয় এবং একটি আউটপুট তৈরি করে যার দৈর্ঘ্য সর্বদা একই থাকবে। উৎপাদিত আউটপুটকে "হ্যাশ" বলা হয় এবং এই ক্ষেত্রে, এটি সর্বদা 64 ক্যারেক্টার (256 বিট) দিয়ে তৈরি হয়।
সুতরাং একই ইনপুটের ফলে একই আউটপুট আসবে, যতবার প্রক্রিয়াটি পুনরাবৃত্তি করা হোক না কেন। কিন্তু ইনপুটে যদি ছোট কোনো পরিবর্তন করা হয়, তবে আউটপুট সম্পূর্ণরূপে পরিবর্তিত হবে। যেমন, হ্যাশ ফাংশনগুলো নির্ধারক এবং ক্রিপ্টোকারেন্সির জগতে, সেগুলোর বেশিরভাগই একমুখী হ্যাশ ফাংশন হিসেবে তৈরি করা হয়েছে।
একমুখী ফাংশন হওয়ার অর্থ হলো ইনপুট কী ছিল তা আউটপুট থেকে হিসাব করা প্রায় অসম্ভব। ইনপুটটি কী ছিল কেউ শুধু তা অনুমান করতে পারে, তবে এটি সঠিক অনুমান করার সম্ভাবনা অত্যন্ত কম। এটি বিটকয়েনের ব্লকচেইন নিরাপদ হওয়ার অন্যতম প্রধান কারণ।
অ্যালগরিদম কী করে তা এখন যেহেতু আমরা জানি, তাই আসুন লেনদেনের একটি সাধারণ উদাহরণ দিয়ে দেখা যাক ব্লকচেইন কীভাবে কাজ করে।
মনে করি, আমাদের কাছে এলিস এবং বব তাদের বিটকয়েন ব্যালেন্স সহ রয়েছে। ধরা যাক এলিস ববের কাছে 2 বিটকয়েন ঋণী রয়েছে।
অ্যালিসকে ববের কাছে সেই 2 বিটকয়েন পাঠানোর জন্য, অ্যালিস নেটওয়ার্কের সকল মাইনারের কাছে সেই লেনদেন সম্পর্কে একটি বার্তা সম্প্রচার করে।
সেই লেনদেনে, অ্যালিস একটি ডিজিটাল স্বাক্ষর এবং তার পাবলিক কী সহ মাইনারদেরকে ববের ঠিকানা ও সে যে পরিমাণ বিটকয়েন পাঠাতে চায় তা দেয়। স্বাক্ষরটি অ্যালিসের প্রাইভেট কী দিয়ে করা হয়েছে, এবং মাইনারগণ যাচাই করতে পারেন যে অ্যালিসই আসলে সেই মুদ্রার মালিক৷
মাইনারগণ সেই লেনদেনের বৈধতার ব্যাপারে নিশ্চিত হওয়ার পর, তারা অন্য অনেক লেনদেনের সাথে এটি একটি ব্লকে রাখতে পারেন এবং ব্লকটি মাইন করার চেষ্টা করতে পারেন। এটি SHA-256 অ্যালগরিদমের মাধ্যমে ব্লক স্থাপন করে করা হয়। বৈধ বলে বিবেচিত হওয়ার জন্য আউটপুটটিকে 0-এর একটি নির্দিষ্ট পরিমাণ দিয়ে শুরু হতে হবে। 0-এর পরিমাণ নির্ভর করে যাকে "কঠিনতা" বলা হয় তার উপর নির্ভর করে, যা নেটওয়ার্কে কত কম্পিউটিং ক্ষমতা রয়েছে তার উপর নির্ভর করে পরিবর্তন হয়।
শুরুতে 0-এর কাঙ্খিত পরিমাণের সাথে একটি আউটপুট হ্যাশ তৈরি করার জন্য, মাইনারগণ অ্যালগরিদমের মাধ্যমে এটি চালানোর আগে ব্লকের মধ্যে " ননস (nonce)" যোগ করে৷ যেহেতু ইনপুটে একটি ছোট পরিবর্তন আউটপুটকে সম্পূর্ণরূপে পরিবর্তন করে, তাই মাইনারগণ একটি বৈধ আউটপুট হ্যাশ না পাওয়া পর্যন্ত র্যান্ডম ননস চেষ্টা করে।
ব্লকটি মাইন করা হয়ে গেলে, মাইনার অন্য সকল মাইনারের কাছে নতুন মাইন করা ব্লকটি সম্প্রচার করে। তারপরে তারা ব্লকটি বৈধ কি না তা নিশ্চিত করতে পরীক্ষা করে, যাতে তারা তাদের ব্লকচেইনের কপিতে এটি যোগ করতে পারেন এবং লেনদেন সম্পন্ন হয়। কিন্তু ব্লকে, মাইনারদের আগের ব্লক থেকে আউটপুট হ্যাশ অন্তর্ভুক্ত করতে হবে, যাতে সকল ব্লক একসাথে বাঁধা থাকে, তাই এর নাম ব্লকচেইন। সিস্টেমে বিশ্বাস যেভাবে কাজ করে তার কারণে এটি একটি গুরুত্বপূর্ণ অংশ।
প্রত্যেক মাইনারের তাদের কম্পিউটারে ব্লকচেইনের নিজস্ব কপি থাকে এবং যে ব্লকচেইনের মধ্যে সবচেয়ে বেশি গণনামূলক কাজ রয়েছে, অর্থাৎ দীর্ঘতম ব্লকচেইনকে সকলে বিশ্বাস করে। যদি কোনো মাইনার পূর্ববর্তী ব্লকে একটি লেনদেন পরিবর্তন করে, তবে সেই ব্লকের আউটপুট হ্যাশ পরিবর্তন হবে, যা হ্যাশের সাথে ব্লক পছন্দ করার কারণে এটি পরিবর্তন করার পরের সকল হ্যাশেও পরিবর্তন হয়ে থাকে। কেউ যদি তার ব্লকচেইনটিকে সঠিক হিসেবে গ্রহণ করাতে চায়, তবে মাইনারকে সকল কাজ পুনরায় করতে হবে। সুতরাং যদি কোনো মাইনার প্রতারণা করতে চায়, তাহলে তার নেটওয়ার্কের কম্পিউটিং ক্ষমতার 50% এর বেশি প্রয়োজন হবে, যা হওয়ার সম্ভাবনা খুবই কম। এই ধরনের নেটওয়ার্ক আক্রমণকে 51% আক্রমণ বলা হয়।
ব্লক তৈরি করার জন্য কম্পিউটারগুলোকে কাজ করার মডেলটিকে প্রুফ-অফ-ওয়ার্ক (PoW) বলা হয়; এছাড়াও প্রুফ-অফ-স্ট্যাক (PoS)-এর মতো অন্যান্য মডেলও রয়েছে, যার জন্য এত কম্পিউটিং ক্ষমতার প্রয়োজন হয় না এবং কম বিদ্যুতের প্রয়োজন হয় এবং আরো বেশি ব্যবহারকারীদের কাছে পৌঁছাতে সক্ষম হয়।