ভূমিকা
প্রুফ অফ ওয়ার্ক (সংক্ষেপে সাধারণত PoW বলা হয়) হল দ্বিগুণ-ব্যয় রোধ করার একটি প্রক্রিয়া। প্রধান প্রধান অধিকাংশ ক্রিপ্টোকারেন্সি এটিকে তাদের কনসেনশাস অ্যালগরিদম হিসেবে ব্যবহার করে। এটাকেই আমরা ক্রিপ্টোকারেন্সির লেজার সুরক্ষিত করার পদ্ধতি বলি।
প্রুফ অফ ওয়ার্ক ছিল প্রথম ও আজ পর্যন্ত সবচেয়ে প্রভাবশালী কনসেনশাস অ্যালগরিদম। এটি 2008 সালে বিটকয়েন হোয়াইট পেপারে সাতোশি নাকামোতো প্রবর্তিত করেছিলেন, তবে প্রযুক্তিটি অনেক আগেই কল্পনা করা হয়েছিল।
অ্যাডাম ব্যাক এর হ্যাশক্যাশ হল প্রাক-ক্রিপ্টোকারেন্সি দিনগুলোতে প্রুফ অফ ওয়ার্কের একটি প্রাথমিক উদাহরণ। কোনো ইমেইল পাঠানোর আগে প্রেরককে অল্প পরিমাণে কম্পিউটিং করানোর মাধ্যমে রিসিভাররা স্প্যাম প্রশমিত করতে পারতো। একজন প্রকৃত প্রেরকের জন্য এই গণনাটি কার্যত কিছুই নয়, কিন্তু প্রচুর পরিমাণে ইমেইল পাঠানো কারও জন্য এটি অনেক।
দ্বিগুণ-ব্যয় কী?
একই ফান্ড একাধিকবার ব্যয় হলে দ্বিগুণ-ব্যয় সম্পাদিত হয়। শব্দটি প্রায় এক্সক্লুসিভভাবে ডিজিটাল অর্থের প্রেক্ষাপটে ব্যবহৃত হয় – যাইহোক, একই ফিজিক্যাল ক্যাশ আপে দুবার ব্যয় করতে পারবেন না। আজ একটি কফির জন্য পে করার সময় আপনি একজন ক্যাশিয়ারের কাছে ক্যাশ হস্তান্তর করেন যিনি সম্ভবত এটি একটি রেজিস্টারে লক করে রাখেন। রাস্তার উলটো দিকের আরেকটি কফি শপে আপনি যেয়ে ঐ একই নোট দিয়ে অন্য কফির জন্য পে করতে পারবেন না।
ডিজিটাল ক্যাশ স্কিমগুলোতে এমন সম্ভাবনা রয়েছে যে আপনি এই কাজটি করতে পারবেন। অবশ্যই আপনি আগে কোনো কম্পিউটার ফাইল কপি করেছেন – আপনি শুধু কপি ও পেস্ট করেন। আপনি একই ফাইলটি দশ, বিশ, পঞ্চাশ জনকে ইমেইল করতে পারেন।
ডিজিটাল অর্থ কেবল ডেটা হওয়ায়, একই ইউনিট বিভিন্ন জায়গায় কপি করে ব্যয় করা থেকে মানুষকে আপনার বিরত রাখতে হবে। অন্যথায়, আপনার মুদ্রা কিছুক্ষণের মধ্যেই ধ্বসে পড়বে।
দ্বিগুণ-ব্যয় সম্পর্কে আরো বিস্তারিত জানার জন্য, দ্বিগুণ ব্যয়ের ব্যাখ্যা দেখুন।
প্রুফ অফ ওয়ার্ক কেন প্রয়োজন?
আপনি যদি আমাদের ব্লকচেইন প্রযুক্তি সম্পর্কিত নির্দেশিকা পড়ে থাকেন, তাহলে আপনি জানতে পারবেন যে ব্যবহারকারীরা নেটওয়ার্কে লেনদেন সম্প্রচার করে। যদিও এই লেনদেনগুলো সাথে সাথেই বৈধ বলে বিবেচিত হয় না। এটি তখনই ঘটে যখন সেগুলো ব্লকচেইনে যুক্ত হয়।
ব্লকচেইন একটি বড় ডেটাবেজ যা প্রত্যেক ব্যবহারকারী দেখতে পারে, ফলে তারা ফান্ড আগে খরচ হয়েছে কিনা তা পরীক্ষা করতে পারে। এভাবে ভাবুন: আপনার ও তিন বন্ধুর একটি নোটপ্যাড আছে। আপনাদের মধ্যে যেকেউ নিজের ব্যবহারের ইউনিট যেকোনো পরিমাণে ট্রান্সফার করতে চাইলে আপনি এটি লিখে রাখেন – অ্যালিস ববকে পাঁচ ইউনিট দিল, বব ক্যারলকে দুই ইউনিট দিল ইত্যাদি।
এখানে আরেকটি জটিলতা রয়েছে – আপনি যখনই কোনো লেনদেন করেন, তখন সেই লেনদেনের ফান্ড যেখান থেকে এসেছে সেটি উল্লেখ করেন। সুতরাং, বব যদি ক্যারলকে দুই ইউনিট দেয় তাহলে এন্ট্রিটি দেখতে মূলত এমন হবে: বব অ্যালিসের সাথে করা আগের লেনদেন থেকে ক্যারলকে দুটি ইউনিট প্রদান করে।
এখন, ইউনিট ট্র্যাক করার একটি উপায় আমাদের আছে। বব যদি এইমাত্র ক্যারোলকে পাঠানো একই ইউনিটগুলো ব্যবহার করে অন্য লেনদেন করার চেষ্টা করে, তাহলে সবাই তাৎক্ষণিকভাবে জানতে পারবে। গ্রুপটি নোটপ্যাডে লেনদেনটি যোগ করার অনুমতি দেবে না।
আচ্ছা, এটি ছোট গ্রুপে ভালো কাজ করতে পারে। সবাই একে অপরকে চেনে, তাই তারা কোন বন্ধু নোটপ্যাডে লেনদেন লিখবে সম্ভবত সে বিষয়ে একমত হবে। আমরা যদি 10,000 জন অংশগ্রহণকারীদের একটি গ্রুপ হতাম তাহলে কী হত? নোটপ্যাডের ধারণাটি ভালোভাবে পরিমাপ করতে পারবে না, কারণ এটি পরিচালনা করার জন্য কেউ অপরিচিত ব্যক্তিকে বিশ্বাস করতে চাইবে না।
আর এখানেই প্রুফ অফ ওয়ার্ক চলে আসে। এটি নিশ্চিত করে যে ব্যবহারকারীরা এমন অর্থ ব্যয় করছেন না যা ব্যয় করার অধিকার তাদের নেই। গেম থিওরি ও ক্রিপ্টোগ্রাফির সংমিশ্রণ ব্যবহার করে, PoW অ্যালগরিদম যে কাউকে সিস্টেমের নিয়ম অনুযায়ী ব্লকচেইন আপডেট করতে সক্ষম করে।
PoW কিভাবে কাজ করে?
উপরে আমাদের নোটপ্যাড হল ব্লকচেইন। কিন্তু আমরা একটির পর আরেকটি লেনদেন যোগ করি না – বরং, আমরা সেগুলোকে ব্লকে জড়ো করি। আমরা নেটওয়ার্কে লেনদেন ঘোষণা করি, তারপর কোনো ব্লক তৈরি করা ব্যবহারকারী কোনো ক্যান্ডিডেট ব্লকে সেটিকে অন্তর্ভুক্ত করবে। লেনদেনগুলো শুধুমাত্র তখনই বৈধ বলে বিবেচিত হবে যখন তাদের ক্যান্ডিডেট ব্লক একটি নিশ্চিত ব্লক হবে, যার অর্থ এটি ব্লকচেইনে যোগ করা হয়েছে।
তবে কোনো ব্লক সংযোজন খুব সস্তা নয়। প্রুফ অফ ওয়ার্কে কোনো মাইনারকে (ব্লক তৈরি করা ব্যবহারকারী) বিশেষাধিকারের জন্য তার নিজস্ব কিছু রিসোর্স ব্যবহার করতে হয়। সেই সংস্থানটি হল কম্পিউটিং শক্তি, যা একটি ধাঁধার সমাধান না পাওয়া পর্যন্ত ব্লকের ডেটা হ্যাশ করতে ব্যবহৃত হয়।
ব্লকের ডেটা হ্যাশ করার অর্থ হল আপনি কোনো ব্লক হ্যাশ তৈরি করতে কোনো হ্যাশিং ফাংশনের মধ্য দিতে এটিকে পাস করেন। ব্লক হ্যাশ "আঙ্গুলের ছাপের" মত কাজ করে – এটি আপনার ইনপুট করা ডেটার একটি পরিচয় ও প্রতিটি ব্লকের জন্য ইউনিক।
ইনপুট ডেটা পাওয়ার জন্য কোনো ব্লক হ্যাশকে উলটানো কার্যত অসম্ভব। অবশ্য ইনপুট জানা থাকলে হ্যাশ সঠিক কিনা তা নিশ্চিত করা আপনার জন্য মামুলি বিষয়। আপনাকে শুধুমাত্র ফাংশনের মাধ্যমে ইনপুট জমা দিতে হবে ও আউটপুট একই কিনা তা পরীক্ষা করতে হবে।
প্রুফ অফ ওয়ার্কে, আপনাকে অবশ্যই এমন ডেটা সরবরাহ করতে হবে যার হ্যাশ কিছু শর্তের সাথে মেলে। কিন্তু আপনি সেখানে কিভাবে যেতে হবে জানেন না। আপনার একমাত্র বিকল্প হল কোনো হ্যাশ ফাংশনের মাধ্যমে আপনার ডেটা পাস করা ও এটি শর্তের সাথে মেলে কিনা তা পরীক্ষা করা। যদি না মেলে তাহলে, ভিন্ন হ্যাশ পেতে আপনাকে আপনার ডেটায় সামান্য পরিবর্তন করতে হবে। আপনার ডেটাতে এমনকি একটি অক্ষরও যদি পরিবর্তন করা হয় তাহলে সম্পূর্ণ ভিন্ন ফলাফল হবে, তাই আউটপুট কী হতে পারে তা অনুমান করার কোনো উপায় নেই।
ফলস্বরূপ, আপনি যদি কোনো ব্লক তৈরি করতে চান তাহলে আপনি একটি অনুমান করার খেলা খেলছেন। আপনি সাধারণত যে সকল লেনদেনগুলো যোগ করতে চান সেগুলোর তথ্য ও অন্যান্য কিছু গুরুত্বপূর্ণ ডেটা গ্রহণ করেন, তারপরে এটি একসাথে হ্যাশ করেন। কিন্তু যেহেতু আপনার ডেটাসেট পরিবর্তন হবে না, তাই আপনাকে এক টুকরো তথ্য যোগ করতে হবে যেটি পরিবর্তনশীল (Variable)। অন্যথায়, আপনি সবসময়ই আউটপুট হিসেবে একই হ্যাশ পাবেন। এই পরিবর্তনশীল ডেটাকে আমরা নন্স বলি। এটি এমন একটি সংখ্যা যা আপনি প্রতিটি প্রচেষ্টার সময় পরিবর্তন করবেন, তাই আপনি প্রতিবার একটি ভিন্ন হ্যাশ পাচ্ছেন। আর এটাকেই আমরা মাইনিং বলি।
সারসংক্ষেপ হল, মাইনিং হল আপনি একটি নির্দিষ্ট হ্যাশ না পাওয়া পর্যন্ত ব্লকচেইন ডেটা সংগ্রহ করার ও এটি একটি নন্সসহ হ্যাশ করার প্রক্রিয়া। আপনি যদি এমন কোনো হ্যাশ পান যা প্রোটোকল দ্বারা নির্ধারিত শর্তগুলোকে পূরণ করে তাহলে আপনি নেটওয়ার্কে নতুন ব্লক সম্প্রচার করার অধিকার পাবেন। এই মুহুর্তে, নেটওয়ার্কের অন্যান্য অংশগ্রহণকারীরা নতুন ব্লক অন্তর্ভুক্ত করতে তাদের ব্লকচেইন আপডেট করে।
বর্তমান সময়ের প্রধান প্রধান ক্রিপ্টোকারেন্সির ক্ষেত্রে, শর্ত পূরণ করা অবিশ্বাস্যরকমভাবে চ্যালেঞ্জিং। নেটওয়ার্কে হ্যাশ রেট যত বেশি হবে, বৈধ হ্যাশ খুঁজে পাওয়া তত কঠিন। ব্লকগুলো যাতে খুব দ্রুত খুঁজে পাওয়া যায় না তা নিশ্চিত করার জন্য এটি করা হয়।
আপনি যেমনটি ভাবতে পারছেন, প্রচুর পরিমাণে হ্যাশ অনুমান করার চেষ্টা করা আপনার কম্পিউটারের জন্য ব্যয়বহুল হতে পারে। আপনি কম্পিউটেশনাল চক্র ও বিদ্যুৎ অপচয় করছেন। তবে আপনি যদি কোনো বৈধ হ্যাশ খুঁজে পান তাহলে প্রোটোকল আপনাকে ক্রিপ্টোকারেন্সি দিয়ে পুরস্কৃত করবে।
এখন পর্যন্ত আমরা যা জানি তা সংক্ষেপে দেখা যাক:
মাইন করা আপনার জন্য ব্যয়বহুল।
আপনি কোনো বৈধ ব্লক তৈরি করলে আপনাকে পুরস্কৃত করা হবে।
ইনপুট জানলে কোনো ব্যবহারকারী সহজেই তার হ্যাশ পরীক্ষা করতে পারবে – নন-মাইনিং ব্যবহারকারীরা অনেক কম্পিউটেশনাল শক্তি ব্যয় না করেই যাচাই করতে পারেন যে একটি ব্লক বৈধ।
এ পর্যন্ত সব ঠিক আছে। কিন্তু আপনি যদি প্রতারণা করার চেষ্টা করেন তাহলে? ব্লকে একগুচ্ছ প্রতারণামূলক লেনদেন করা ও একটি বৈধ হ্যাশ তৈরি করা থেকে কী আপনাকে বাধা দেবে?
এখানেই পাবলিক-কী ক্রিপ্টোগ্রাফি চলে আসে। আমরা এই নিবন্ধে বিস্তারিততে যাবো না, তবে সামগ্রিকভাবে জানার জন্য পাবলিক-কি ক্রিপ্টোগ্রাফি কী? দেখুন। সংক্ষেপে, আমরা কিছু স্মার্ট ক্রিপ্টোগ্রাফিক কৌশল ব্যবহার করি যা যেকোনো ব্যবহারকারীকে কেউ অর্থ ব্যয় করার চেষ্টা করলে তা স্থানান্তর করার অধিকার আছে কিনা তা যাচাই করার সুযোগ দেয়।
আপনি কোনো লেনদেন তৈরি করলে আপনি সেটি স্বাক্ষর করেন। নেটওয়ার্কে থাকা যেকেউ আপনার স্বাক্ষর আপনার পাবলিক কী এর সাথে তুলনা করতে পারে ও সেগুলো মেলে কিনা তা পরীক্ষা করতে পারে। আপনি আসলেই আপনার ফান্ড ব্যয় করতে পারেন কিনা ও আপনার ইনপুটগুলোর যোগফল আপনার আউটপুটের যোগফলের চেয়ে বেশি (অর্থাৎ, আপনার যা আছে তার চেয়ে বেশি ব্যয় করছেন না) কিনা তাও তারা পরীক্ষা করবে।
অবৈধ লেনদেন থাকা যেকোনো ব্লক স্বয়ংক্রিয়ভাবে নেটওয়ার্ক দ্বারা প্রত্যাখ্যাত হবে। এমনকি প্রতারণা করার চেষ্টা করাও আপনার জন্য ব্যয়বহুল। আপনি কোনো পুরস্কার ছাড়াই আপনার নিজের রিসোর্স নষ্ট করবেন।
এখানেই প্রুফ অফ ওয়ার্কের সৌন্দর্য: এটি প্রতারণা করাকে ব্যয়বহুল করে তোলে, কিন্তু সততার সাথে কাজ করাকে করে লাভজনক । যেকোনো যুক্তিবাদী মাইনার ROI চাইবে, তাই তাদের কাছ থেকে আশা করা যেতে পারে যে তারা এমনভাবে আচরণ করবে যাতে আয় নিশ্চিত হয়।
ক্রিপ্টোকারেন্সিতে শুরু করতে চাইছেন? Binance-এ বিটকয়েন ক্রয় করুন!
প্রুফ অফ ওয়ার্ক বনাম প্রুফ অফ স্ট্যাক
অনেক কনসেনশাস অ্যালগরিদম আছে, কিন্তু সবচেয়ে বেশি প্রত্যাশিত একটি হল প্রুফ অফ স্ট্যাক (PoS)। ধারণাটি 2011 সালের এবং কিছু ছোট প্রোটোকলে প্রয়োগ করা হয়েছে। কিন্তু এটি এখনও কোনো বড় ব্লকচেইন কর্তৃক গ্রহণ করা হয়নি।
প্রুফ অফ স্ট্যাক সিস্টেমে, মাইনারদেরকে ভ্যালিডেটর দিয়ে প্রতিস্থাপিত করা হয়। এতে কোনো মাইনিং নেই এবং হ্যাশ অনুমান করার কোনো বিষয় নেই। বরং, ব্যবহারকারীরা দ্বৈবচয়নের ভিত্তিতে নির্বাচিত হয় – তারা নির্বাচিত হলে তাদেরকে অবশ্যই একটি ব্লক প্রস্তাব (বা "ফোর্জ") করতে হবে। ব্লকটি বৈধ হলে, ব্লকের লেনদেনের ফি দিয়ে তাদের পুরস্কৃত করা হবে।
যেকোনো ব্যবহারকারীকেই বেছে নেওয়া হয় না যদিও – প্রোটোকল অনেকগুলো বিষয়ের উপর ভিত্তি করে তাদের বেছে নেয়। যোগ্য হওয়ার জন্য, অংশগ্রহণকারীদেরকে অবশ্যই ব্লকচেইনের নেটিভ কারেন্সির পূর্বনির্ধারিত পরিমাণে একটি স্ট্যাক লক আপ করতে হবে। স্ট্যাক জামিনের মতো কাজ করে: যেমন আসামিরা বিচার এড়িয়ে যাওয়াকে লোকসানের বিষয়ে পরিণত করার জন্য একটি বড় অঙ্কের অর্থ জমা করে, ভ্যালিডেটররা প্রতারণাকে নিরুৎসাহিত করার জন্য একটি স্ট্যাক লক আপ করে। তারা অসৎ কাজ করলে তাদের স্ট্যাক (বা তার একটি অংশ) নিয়ে নেওয়া হবে।
প্রুফ অফ ওয়ার্কের তুলনায় প্রুফ অফ স্ট্যাকের কিছু সুবিধা রয়েছে। সবচেয়ে উল্লেখযোগ্য হল তুলনামূলক ছোট কার্বন ফুটপ্রিন্ট – PoS-এ উচ্চ-ক্ষমতাসম্পন্ন মাইনিং ফার্মের প্রয়োজন না থাকায় বিদ্যুৎ খরচ হচ্ছে PoW-তে ব্যবহৃত বিদ্যুৎ-এর একটি ভগ্নাংশ পরিমাণ।
এছাড়া, এটির ট্র্যাক রেকর্ড PoW-এর ধারে কাছেও নয়। এটিকে অপব্যয় হিসেবে মনে হলেও, মাইনিংই একমাত্র সর্বসম্মত অ্যালগরিদম যা স্কেলে নিজেকে প্রমাণ করেছে। মাত্র এক দশকের কিছু বেশি সময়ের মধ্যে, এটি ট্রিলিয়ন ট্রিলিয়ন ডলার মূল্যের লেনদেন নিশ্চিত করেছে। PoS এটির নিরাপত্তার সাথে প্রতিদ্বন্দ্বিতা করতে পারে কিনা তা নিশ্চিতভাবে বলার জন্য, স্ট্যাকিংকে সঠিকভাবে পরীক্ষার মধ্য দিয়ে যেতে হবে।
শেষ কথা
প্রুফ অফ ওয়ার্ক ছিল দ্বিগুণ-ব্যয় সমস্যার মূল সমাধান এবং এটি নির্ভরযোগ্য ও নিরাপদ বলে প্রমাণিত হয়েছে। বিটকয়েন প্রমাণ করেছে যে একই ফান্ডকে দুইবার ব্যয় করা থেকে বিরত রাখতে আমাদের কেন্দ্রীভূত প্রতিষ্ঠানের প্রয়োজন নেই। ক্রিপ্টোগ্রাফি, হ্যাশ ফাংশন ও গেম তত্ত্বের কৌশলী ব্যবহারের মাধ্যমে, কোনো বিকেন্দ্রীভূত পরিবেশের অংশগ্রহণকারীরা একটি আর্থিক ডেটাবেজের অবস্থার বিষয়ে একমত হতে পারে।