System Design শেখো
শেখো / ব্লকচেইন ও ডিসেন্ট্রালাইজড

Wallet ও Key Management

11 মিনিট Module 12 · Blockchain & Decentralized 🔥
এক নজরে
  • Crypto wallet আসলে coin রাখে না — এটি তোমার private/public key জোড়া ও address সংরক্ষণ ও পরিচালনা করে।
  • Private key দিয়ে transaction sign করা হয়, public key/address দিয়ে অন্যরা তা যাচাই করে।
  • Seed phrase হারালে বা ফাঁস হলে সব হারাতে পারো — তাই 'not your keys, not your coins'।

সমস্যাটা কী?

Blockchain-এ কোনো ব্যাংক নেই যে তোমার পরিচয় যাচাই করবে আর বলবে "হ্যাঁ, এই টাকা তোমার, খরচ করতে পারো।" তাহলে network কীভাবে নিশ্চিত হয় যে একটা coin খরচের অধিকার সত্যিই তোমার, কোনো প্রতারকের নয়?

আবার, তোমার "account" খুলতেও কোনো কেন্দ্রীয় সংস্থায় যেতে হয় না — কেউ তোমার অনুমতি দেয় না। তাহলে পরিচয় ও মালিকানা প্রমাণ হয় কীভাবে, যেখানে কোনো কর্তৃপক্ষ নেই?

উত্তর হলো public-key cryptography। আর এই key গুলো নিরাপদে তৈরি, সংরক্ষণ ও ব্যবহারের কাজটাই করে wallet। এখানে সবচেয়ে বড় কথা — দায়িত্ব পুরোপুরি তোমার। ভুল হলে কেউ "পাসওয়ার্ড রিসেট" করে দেবে না।

মূল ধারণা

Crypto wallet আসলে coin ধারণ করে না; এটি একটি key-management টুল যা তোমার private key (গোপন) ও তা থেকে উদ্ভূত public keyaddress সংরক্ষণ করে এবং transaction sign করতে সাহায্য করে। Coin সবসময় blockchain-এর ledger-এ থাকে; key শুধু সেই coin খরচের অধিকার প্রমাণ করে।

ভাবার সহজ উপায়: blockchain হলো একটা পাবলিক খাতা যেখানে লেখা "এই address-এ এত coin আছে।" তোমার Private Key হলো সেই গোপন প্রমাণ যে ওই address তোমার নিয়ন্ত্রণে। Key হারালে coin খাতায় থেকে যাবে, কিন্তু তুমি আর কখনো ছুঁতে পারবে না।

কীভাবে কাজ করে

Key জোড়া ও address

প্রক্রিয়াটা একমুখী, গাণিতিকভাবে যুক্ত:

  1. একটি বিশাল random সংখ্যা থেকে তৈরি হয় private key
  2. private key থেকে গাণিতিকভাবে (one-way) তৈরি হয় public key
  3. public key-কে hash করে তৈরি হয় ছোট, ভাগ করার উপযোগী address

গুরুত্বপূর্ণ: private key থেকে public key বের করা সহজ, কিন্তু public key বা address থেকে private key বের করা কার্যত অসম্ভব। তাই address নির্দ্বিধায় শেয়ার করা যায়, কিন্তু private key কখনো নয়।

Transaction sign করা

তুমি যখন coin পাঠাও, wallet transaction-এর তথ্য নিয়ে তোমার private key দিয়ে একটি digital signature তৈরি করে। network-এর যে কেউ তোমার public key দিয়ে যাচাই করতে পারে যে signature বৈধ — কিন্তু কেউ private key ছাড়া signature বানাতে পারে না। এভাবে private key প্রকাশ না করেই মালিকানা প্রমাণ হয়।

Seed phrase ও পুনরুদ্ধার

আধুনিক wallet একগাদা random private key মনে রাখার বদলে একটি seed phrase (সাধারণত ১২ বা ২৪টি ইংরেজি শব্দ) ব্যবহার করে। এই শব্দগুলো থেকে নির্ধারিতভাবে (deterministically) সব key পুনঃউৎপন্ন করা যায়। অর্থাৎ seed phrase = তোমার সমস্ত fund-এর মাস্টার চাবি। নতুন ফোনে শুধু seed phrase দিয়ে পুরো wallet ফিরে পাওয়া যায় — আবার কেউ তা পেলে পুরো wallet চুরি করতে পারে।

Hot vs Cold ও Custody

