বিটকয়েনের সম্পূর্ণ কার্যকারিতা: একটি লেনদেন থেকে ব্লকচেইনে যুক্ত হওয়া পর্যন্ত পুরো ধাপগুলোর বিশদ বিশ্লেষণ
আপনি কি কখনো ভেবেছেন, বিটকয়েন এত বছর ধরে চলছে, কিন্তু কেন কেউ এটাকে সহজে ছাপিয়ে অযথা খরচ করতে পারে না? একটা বিটকয়েন লেনদেন যখন আপনার ফোনে 'পাঠানো' বোতামে ক্লিক হয়, তখন থেকে সেটা সত্যিকারেরভাবে প্রাপকের ওয়ালেটে পৌঁছাতে কী কী ধাপ পার হয়? আজ আমরা এই জটিল প্রক্রিয়াটাকে সহজ করে ধাপে ধাপে বুঝিয়ে বলব, যেন একটা ঐতিহ্যবাহী বাঙালি গল্পের মতো স্তরে স্তরে খুলে যায়।
বিটকয়েনের সিস্টেম ব্যাঙ্ক অ্যাকাউন্টের মতো সরল নয়, যেখানে শুধু ব্যালেন্স যোগ-বিয়োগ হয়। এখানে ব্যবহার হয় UTXO মডেল—অর্থাৎ Unspent Transaction Output, যা অব্যয়িত লেনদেনের আউটপুট। সহজ কথায়, আপনার 'টাকা' কোনো একটা অ্যাকাউন্টে জমা নয়, বরং পুরনো লেনদেন থেকে রয়ে যাওয়া কয়েকটা 'প্রমাণপত্র' এর মতো, যাতে পরিমাণ আর লক (কারা খরচ করতে পারবে) লেখা থাকে।
এই প্রমাণপত্রগুলোই হলো UTXO।
খরচ করার সময়, আপনি ব্যালেন্স কাটেন না; বরং পুরনো প্রমাণপত্রগুলোকে 'ব্যবহার' করে (ইনপুট হিসেবে), নতুন প্রমাণপত্র তৈরি করেন (আউটপুট হিসেবে) প্রাপকের জন্য, আর নিজের জন্য ফেরতের অংশও রাখেন।
একটা সহজ চিত্র: বিটকয়েন লেনদেনের পূর্ণ প্রক্রিয়া (লিখিত ফ্লোচার্ট)

