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

P2P ও Decentralization Trade-off

13 মিনিট Module 12 · Blockchain & Decentralized 🔥
এক নজরে
  • Blockchain চলে peer-to-peer network-এ — কোনো কেন্দ্রীয় সার্ভার নেই, node-রা gossip করে data ছড়ায়।
  • Blockchain trilemma বলে — decentralization, security ও scalability একসাথে সর্বোচ্চ মাত্রায় পাওয়া কঠিন।
  • L1-এর ভার কমাতে L2/rollup বেশিরভাগ computation off-chain করে এবং শুধু সারসংক্ষেপ L1-এ লেখে।

সমস্যাটা কী?

সাধারণ ওয়েব অ্যাপে একটা কেন্দ্রীয় সার্ভার থাকে — সবাই সেখানে request পাঠায়, সার্ভার উত্তর দেয়। সহজ, দ্রুত। কিন্তু সমস্যা: ওই সার্ভার বন্ধ হলে পুরো সিস্টেম বসে যায়, মালিক চাইলে data বদলাতে বা সেন্সর করতে পারে, আর সেটাই single point of control ও failure।

Blockchain-এর পুরো দর্শনই এর বিপরীত — কোনো কেন্দ্রীয় সার্ভার থাকবে না। কিন্তু তখন নতুন প্রশ্ন: হাজার হাজার সমকক্ষ node কীভাবে নিজেদের মধ্যে data ছড়াবে, কে কার সাথে কথা বলবে, আর সবাই কীভাবে আপডেটেড থাকবে — যেখানে কেউ "ইনচার্জ" নয়?

এর উত্তর peer-to-peer (P2P) network। কিন্তু এই decentralization বিনামূল্যে আসে না — এর জন্য performance ও scalability-তে মাশুল দিতে হয়। সেই ভারসাম্যই এই পাঠের মূল।

মূল ধারণা

Peer-to-peer network এমন একটি কাঠামো যেখানে প্রতিটি অংশগ্রহণকারী (peer/node) সমমর্যাদার — কেউ কেন্দ্রীয় সার্ভার নয়, প্রত্যেকেই একইসাথে client ও server-এর ভূমিকা পালন করে এবং সরাসরি একে অপরের সাথে data বিনিময় করে।

এই কাঠামোতে নতুন তথ্য (transaction বা block) ছড়াতে ব্যবহার হয় Gossip Protocol — প্রতিটি node নতুন কিছু পেলে তা কয়েকজন প্রতিবেশীকে জানায়, তারা আবার তাদের প্রতিবেশীকে — গুজব যেভাবে ছড়ায় ঠিক তেমনি দ্রুত পুরো network-এ পৌঁছে যায়, কোনো কেন্দ্রীয় সম্প্রচারক ছাড়াই।

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

Node, peer discovery ও gossip

নতুন একটি node চালু হলে সে কিছু পরিচিত "bootstrap" node-এর সাথে যুক্ত হয়, তারপর তাদের কাছ থেকে আরও peer-এর ঠিকানা পায় (peer discovery)। এরপর সে gossip-এ অংশ নেয় — পাওয়া প্রতিটি বৈধ transaction/block প্রতিবেশীদের relay করে। এই redundancy-ই শক্তি: কিছু node বন্ধ বা বিদ্বেষী হলেও বাকিদের মাধ্যমে তথ্য ঠিকঠাক ছড়ায় এবং network টিকে থাকে।

Blockchain Trilemma

ভিটালিক বুটেরিন-এর জনপ্রিয় করা একটি কাঠামো বলে, একটি blockchain একসাথে এই তিনটি একই সঙ্গে সর্বোচ্চ মাত্রায় অর্জন করা কঠিন:

  • Decentralization — অনেক স্বাধীন participant, কম প্রবেশ-বাধা (সাধারণ হার্ডওয়্যারেই node চালানো যায়)।
  • Security — আক্রমণ প্রতিরোধের ক্ষমতা (51% attack ব্যয়বহুল)।
  • Scalability — উচ্চ throughput, বেশি transaction/সেকেন্ড।

সাধারণত যেকোনো দুটির জন্য তৃতীয়টিতে ছাড় দিতে হয়।

লক্ষ্যযা পাওযা ছাড় দিতে হতে পারে
Decentralization + Securityসর্বোচ্চ সেন্সরশিপ-প্রতিরোধ ও নিরাপত্তাকম throughput (যেমন Bitcoin/Ethereum L1)
Scalability + Securityউচ্চ গতি ও নিরাপত্তাকম node, বেশি কেন্দ্রীভবন
Decentralization + Scalabilityঅনেক node ও উচ্চ গতিনিরাপত্তা দুর্বল হওয়ার ঝুঁকি

কেন decentralization performance কমায়

প্রতিটি node-কে প্রতিটি transaction যাচাই ও সংরক্ষণ করতে হয়, এবং সবাইকে একমত (consensus) হতে হয় — তাই গতি সবচেয়ে ধীর/সীমিত অংশের ওপর নির্ভর করে, সবচেয়ে দ্রুত মেশিনের নয়। node যত বেশি ও যত সাধারণ হার্ডওয়্যার, তত বেশি decentralized — কিন্তু তত ধীর। একটি কেন্দ্রীয় database সহজেই হাজারো TPS দেয়, কিন্তু Bitcoin দেয় হাতেগোনা কয়েকটি — কারণ এখানে গতি নয়, ছড়িয়ে থাকা নিরাপত্তাই প্রধান লক্ষ্য।

L1 বনাম L2 / Rollup

