TL;DR
ক্রিপ্টোকারেন্সি মাইনিং বলতে ব্লকচেইন লেনদেন যাচাই ও সত্যায়ন করার প্রক্রিয়াকে বোঝায়। এটি এমন একটি প্রক্রিয়া যা ক্রিপ্টোকারেন্সির নতুন ইউনিটও তৈরি করে। মাইনারদের কাজের জন্য প্রচুর কম্পিউটেশনাল রিসোর্স প্রয়োজন হয়, তবে এটিই একটি ব্লকচেইন নেটওয়ার্ককে সুরক্ষিত রাখে। সৎ ও সফল মাইনারদের তৈরি নতুন ক্রিপ্টোকারেন্সি ও লেনদেন ফি দিয়ে তাদের কাজের জন্য পুরস্কৃত করা হয়।
ভূমিকা
মাইনিং হলো এমন একটি প্রক্রিয়া যেখানে ব্যবহারকারীদের মধ্যে ক্রিপ্টোকারেন্সি লেনদেন যাচাই করা হয় ও ব্লকচেইন পাবলিক লেজারে যোগ করা হয়। মাইনিং ক্রিয়াকলাপগুলো বিদ্যমান সঞ্চালিত সরবরাহে নতুন মুদ্রা প্রবর্তনের জন্যও দায়বদ্ধ।
মাইনিং হলো মূল উপাদানগুলোর মধ্যে মাধ্যমে বিটকয়েন ব্লকচেইন বণ্টিত লেজার হিসেবে কাজ করে। কেন্দ্রীয় কর্তৃপক্ষের প্রয়োজন ছাড়াই সকল লেনদেন একটি পিয়ার-টু-পিয়ার নেটওয়ার্কে রেকর্ড করা হয়। এই নিবন্ধে, আমরা বিটকয়েন নেটওয়ার্কে মাইনিং নিয়ে আলোচনা করবো, কিন্তু একই মাইনিং প্রক্রিয়া গ্রহণ করা অল্টকয়েনেও প্রক্রিয়াটি একই।
এটি কিভাবে কাজ করে?
নতুন ব্লকচেইন লেনদেন করা হলে সেগুলোকে মেমরি পুল নামে একটি পুলে পাঠানো হয়। একজন মাইনারের কাজ হলো এই পেন্ডিং থাকা লেনদেনের সত্যায়ন যাচাই করা ও সেগুলোকে ব্লকে সজ্জিত করা। আপনি ব্লককে ব্লকচেইন লেজারের একটি পেজ হিসেবে ভাবতে পারেন যেখানে অনেক লেনদেন রেকর্ড করা হয় (অন্যান্য ডেটাসহ)।
আরো নির্দিষ্টভাবে বললে, একটি মাইনিং নোড মেমরি পুল থেকে নিশ্চিত করা হয়নি এমন লেনদেন সংগ্রহ করে একটি ক্যান্ডিডেট ব্লকে একত্রিত করার জন্য দায়ী। এর পরে, মাইনার এই ক্যান্ডিডেট ব্লকটিকে একটি বৈধ, নিশ্চিত ব্লকে রূপান্তর করার চেষ্টা করবে। কিন্তু এটি করতে, তাদের একটি জটিল গাণিতিক সমস্যার সমাধান খুঁজে বের করতে হবে। এর জন্য প্রচুর কম্পিউটেশনাল রিসোর্সের প্রয়োজন হয়, কিন্তু সফলভাবে মাইনিং করা প্রতিটি ব্লক মাইনারকে একটি ব্লক পুরস্কার দেবে, যার মধ্যে নতুন তৈরি ক্রিপ্টোকারেন্সি ও লেনদেন ফি রয়েছে। আসুন মাইনিংয়ের প্রক্রিয়াটি ভালোভাবে দেখে নেওয়া যাক।
ধাপ 1 - লেনদেন হ্যাশ করা
কোনো ব্লক মাইনিং করার প্রথম ধাপ হলো মেমোরি পুল থেকে পেন্ডিং লেনদেন নিয়ে হ্যাশ ফাংশনের মাধ্যমে একে একে জমা দেওয়া। হ্যাশ ফাংশনের মাধ্যমে ডেটার একটি অংশ জমা দেওয়ার পর আমরা নির্দিষ্ট আকারের একটি আউটপুট তৈরি করবো যাকে হ্যাশ বলা হয়। মাইনিংয়ের প্রসঙ্গে, প্রতিটি লেনদেনের হ্যাশ সংখ্যা ও অক্ষরগুলোর একটি স্ট্রিং নিয়ে গঠিত যা একটি শনাক্তকারী হিসেবে কাজ করে। লেনদেন হ্যাশ সেই লেনদেনের মধ্যে থাকা সকল তথ্য উপস্থাপন করে।
প্রতিটি লেনদেনকে পৃথকভাবে হ্যাশ করা ও তালিকাভুক্ত করা ছাড়াও, মাইনার একটি কাস্টোম লেনদেন যোগ করে, যাতে তারা নিজেরাই ব্লক পুরস্কার পাঠায়। এই লেনদেনটিকে কয়েনবেস লেনদেন বলা হয় এবং এটিই নতুন কয়েন তৈরি করে। অধিকাংশ ক্ষেত্রে, কয়েনবেস লেনদেনটি কোনো নতুন ব্লকে প্রথম রেকর্ড করা হয়, তারপরে তাদের যাচাই করতে চাওয়া সকল পেন্ডিং লেনদেনগুলো থাকে।
ধাপ 2 - একটি মার্কেল ট্রি তৈরি করা
প্রতিটি লেনদেন হ্যাশ হওয়ার পরে, হ্যাশগুলোকে মার্কেল ট্রি সজ্জিত করা হয়। মার্কেল ট্রি যা হ্যাশ ট্রি নামেও পরিচিত, লেনদেন হ্যাশগুলোকে জোড়ায় জোড়ায় সাজিয়ে ও তারপরে হ্যাশ করার মাধ্যমে গঠিত হয়। নতুন হ্যাশ আউটপুট তারপর জোড়ায় জোড়ায় সজ্জিত হয় ও আবার হ্যাশ করা হয়, এবং একটি একক হ্যাশ তৈরি না হওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করা হয়। এই শেষ হ্যাশটিকে একটি রুট হ্যাশ (বা মার্কেল রুট)ও বলা হয় এবং মূলত সেই হ্যাশ যেটি পূর্ববর্তী সকল হ্যাশগুলোকে উপস্থাপন করে যেগুলো মিলে এটি তৈরি হয়েছিল।
ধাপ 3 - একটি বৈধ ব্লকের হেডার (ব্লক হ্যাশ) খোঁজা
একটি ব্লক হেডার প্রতিটি পৃথক ব্লকের জন্য একটি শনাক্তকারী হিসেবে কাজ করে, যার অর্থ প্রতিটি ব্লকের একটি ইউনিক হ্যাশ রয়েছে। কোনো নতুন ব্লক তৈরি করার সময়, মাইনাররা তাদের ক্যান্ডিডেট ব্লকের রুট হ্যাশের সাথে আগের ব্লকের হ্যাশকে একত্রিত করে। কিন্তু এই দুটি উপাদান ছাড়াও, নন্স নামে একটি নির্বিচারে সংখ্যা তাদের যোগ করতে হবে।
সুতরাং, তাদের ক্যান্ডিডেট ব্লক যাচাইয়ের চেষ্টা করার সময়, একজন মাইনারকে রুট হ্যাশ, পূর্ববর্তী ব্লকের হ্যাশ ও একটি নন্সকে একত্রিত করে একটি হ্যাশ ফাংশনের মাধ্যমে সেগুলো জমা দিতে হবে। তাদের লক্ষ্য হলো একটি হ্যাশ তৈরি করা যা বৈধ বলে বিবেচিত হয়।
রুট হ্যাশ ও পূর্ববর্তী ব্লকের হ্যাশ পরিবর্তন করা যাবে না, তাই একটি বৈধ হ্যাশ না পাওয়া পর্যন্ত মাইনারদের নন্স মানটি বেশ কয়েকবার পরিবর্তন করতে হয়।
বৈধ বলে বিবেচিত হওয়ার জন্য, আউটপুট (ব্লক হ্যাশ) একটি নির্দিষ্ট টার্গেট ভ্যালুর থেকে কম হতে হবে, যা প্রোটোকল দ্বারা নির্ধারিত হয়। বিটকয়েন মাইনিংয়ে, ব্লক হ্যাশ অবশ্যই একটি নির্দিষ্ট সংখ্যক শূন্য দিয়ে শুরু করতে হবে। এটাকেই আমরা মাইনিং জটিলতা বলি।
ধাপ 4 - মাইনিং ব্লক ব্রডকাস্ট করা
এইমাত্র আমরা যা দেখলাম, মাইনারদের ভিন্ন ভিন্নসহ ভ্যালু ব্লক হেডার বারবার হ্যাশ করতে হয়। তারা এই কাজটি পুনরাবৃত্তি করে যতক্ষণ না তারা একটি বৈধ ব্লক হ্যাশ খুঁজে পায়। যে মাইনার এটি খুঁজে পেয়েছে তার ব্লকটি নেটওয়ার্কে ব্রডকাস্ট করবে। অন্যান্য সকল নোড ব্লক ও তার হ্যাশ বৈধ কিনা তা পরীক্ষা করবে এবং যদি তাই হয়, তাহলে নতুন ব্লকটি তাদের ব্লকচেইনের কপিতে যোগ করে।
এই মুহুর্তে ক্যান্ডিডেট ব্লক একটি নিশ্চিত ব্লকে পরিণত হয়, এবং সকল মাইনাররা পরবর্তীতে মাইনিংয়ের দিকে এগিয়ে যায়। সময়মতো বৈধ হ্যাশ খুঁজে না পাওয়া সকল মাইনার তাদের ক্যান্ডিডেট ব্লক বাতিল করে দেয় এবং মাইনিং প্রতিযোগিতা নতুন করে শুরু হয়।
মাইনিং জটিলতার সমন্বয়
মাইনিং জটিলতা নিয়মিতভাবে প্রোটোকল দ্বারা সমন্বয় করা হয়, যা তৈরি হওয়া নতুন ব্লকের অপরিবর্তনীয় থাকা নিশ্চিত করে। এটিই নতুন কয়েন ইস্যুকে স্থিতিশীল এবং অনুমানযোগ্য করে তোলে। নেটওয়ার্কে নিবেদিত কম্পিউটেশনাল পাওয়ারের (হ্যাশ রেট) অনুপাতে জটিলতা সমন্বয় হয়।
শে কারণে, যতবার নতুন মাইনাররা নেটওয়ার্কে যোগদান করবে এবং প্রতিযোগিতা বাড়বে, ততবার হ্যাশিং জটিলতা বাড়বে, যা গড় ব্লকের সময় কমতে বাধা দেবে। বিপরীতে, অনেক মাইনার নেটওয়ার্ক ছেড়ে যাওয়ার সিদ্ধান্ত নিলে, হ্যাশিং জটিলতা কমে যাবে, নতুন ব্লক মাইনিং করা কম কঠিন হবে। নেটওয়ার্কের মোট হ্যাশিং পাওয়ার নির্বিশেষে এই সমন্বয়গুলো ব্লকের সময়কে অপরিবর্তনীয় রাখে।
একই সময়ে দুটি ব্লক মাইনিং করা হলে কী হবে?
কখনও কখনও এমন ঘটে যে দুটি মাইনার একই সময়ে একটি বৈধ ব্লক ব্রডকাস্ট করে এবং নেটওয়ার্কের দুটি প্রতিযোগী ব্লক যুক্ত হয়। মাইনাররা প্রথমে যে ব্লকটি পেয়েছিলেন তার উপর ভিত্তি করে পরবর্তী ব্লকটি মাইন করা শুরু করে। এটি নেটওয়ার্ককে ব্লকচেইনের দুটি ভিন্ন সংস্করণে (অস্থায়ীভাবে) বিভক্ত করে।
এই ব্লকগুলোর মধ্যে প্রতিযোগী ব্লকগুলোর যেকোনো একটির পাশাপাশি প্রতিযোগিতা চলতে থাকবে যতক্ষণ না পরবর্তী ব্লকটি মাইন করা হয়। যখন কোনো নতুন ব্লক মাইন করা হয়, এটির আগে যে ব্লকটি এসেছিল তা বিজয়ী বলে বিবেচিত হবে। যে ব্লকটি পরিত্যক্ত হয় তাকে বলা হয় অরফ্যান ব্লক বা স্টেল ব্লক, যা যে সকল মাইনাররা এই ব্লকটি বেছে নিয়েছিলেন তাদেরকে বিজয়ী ব্লকের চেইন মাইনিংয়ের দিকে নিয়ে যায়।
সকল ক্রিপ্টোকারেন্সি কি মাইন করা যায়?
বিটকয়েন মাইন করা যায় এমন ক্রিপ্টোকারেন্সির সবচেয়ে জনপ্রিয় ও সুপ্রতিষ্ঠিত উদাহরণ, তবে সকল ক্রিপ্টোকারেন্সিই মাইন করা যায় না। বিটকয়েন মাইনিং প্রুফ অব ওয়ার্ক (PoW) নামক কনসেনশাস অ্যালগরিদমের উপর নির্ভর করে।
প্রুফ অব ওয়ার্ক (PoW)
প্রুফ-অব-ওয়ার্ক (PoW) সাতোশি নাকামোতো কর্তৃক তৈরি করা মূল ব্লকচেইন কনসেনসাস মেকানিজম। এটি 2008 সালে বিটকয়েন হোয়াইটপেপারে প্রবর্তন করা হয়েছিল। সংক্ষেপে, PoW নির্ধারণ করে কিভাবে কোনো ব্লকচেইন নেটওয়ার্ক তৃতীয় পক্ষের মধ্যস্থতাকারী ছাড়াই সকল বিতরণকৃত অংশগ্রহণকারীদের মধ্যে কনসেনশাসে পৌঁছায়। এটি ক্ষতিকর ব্যক্তিদের নিরুৎসাহিত করার উদ্দেশ্যে উল্লেখযোগ্য কম্পিউটিং শক্তির প্রয়োজনীয়তা তৈরি করার মাধ্যমে এটিকে সম্ভব করে।
আমরা যেমনটি দেখেছি, PoW নেটওয়ার্কের লেনদেন মাইনারদের দ্বারা যাচাই করা হয়। পরবর্তী ব্লকে মাইনিংয়ের অধিকার জিততে, মাইনাররা বিশেষ মাইনিং হার্ডওয়্যারের সাথে জটিল ক্রিপ্টোগ্রাফিক পাজলগুলো সমাধান করে প্রতিযোগিতা করে। একটি বৈধ সমাধান খুঁজে বের করা প্রথম মাইনার তারপর ব্লকচেইনে তাদের লেনদেনের ব্লক ব্রডকাস্ট করতে পারে এবং ব্লক পুরস্কার পেতে পারে।
ব্লক পুরস্কারের ক্রিপ্টোর পরিমাণ ভিন্ন ভিন্ন ব্লকচেইনে ভিন্ন ভিন্ন হয়। উদাহরণস্বরূপ, বিটকয়েন ব্লকচেইনে, মাইনাররা 2021 সালের ডিসেম্বর পর্যন্ত ব্লক পুরস্কারে 6.25 BTC পেতে পারত। কোনো ব্লক পুরস্কারে BTC-এর পরিমাণ প্রতি 210,000 ব্লকে অর্ধেক কমে যায় (প্রায় প্রতি চার বছরে) এটির অর্ধেক হওয়ার প্রক্রিয়ার কারণে।
বিভিন্ন ক্রিপ্টোকারেন্সি মাইনিং পদ্ধতি
ক্রিপ্টোকারেন্সি মাইনিংয়ের জন্য একক কোনো পদ্ধতি নেই। নতুন হার্ডওয়্যার এবং কনসেনশাস অ্যালগরিদম আবির্ভূত হওয়ার সাথে সাথে সরঞ্জাম ও প্রক্রিয়া পরিবর্তন হয়। সাধারণত, মাইনাররা জটিল ক্রিপ্টোগ্রাফিক সমীকরণ সমাধান করতে বিশেষ কম্পিউটার ইউনিট ব্যবহার করে। চলুন এক নজরে দেখে নেওয়া যাক কিভাবে প্রচলিত কিছু মাইনিং পদ্ধতি কাজ করে।
CPU মাইনিং
সেন্ট্রাল প্রসেসিং ইউনিট (CPU) মাইনিং PoW দ্বারা প্রয়োজনীয় হ্যাশ ফাংশন সম্পাদনের জন্য কম্পিউটারের CPU ব্যবহার করে। বিটকয়েনের প্রাথমিক দিনগুলোতে, মাইনিংয়ের জন্য প্রবেশের খরচ ও বাধা কম ছিল। মাইনিংয়ের জটিলতা একটি নিয়মিত CPU দ্বারা সমাধান করা যেতে পারে, তাই যেকেউ BTC ও অন্যান্য ক্রিপ্টোকারেন্সি মাইনিংয়ের চেষ্টা করতে পারে।
তবে, যত বেশি লোক মাইনিং করতে শুরু করেছে ও নেটওয়ার্কের হ্যাশরেট বেড়েছে, লাভজনক মাইনিংয়ের কাজ আরো কঠিন হয়ে উঠেছে। তার উপরে, বৃহত্তর কম্পিউটেশনাল শক্তির বিশেষ মাইনিং হার্ডওয়্যারের উত্থান শেষ পর্যন্ত CPU মাইনিংকে প্রায় অসম্ভব করে তুলেছে। আজ, CPU মাইনিং আর কোনো কার্যকর বিকল্প নয়, কারণ সকল মাইনার বিশেষ হার্ডওয়্যার ব্যবহার করে।
GPU মাইনিং
গ্রাফিক্স প্রসেসিং ইউনিট (GPU) সমান্তরালভাবে বিভিন্ন অ্যাপ্লিকেশন প্রক্রিয়াকরণের জন্য ডিজাইন করা হয়েছে। এগুলো সাধারণত ভিডিও গেম বা রেন্ডারিং গ্রাফিক্সের জন্য ব্যবহৃত হলেও, মাইনিংয়ের জন্যও এগুলো ব্যবহার করা যেতে পারে।
জনপ্রিয় ASIC মাইনিং হার্ডওয়্যারের তুলনায় GPU-গুলো তুলনামূলকভাবে সস্তা ও আরো ফ্লেক্সিবল। GPU দিয়ে কিছু কিছু অল্টকয়েন মাইনিং করা যেতে পারে, তবে সেটির দক্ষতা মাইনিং অ্যালগরিদম ও জটিলতার উপর নির্ভর করে।
ASIC মাইনিং
অ্যাপ্লিকেশন-স্পেসিফিক ইন্টিগ্রেটেড সার্কিট (ASIC) একটি একক নির্দিষ্ট উদ্দেশ্য কাজ করার করার জন্য ডিজাইন করা হয়েছে। ক্রিপ্টোতে, এটি মাইনিংয়ের জন্য তৈরি বিশেষ হার্ডওয়্যারকে বোঝায়। ASIC মাইনিং অত্যন্ত দক্ষ কিন্তু ব্যয়বহুল।
মাইনিং একটি প্রতিযোগিতা। লাভজনকভাবে মাইনিং করতে, আপনার প্রতিযোগিতামূলক মাইনিং হার্ডওয়্যার প্রয়োজন। যেহেতু ASIC মাইনার মাইনিং প্রযুক্তির অত্যাধুনিক অবস্থানে রয়েছে, তাই একটি ইউনিটের খরচ CPU বা GPU থেকে অনেক বেশি। এছাড়াও, ASIC প্রযুক্তিতে ক্রমাগত অগ্রগতি দ্রুত পুরানো ASIC মডেলগুলোকে অলাভজনক করে তোলে, যার অর্থ এগুলোকে ঘন ঘন পরিবর্তন করতে হয়। এটি ASIC মাইনিংকে এমনকি বিদ্যুৎ খরচ বাদ দিয়েও মাইনিংয়ের সবচেয়ে ব্যয়বহুল উপায়গুলোর মধ্যে একটি করে তোলে।
মাইনিং পুল
প্রথম সফল মাইনারকে ব্লক পুরস্কার দেওয়া হলে, সঠিক হ্যাশ খুঁজে পাওয়ার সম্ভাবনা খুবই কম। স্বল্প মাইনিং ক্ষমতার মাইনারদের পরবর্তী ব্লকটি আবিষ্কার করার খুব কম সুযোগ রয়েছে। মাইনিং পুল এই সমস্যার সমাধান দেয়।
মাইনিং পুল হলো মাইনারদের দল যারা ব্লক পুরস্কার জেতার সম্ভাবনা বাড়ানোর জন্য তাদের রিসোর্স (হ্যাশ পাওয়ার) পুল করে। পুল সফলভাবে কোনো ব্লক খুঁজে পেলে কাজের পরিমাণের ভিত্তিতে মাইনাররা পুলের প্রত্যেকের মধ্যে সমানভাবে পুরস্কার ভাগ করবে।
মাইনিং পুলগুলো হার্ডওয়্যার ও বিদ্যুতের খরচের বিচারে আলাদা আলাদা মাইনারদের উপকার করতে পারলেও মাইনিংয়ের ক্ষেত্রে তাদের আধিপত্য নেটওয়ার্কের উপর 51% আক্রমণের উদ্বেগ বাড়িয়ে দেয়।
শেষ কথা
ক্রিপ্টোকারেন্সি মাইনিং বিটকয়েন ও অন্যান্য PoW ব্লকচেইনের একটি গুরুত্বপূর্ণ অংশ। এটি এমন একটি জিনিস যা নেটওয়ার্ককে সুরক্ষিত রাখে ও নতুন কয়েনের ইস্য করাকে রাখে স্থিতিশীল। মাইনিংয়ের কিছু সুবিধা ও অসুবিধা রয়েছে, সবচেয়ে স্পষ্টটি হলো আপনি ব্লক পুরস্কার থেকে সম্ভাব্য উপার্জন করতে পারা। তবে, মাইনিংয়ের মুনাফা বিদ্যুতের খরচ ও বাজার মূল্যসহ বিভিন্ন নিয়ামক দ্বারা প্রভাবিত হতে পারে। লাভ আপনি করবেনই এমন কোনো নিশ্চয়তা নেই, তাই আপনি ক্রিপ্টো মাইনিংয়ে ঝাঁপিয়ে পড়ার আগে, আপনার উচিত DYOR করা ও সমস্ত সম্ভাব্য ঝুঁকির মূল্যায়ন করা।