ধরনKey কোথায় থাকেসুবিধাঝুঁকি
Hot walletঅনলাইন ডিভাইস/অ্যাপদ্রুত, সুবিধাজনকঅনলাইন আক্রমণে উন্মুক্ত
Cold walletঅফলাইন (hardware/কাগজ)অনেক নিরাপদকম সুবিধাজনক
Custodialতৃতীয় পক্ষ (exchange) রাখেসহজ, recovery আছেতুমি key-এর মালিক নও
Non-custodialশুধু তুমি key রাখোপূর্ণ নিয়ন্ত্রণহারালে কেউ ফেরত দেবে না
সহজ উদাহরণ

ভাবো, তোমার একটা ব্যাংক লকার আছে যার ঠিকানা সবাই জানে (address) — যে কেউ চাইলে সেই লকারে টাকা রেখে যেতে পারে। কিন্তু লকার খোলার চাবি (private key) শুধু তোমার কাছে। এখন এই চাবি যদি তুমি সবসময় পকেটে নিয়ে ব্যস্ত বাজারে ঘোরো (hot wallet), পকেটমারের ঝুঁকি বেশি। আর যদি চাবি বাড়িতে সিন্দুকে তালাবদ্ধ রাখো (cold wallet), নিরাপদ কিন্তু দরকারে আনতে সময় লাগে। আর exchange-এ রাখা মানে চাবিটা একটা দোকানদারের হাতে দিয়ে দেওয়া (custodial) — সুবিধা আছে, কিন্তু দোকান পালালে বা ডাকাতি হলে তোমার নিয়ন্ত্রণ নেই।

কৌশল

নিরাপদ key management-এর কিছু চর্চা:

  • Seed phrase অফলাইনে কাগজে বা ধাতব প্লেটে লিখে রাখো; কখনো ছবি তুলে cloud-এ বা চ্যাটে রেখো না।
  • বড় অঙ্কের জন্য hardware (cold) wallet ব্যবহার করো; দৈনন্দিন ছোট খরচের জন্য আলাদা hot wallet রাখো।
  • Multisig — একাধিক key লাগে এমন wallet, যাতে একটিমাত্র key ফাঁস হলেই সব না যায়।
  • কখনো private key বা seed phrase কাউকে বোলো না — কোনো বৈধ support কখনো তা চাইবে না।

কখন ব্যবহার করবে / করবে না

  • Custodial (exchange) wallet — নতুনদের জন্য সহজ, ছোট অঙ্কে ঠিক আছে, কিন্তু মালিকানা প্রকৃতপক্ষে তোমার নয়।
  • Non-custodial hot wallet — সক্রিয় ব্যবহার, ছোট-মাঝারি অঙ্কে।
  • Cold/hardware wallet — দীর্ঘমেয়াদি, বড় অঙ্কের সংরক্ষণে।
সাবধান

"Not your keys, not your coins।" — coin যদি exchange-এ থাকে, প্রকৃত private key তাদের হাতে; exchange হ্যাক হলে, দেউলিয়া হলে বা withdrawal বন্ধ করলে তোমার fund আটকে যেতে পারে। আবার seed phrase হারালে কোনো "forgot password" নেই — fund চিরতরে অপ্রাপ্য। দায়িত্ব সম্পূর্ণ তোমার।

বাস্তব উদাহরণ

BitcoinEthereum দুটোতেই মালিকানা প্রমাণের মূল কাঠামো একই — private key দিয়ে transaction sign, public key/address দিয়ে যাচাই। MetaMask-এর মতো software wallet হলো hot, non-custodial; Ledger বা Trezor-এর মতো hardware wallet হলো cold। Binance বা Coinbase-এর মতো exchange-এ রাখা balance হলো custodial — সেখানে তুমি একটি IOU ধরে রাখো, প্রকৃত key নয়।

ইতিহাসে বহু মানুষ seed phrase হারিয়ে বা পুরোনো hard drive ফেলে দিয়ে বিপুল bitcoin হারিয়েছেন — এগুলো ব্যাকআপ ও key management-এর গুরুত্বের জীবন্ত উদাহরণ।

টিপস

ইন্টারভিউতে যদি জিজ্ঞাসা করে "wallet-এ coin কীভাবে থাকে?" — পরিষ্কার করে বলো: coin কখনোই wallet-এ থাকে না, থাকে blockchain ledger-এ; wallet শুধু private key ধরে রাখে যা ওই coin খরচের অধিকার প্রমাণ করে। এই পার্থক্যটা বোঝাতে পারলে তুমি মূল ধারণাটা ধরেছ, এটা স্পষ্ট হয়।

মিনি কুইজ

1. Crypto wallet আসলে কী সংরক্ষণ করে?

2. একটি transaction sign করতে কোনটি লাগে?

3. Cold wallet-কে hot wallet-এর চেয়ে নিরাপদ ধরা হয় কেন?