Trilemma-র একটি বাস্তব সমাধান হলো স্তরে ভাগ করা:

  • Layer 1 (L1) — মূল chain (Bitcoin, Ethereum)। এটি সর্বোচ্চ নিরাপত্তা ও decentralization দেয়, কিন্তু ধীর ও fee বেশি।
  • Layer 2 (L2) / Rollup — L1-এর ওপর বসে। এটি শত শত transaction off-chain প্রক্রিয়া করে, তারপর সংকুচিত ফল (এবং প্রমাণ) L1-এ জমা দেয়। ফলে L1-এর নিরাপত্তা ধার করেও throughput অনেক বাড়ে, fee কমে।

দুই ধরনের rollup: Optimistic rollup ধরে নেয় ফল সঠিক, কেউ চ্যালেঞ্জ করলে fraud proof যাচাই হয়; ZK-rollup প্রতিটি batch-এর জন্য একটি cryptographic validity proof দেয়।

সহজ উদাহরণ

ভাবো একটা গ্রামের সালিশ। যদি কোনো সিদ্ধান্ত নিতে গ্রামের সব ৫০০ জনকে ডেকে, প্রত্যেকের মতামত শুনে, সবাইকে একমত করাতে হয় — তাহলে সিদ্ধান্ত খুব ধীর হবে, কিন্তু কেউ একা কারচুপি করতে পারবে না (decentralized + secure)। আর যদি শুধু একজন মাতবর সব ঠিক করেন — দ্রুত, কিন্তু তাঁর ওপরই সব নির্ভরশীল (centralized, fast)। L2/rollup যেন এমন — ছোট ছোট ঝগড়া পাড়ার একটা ছোট দল মিটিয়ে ফেলে (off-chain), আর শুধু চূড়ান্ত সারসংক্ষেপ মূল সালিশে (L1) তুলে দেয়, যাতে মূল সালিশের নিরাপত্তা থাকে কিন্তু চাপ কমে।

কৌশল

Scalability বাড়াতে নানা কৌশল ব্যবহৃত হয়:

  • Layer 2 / Rollup — off-chain execution, on-chain settlement।
  • Sharding — chain-কে কয়েকটি অংশে ভাগ করে সমান্তরালে প্রক্রিয়া করা।
  • Block size / block time টিউনিং — তবে এতে সাধারণত decentralization-এ ছাড় দিতে হয়।
  • State channel / sidechain — ঘন ঘন interaction off-chain করে শুধু শুরু ও শেষ on-chain রাখা।

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

  • পূর্ণ decentralization (L1) বেছে নাও যখন সেন্সরশিপ-প্রতিরোধ ও বিশ্বাসহীনতা (trustlessness) সর্বোচ্চ অগ্রাধিকার, এবং কম throughput মেনে নেওয়া যায়।
  • L2/rollup বেছে নাও যখন L1-এর নিরাপত্তা চাও কিন্তু সস্তা, দ্রুত transaction দরকার (যেমন গেমিং, মাইক্রো-পেমেন্ট)।
  • Centralized সমাধান যথেষ্ট যখন একটি বিশ্বস্ত পক্ষ আছে ও উচ্চ performance মুখ্য — সেখানে P2P-র জটিলতা অপ্রয়োজনীয়।
সাবধান

"Decentralized" একটি স্পেকট্রাম, on/off সুইচ নয়। অনেক প্রকল্প "decentralized" দাবি করলেও বাস্তবে কয়েকটি বড় node, validator বা sequencer-এর হাতে নিয়ন্ত্রণ কেন্দ্রীভূত থাকে। L2-এর অনেক sequencer এখনো কেন্দ্রীভূত। তাই লেবেল না দেখে যাচাই করো — কতগুলো স্বাধীন পক্ষ আসলে নিয়ন্ত্রণ করছে এবং node চালানো কতটা সহজ।

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

BitcoinEthereum দুটোই P2P gossip network-এর ওপর দাঁড়িয়ে — হাজার হাজার node সারা বিশ্বে ছড়িয়ে, কোনো কেন্দ্রীয় সার্ভার নেই। দুটোই trilemma-তে decentralization ও security-কে অগ্রাধিকার দিয়েছে, ফলে base layer-এ throughput সীমিত (Bitcoin প্রায় কয়েকটি TPS, Ethereum L1-ও কম)।

এই সীমা কাটাতে Ethereum-এর চারপাশে গড়ে উঠেছে L2 ইকোসিস্টেম — Arbitrum, Optimism (optimistic rollup), এবং zkSync, StarkNet (ZK-rollup) — যারা সস্তায় ও দ্রুত transaction দেয় অথচ চূড়ান্ত settlement Ethereum L1-এ করে এর নিরাপত্তা ধার করে। Bitcoin-এর ক্ষেত্রে Lightning Network একটি L2 হিসেবে দ্রুত, সস্তা মাইক্রো-পেমেন্ট সম্ভব করে।

টিপস

ইন্টারভিউতে "blockchain scale করে না কেন?" জিজ্ঞাসা করলে trilemma দিয়ে উত্তর দাও: প্রতিটি node-কে সব যাচাই করতে হয় বলেই গতি সীমিত, আর এটি একটি সচেতন ট্রেড-অফ — গতির বদলে decentralization ও security। তারপর সমাধান হিসেবে L2/rollup ও sharding-এর কথা বলো। "কেন ধীর" এবং "কীভাবে সমাধান" — দুটোই বললে তুমি গভীরে বুঝেছ, সেটা স্পষ্ট হয়।

মিনি কুইজ

1. Peer-to-peer network-এ data সাধারণত কীভাবে ছড়ায়?

2. Blockchain trilemma অনুযায়ী একসাথে সর্বোচ্চ মাত্রায় পাওয়া কঠিন কোন তিনটি?

3. Rollup (L2) মূলত কী করে?