১. আপনি বন্ধুকে ০.৫ বিটিসি পাঠাতে চান।
→ আপনার ওয়ালেটে এখন ৩টা UTXO আছে: ০.৩ বিটিসি + ০.৪ বিটিসি + ০.৮ বিটিসি (মোট ১.৫ বিটিসি)।
২. ওয়ালেট ইনপুট নির্বাচন করে (সাধারণত যথেষ্ট বা সবচেয়ে কম কম্বিনেশন, অপচয় এড়াতে)।
→ ০.৪ বিটিসি + ০.৩ বিটিসি = ০.৭ বিটিসি ইনপুট হিসেবে নেয়।
৩. লেনদেনের কাঠামো তৈরি করে।
• ইনপুট (Inputs): উপরের দুটো UTXO-এর লেনদেন আইডি + আউটপুট ইনডেক্স + আনলক স্ক্রিপ্ট (আপনার স্বাক্ষর যা প্রমাণ করে আপনিই মালিক)।
• আউটপুট (Outputs):
• বন্ধুকে: ০.৫ বিটিসি (বন্ধুর পাবলিক কী হ্যাশ অ্যাড্রেসে লক করা)।
• ফেরত আপনাকে: ০.১৮ বিটিসি (আপনার অ্যাড্রেসে লক, ফি ০.০২ বিটিসি কেটে)।
• ফি: ইনপুটের মোট - আউটপুটের মোট = ০.০২ বিটিসি (খনির কাজকর্তারা নেয়)।
৪. স্বাক্ষর: আপনার প্রাইভেট কী দিয়ে পুরো লেনদেনে স্বাক্ষর (যাতে কেউ পরিমাণ বদলাতে না পারে)।
৫. নেটওয়ার্কে প্রচার: কাছাকাছি নোডগুলোতে পাঠানো, তারা যাচাই করে → মেমরি পুলে (mempool) রাখে।
৬. খনির কাজকর্তারা এই লেনদেন দেখে → প্রার্থী ব্লকে প্যাক করে।
৭. খনির কাজকর্তা সফলভাবে খনি করে → ব্লক চেইনে যোগ হয় → আপনার পুরনো UTXO 'ব্যয়িত' চিহ্নিত → নতুন UTXO তৈরি (বন্ধুর ০.৫ + আপনার ফেরত ০.১৮)।
৮. নিশ্চিতকরণ: পরবর্তী ব্লক যত বেশি, তত নিরাপদ (সাধারণত ৬টা নিশ্চিতকরণ স্থায়ী বলে ধরা হয়)।
সম্পূর্ণ প্রক্রিয়াটা যেন একটা বাঙালি উৎসবের মতো: পুরনো UTXO 'খরচ' হয়ে যায়, নতুনগুলো জন্ম নেয়। বিটকয়েনের মোট পরিমাণ কখনো বাড়ে না, শুধু এই UTXO-গুলোর মধ্যে ঘুরে বেড়ায়।
লেনদেনের কাঠামো কেমন দেখতে? (মূল অংশগুলো বিশ্লেষণ)
বিটকয়েন লেনদেন শুধু 'আমি তোমাকে এত টাকা দিচ্ছি' এর মতো সরল নয়; এটা একটা জটিল ডেটা স্ট্রাকচার, যাতে এমন অংশগুলো আছে:
• সংস্করণ নম্বর (৪ বাইট): বর্তমানে বেশিরভাগ ২, সফট ফর্ক সিগন্যালের জন্য।
• ইনপুটের সংখ্যা (পরিবর্তনশীল): কয়েকটা UTXO ব্যয় হচ্ছে।
• প্রত্যেক ইনপুট:
• পূর্ববর্তী লেনদেনের হ্যাশ (৩২ বাইট)।
• আউটপুট ইনডেক্স (৪ বাইট, কোন আউটপুটটা তা নির্দেশ করে)।
• স্ক্রিপ্ট স্বাক্ষরের দৈর্ঘ্য।
• আনলক স্ক্রিপ্ট (ScriptSig): আপনার স্বাক্ষর + পাবলিক কী।
• আউটপুটের সংখ্যা।
• প্রত্যেক আউটপুট:
• পরিমাণ (৮ বাইট, স্যাটোসায়, ১ বিটিসি = ১ কোটি স্যাট)।
• লক স্ক্রিপ্টের দৈর্ঘ্য।
• লক স্ক্রিপ্ট (ScriptPubKey): সবচেয়ে সাধারণ P2PKH (Pay to Public Key Hash): OP_DUP OP_HASH160 [২০ বাইট পাবকী হ্যাশ] OP_EQUALVERIFY OP_CHECKSIG।
• লক সময় (৪ বাইট): সাধারণত ০, অর্থাৎ তাৎক্ষণিক কার্যকর।
এখানে মূল বিষয়: স্ক্রিপ্ট ভাষা!
বিটকয়েনের স্ক্রিপ্ট টুরিং অসম্পূর্ণ (উদ্দেশ্যমূলকভাবে সরল), কিন্তু অসাধারণ শক্তিশালী।
এটা যেন একটা ছোট ভার্চুয়াল মেশিন, যা শুধু একটা প্রশ্নের উত্তর দেয়: 'এই টাকাটা এখন খরচ করা যাবে কি?'
সাধারণ লক স্ক্রিপ্টের উদাহরণ:
- P2PKH (সবচেয়ে প্রচলিত): অ্যাড্রেসে (পাবকী হ্যাশ) লক, আনলকের জন্য স্বাক্ষর + পাবকী দিতে হয়, যাচাই করে স্বাক্ষর মিলছে কি না, হ্যাশ অ্যাড্রেসের সাথে মিলছে কি না।
- P2SH: আরও নমনীয়, মাল্টি-সাইন, টাইমলক ইত্যাদি খেলা যায়।
- Taproot (২০২১ আপগ্রেডের পর প্রধান): Schnorr স্বাক্ষর ব্যবহার করে, বেশি প্রাইভেসি, সস্তা মাল্টি-সাইন।
স্ক্রিপ্ট বিটকয়েনকে প্রোগ্রামযোগ্য করে, কিন্তু ইথেরিয়ামের মতো বড় ভুলের ঝুঁকি কমিয়ে। নিরাপত্তা সর্বোচ্চ।
খনি: কারা এই লেনদেনগুলো প্যাক করে?

খনির কাজকর্তারা নেটওয়ার্কের 'হিসাবরক্ষক + নিরাপত্তা রক্ষক'।
তারা যা করে:
১. মেমরি পুল থেকে সবচেয়ে উচ্চ ফির লেনদেন সংগ্রহ করে (উচ্চ ফিরটা প্রথমে প্যাক)।
২. ব্লক গঠন করে:
• ব্লক হেড (৮০ বাইট, অত্যন্ত গুরুত্বপূর্ণ):
• সংস্করণ।
• পূর্ববর্তী ব্লকের হ্যাশ (চেইন তৈরি করে)।
• Merkle Root (সব লেনদেনের ফিঙ্গারপ্রিন্ট ট্রির মূল)।
• টাইমস্ট্যাম্প।
• কঠিনতা লক্ষ্য (Bits ফিল্ড)।
• Nonce (এলোমেলো সংখ্যা, খনির কাজকর্তারা এটাকে বারবার বদলায়)।
• লেনদেন তালিকা: কয়েনবেস লেনদেন (খনির কাজকর্তার পুরস্কার) সামনে + সাধারণ লেনদেন।
৩. Nonce গণনা: পুরো ব্লক হেডের দ্বৈত SHA256 হ্যাশ < বর্তমান কঠিনতা লক্ষ্য (সামনে অনেক শূন্য)। উদাহরণস্বরূপ, লক্ষ্য ০০০০০০০০ফফফফ..., তাই Nonce বদলাতে হয় যতক্ষণ না হ্যাশের শুরুতে যথেষ্ট শূন্য আসে।
৪. যে প্রথম গণনা করে → ব্লক প্রচার করে → অন্য নোড যাচাই করে → গ্রহণ করে → পরেরটা খনি শুরু।
৫. পুরস্কার: বর্তমান ৩.১২৫ বিটিসি (২০২৪ হালভিং পর) + সব প্যাক করা লেনদেনের ফি।
খনির কাজ মূলত লটারি: পুরো নেটওয়ার্কের কম্পিউটিং পাওয়ার যত বাড়ে, জয় করা তত কঠিন। কিন্তু কঠিনতা স্বয়ংক্রিয়ভাবে সামঞ্জস্য হয় (পরে বলব)।
ব্লকের কাঠামো: এক নজরে স্পষ্ট
ব্লক = ব্লক হেড + লেনদেনের শরীর।
ব্লক হেডের ফিল্ড:
- সংস্করণ (৪বি)
- পূর্ব হ্যাশ (৩২বি)
- Merkle Root (৩২বি)
- টাইমস্ট্যাম্প (৪বি)
- Bits (কঠিনতা এনকোডিং, ৪বি)
- Nonce (৪বি)
লেনদেনের শরীর:
- লেনদেনের সংখ্যা
- কয়েনবেস লেনদেন (খনির কাজকর্তা নিজেকে পুরস্কার + যেকোনো বার্তা দেয়, যেমন সাতোশির জেনেসিস ব্লকে 'The Times ০৩/জানু/২০০৯ Chancellor on brink of second bailout for banks' লেখা)।
- সাধারণ লেনদেন
Merkle ট্রি অসাধারণ বুদ্ধিমান: হাজার হাজার লেনদেনকেও ৩২ বাইটের একটা রুট হ্যাশে সারাংশ করে, কোনো একটা লেনদেন বদলালে রুট বদলে যায়, যাচাইয়ের জন্য দ্রুত।
কঠিনতা সামঞ্জস্য: বিটকয়েনের 'স্বয়ংক্রিয় গতি নিয়ন্ত্রক'
বিটকয়েনের লক্ষ্য প্রতি ১০ মিনিটে একটা ব্লক তৈরি।
পুরো নেটওয়ার্কের কম্পিউটিং পাওয়ার হঠাৎ বাড়ুক (নতুন মেশিন চালু) বা কমুক (চীনের নিষেধাজ্ঞার মতো), তবু ১০ মিনিটের কাছাকাছি রাখতে হয়।
কীভাবে সামঞ্জস্য হয়?
- প্রতি ২০১৬টা ব্লক (প্রায় দু'সপ্তাহ) একবার প্রকৃত সময় গণনা।
- লক্ষ্য সময়: ২০১৬ × ১০ মিনিট = ২০১৬০ মিনিট।
- যদি প্রকৃত সময় কম লাগে (কম্পিউটিং বাড়লে), কঠিনতা বাড়ে (লক্ষ্য হ্যাশ ছোট, শূন্য বেশি)।
- যদি বেশি সময় লাগে, কঠিনতা কমে।
- সামঞ্জস্য সূত্র: নতুন কঠিনতা = পুরনো কঠিনতা × (২০১৬০ মিনিট / প্রকৃত সময়)।
- কিন্তু সীমা আছে: একবারে সর্বোচ্চ ৪ গুণ পরিবর্তন (চরম অস্থিরতা এড়াতে)।
এই ব্যবস্থার জিনিয়াসত্ব কোথায়?
এটা বিটকয়েনের ইস্যু রেটকে ঘড়ির কাঁটার মতো নিয়মিত রাখে।
মানুষের প্রযুক্তি যতই উন্নত হোক, ২১ মিলিয়নের সীমা আর হালভিং রিদম অটুট থাকে।
এটাই বিটকয়েনকে 'ডিজিটাল সোনা' হিসেবে বিশ্বাসযোগ্য করে তোলে, বিশেষ করে আমাদের মতো উন্নয়নশীল দেশের লোকদের কাছে, যেখানে অর্থনৈতিক স্থিতিশীলতা স্বপ্নের মতো।
কেন এই ডিজাইন বিটকয়েনকে এত স্থিতিশীল করে?
- UTXO: ডাবল-স্পেন্ড প্রতিরোধ সহজ (একটা UTXO শুধু একবার খরচ, ব্যয়িত হলে মুছে যায়)।
- স্ক্রিপ্ট: প্রোগ্রামযোগ্য কিন্তু সীমিত, নিরাপদ।
- PoW + কঠিনতা সামঞ্জস্য: বাস্তব বিদ্যুৎ খরচ দিয়ে নেটওয়ার্ক রক্ষা, ৫১% আক্রমণের খরচ অসম্ভব।
- সবচেয়ে লম্বা চেইন নিয়ম: পুরো নেটওয়ার্ক সবচেয়ে বেশি কাজের চেইনকে মেনে নেয় (সবচেয়ে কঠিন নকল করা)।
একটা লেনদেন থেকে নিশ্চিতকরণ পর্যন্ত, পেছনে বিশ্বব্যাপী হাজার হাজার নোড, খনির কাজকর্তাদের রিয়েল-টাইম খেলা, যাচাই এবং প্রতিযোগিতা।
এখন আপনি বন্ধুদের সাথে গল্প করতে পারবেন:
'বিটকয়েন অ্যাকাউন্ট ব্যালেন্স নয়, চেইনে UTXO-গুলো নাচছে। খনির কাজকর্তারা বিদ্যুৎ জ্বালিয়ে ভোট দিয়ে ঠিক করে কোন লেনদেন ইতিহাসে প্রথম আসবে। কঠিনতা দু'সপ্তাহে স্বয়ংক্রিয়ভাবে ঠিক হয়, রিদম অটুট রাখে।'
আরও গভীরে যেতে চান? যেমন SegWit কীভাবে স্পেস বাঁচায়, Taproot কীভাবে মাল্টি-সাইন সস্তা করে, লাইটনিং নেটওয়ার্ক কীভাবে সেকেন্ডে ট্রান্সফার করে?
বা আপনি বলুন, কোন অংশটা সবচেয়ে জটিল লাগছে, আমি আরও সহজ করে বুঝিয়ে দেব ~
বিশ্বের টপ ৩ ক্রিপ্টো এক্সচেঞ্জের সুপারিশ:
- বিনান্স এক্সচেঞ্জ রেজিস্ট্রেশন (ট্রেডিং ভলিউয়ের রাজা, সবচেয়ে বেশি ভ্যারাইটি, নতুনদের জন্য দারুণ অফার);
- OKX এক্সচেঞ্জ রেজিস্ট্রেশন (কনট্রাক্টের জন্য সেরা, কম ফি);
- Gate.io এক্সচেঞ্জ রেজিস্ট্রেশন (নতুন কয়েন শিকারী, কপি ট্রেডিং + এক্সক্লুসিভ এয়ারড্রপ)।
সবকিছুর জন্য বিনান্স, প্রফেশনাল খেলার জন্য OKX, অল্টকয়েন ট্রেডের জন্য Gate! তাড়াতাড়ি অ্যাকাউন্ট খুলে লাইফটাইম ফি ডিসকাউন্ট নিন~