permissionless Archives - To Learn Team https://tolearnteam.com/tag/permissionless/ Learn about Everything Online Sun, 16 Aug 2026 11:26:48 +0000 en-US hourly 1 https://wordpress.org/?v=7.1.2 https://tolearnteam.com/wp-content/uploads/2026/07/cropped-Logo-32x32.png permissionless Archives - To Learn Team https://tolearnteam.com/tag/permissionless/ 32 32 পাবলিক ব্লকচেইন কী? কাজের প্রক্রিয়া, জনপ্রিয় নেটওয়ার্ক, সুবিধা-অসুবিধা ও ব্যবহার https://tolearnteam.com/public-blockchain-bangla/ Sun, 16 Aug 2026 11:26:47 +0000 http://tolearnteam.com/?p=2635 পাবলিক ব্লকচেইন হলো একটি বিকেন্দ্রীভূত নেটওয়ার্ক, যেখানে যে কেউ অনুমতি ছাড়াই অংশগ্রহণ করতে, ডেটা পড়তে এবং লিখতে পারে। এটি একটি ওপেন-সোর্স কাঠামোতে চলে এবং ক্রিপ্টোগ্রাফিক নীতির মাধ্যমে স্বচ্ছতা ও নিরাপত্তা…

The post পাবলিক ব্লকচেইন কী? কাজের প্রক্রিয়া, জনপ্রিয় নেটওয়ার্ক, সুবিধা-অসুবিধা ও ব্যবহার appeared first on To Learn Team.

]]>
পাবলিক ব্লকচেইন হলো একটি বিকেন্দ্রীভূত নেটওয়ার্ক, যেখানে যে কেউ অনুমতি ছাড়াই অংশগ্রহণ করতে, ডেটা পড়তে এবং লিখতে পারে। এটি একটি ওপেন-সোর্স কাঠামোতে চলে এবং ক্রিপ্টোগ্রাফিক নীতির মাধ্যমে স্বচ্ছতা ও নিরাপত্তা নিশ্চিত করে। পাবলিক ব্লকচেইনে লেনদেন একটি consensus mechanism এর মাধ্যমে যাচাই করা হয়, যা ব্যবহারকারীদের মধ্যে trustless interaction (বিশ্বাসহীন মিথস্ক্রিয়া) সম্ভব করে। পাবলিক ব্লকচেইন ডিজিটাল অর্থনীতিতে উদ্ভাবন, স্বচ্ছতা এবং অন্তর্ভুক্তিকে উৎসাহিত করে।

এই আর্টিকেলে আমরা পাবলিক ব্লকচেইনের সংজ্ঞা, কাজের প্রক্রিয়া, জনপ্রিয় নেটওয়ার্ক, ব্যবহারের ক্ষেত্র, সুবিধা ও চ্যালেঞ্জ নিয়ে বিস্তারিত আলোচনা করব। প্রতিটি টেকনিক্যাল টার্মের সাথে প্রোগ্রামিং উদাহরণ ও সিনট্যাক্স দেওয়া হয়েছে।


🔍 পাবলিক ব্লকচেইন কী? (What is Public Blockchain?)

Public Blockchain হলো এক ধরনের Distributed Ledger Technology (DLT) যা সবার জন্য উন্মুক্ত। এতে যেকোনো অংশগ্রহণকারী কেন্দ্রীয় কর্তৃপক্ষের অনুমতি ছাড়াই নেটওয়ার্কে অ্যাক্সেস, দেখতে এবং অবদান রাখতে পারে। এই উন্মুক্ততাই এর প্রধান বৈশিষ্ট্য, যা একটি বিকেন্দ্রীভূত ও স্বচ্ছ পরিবেশ তৈরি করে।

মূল বৈশিষ্ট্য (Key Characteristics)

১. Decentralization (বিকেন্দ্রীকরণ)

পাবলিক ব্লকচেইন কোনো কেন্দ্রীয় কর্তৃপক্ষ বা একক সত্তার উপর নির্ভর করে না। এটি একটি পিয়ার-টু-পিয়ার নেটওয়ার্কে চলে, যেখানে একাধিক নোড লেনদেন যাচাই ও রেকর্ড করে।

সিনট্যাক্স (Python):

python

class Node:
    def __init__(self, name):
        self.name = name
        self.peers = []
        self.ledger = []

    def connect(self, peer):
        self.peers.append(peer)
        peer.peers.append(self)
        print(f"{self.name} connected to {peer.name}")

    def broadcast(self, block):
        for peer in self.peers:
            peer.receive_block(block)

    def receive_block(self, block):
        self.ledger.append(block)
        print(f"{self.name} received block: {block}")

# বিকেন্দ্রীভূত নেটওয়ার্ক তৈরি
node1 = Node("Node1")
node2 = Node("Node2")
node3 = Node("Node3")

node1.connect(node2)
node2.connect(node3)

node1.broadcast("Block #1")

ব্যাখ্যা:
প্রতিটি নোড সমান ক্ষমতাসম্পন্ন। কোনো কেন্দ্রীয় সার্ভার নেই; নোডরা সরাসরি যোগাযোগ করে এবং ডেটা শেয়ার করে। এটি decentralization-এর মূল ধারণা।

২. Transparency (স্বচ্ছতা)

সব লেনদেন যে কেউ দেখতে পারে, ফলে ডেটা যেকোনো অংশগ্রহণকারী দ্বারা যাচাই ও অডিট করা যায়।

সিনট্যাক্স (JSON – Public Ledger):

json

{
  "blockchain": "public",
  "ledger_visibility": "everyone",
  "transactions": [
    { "from": "0xAlice", "to": "0xBob", "amount": 2.5 },
    { "from": "0xBob", "to": "0xCharlie", "amount": 1.0 }
  ]
}

ব্যাখ্যা:
পাবলিক লেজারে সব লেনদেন প্রকাশ্যে থাকে। যে কেউ যেকোনো ঠিকানার লেনদেনের ইতিহাস দেখতে পারে।

৩. Immutability (অপরিবর্তনীয়তা)

একবার ডেটা পাবলিক ব্লকচেইনে রেকর্ড হলে তা সহজে পরিবর্তন বা মুছে ফেলা যায় না, যা লেনদেনের একটি নিরাপদ ও স্থায়ী রেকর্ড প্রদান করে।

সিনট্যাক্স (Python):

python

import hashlib

class Block:
    def __init__(self, index, prev_hash, data):
        self.index = index
        self.prev_hash = prev_hash
        self.data = data
        self.hash = self.calculate_hash()

    def calculate_hash(self):
        return hashlib.sha256(f"{self.index}{self.prev_hash}{self.data}".encode()).hexdigest()

genesis = Block(0, "0", "Genesis Block")
block1 = Block(1, genesis.hash, "Transaction: Alice -> Bob 2.5 BTC")
print(f"Genesis Hash: {genesis.hash}")
print(f"Block1 Hash: {block1.hash}")

# ডেটা পরিবর্তন করলে হ্যাশ বদলে যায়
block1.data = "Transaction: Alice -> Bob 25 BTC"
print(f"Changed Hash: {block1.calculate_hash()}")
print("Immutability: chain ভেঙে গেছে কারণ hash বদলে গেছে")

ব্যাখ্যা:
প্রতিটি ব্লকের হ্যাশ আগের ব্লকের হ্যাশের উপর নির্ভরশীল। কোনো ব্লকের ডেটা বদলালে হ্যাশ বদলে যায় এবং চেইন ভেঙে যায়। এটি immutability নিশ্চিত করে।

৪. Consensus Mechanisms (ঐকমত্য পদ্ধতি)

পাবলিক ব্লকচেইন লেনদেন যাচাই এবং নেটওয়ার্কের অখণ্ডতা বজায় রাখতে Proof of Work (PoW) বা Proof of Stake (PoS) এর মতো consensus অ্যালগরিদম ব্যবহার করে।

Proof of Work উদাহরণ (Python):

python

import hashlib

def proof_of_work(block_data, difficulty=4):
    nonce = 0
    prefix = '0' * difficulty
    while True:
        hash_val = hashlib.sha256(f"{block_data}{nonce}".encode()).hexdigest()
        if hash_val.startswith(prefix):
            return nonce, hash_val
        nonce += 1

nonce, valid_hash = proof_of_work("Block Data: Alice -> Bob 2.5 BTC")
print(f"Nonce: {nonce}")
print(f"Valid Hash: {valid_hash}")

ব্যাখ্যা:
মাইনাররা একটি নির্দিষ্ট সংখ্যক শূন্য দিয়ে শুরু হওয়া হ্যাশ খুঁজতে কম্পিউটেশনাল কাজ করে। এটি প্রতারণা প্রতিরোধ করে এবং নেটওয়ার্কে ঐকমত্য আনে।

Proof of Stake উদাহরণ (Python):

python

import random

def select_validator(stakes):
    total = sum(stakes.values())
    r = random.uniform(0, total)
    cumulative = 0
    for validator, stake in stakes.items():
        cumulative += stake
        if r <= cumulative:
            return validator

validators = {"Alice": 40, "Bob": 30, "Charlie": 30}
selected = select_validator(validators)
print(f"Selected validator: {selected}")

ব্যাখ্যা:
PoS-এ বেশি স্টেক করা নোডের ভ্যালিডেটর হওয়ার সম্ভাবনা বেশি। এটি PoW-এর তুলনায় শক্তি সাশ্রয়ী।

৫. Open Participation (উন্মুক্ত অংশগ্রহণ)

যে কেউ নেটওয়ার্কে যোগ দিতে, লেনদেন যাচাইয়ে অবদান রাখতে এবং ব্লকচেইনে সংরক্ষিত ডেটা অ্যাক্সেস করতে পারে, যা অন্তর্ভুক্তিকে উৎসাহিত করে।

সিনট্যাক্স (JavaScript – Open Join):

javascript

class PublicBlockchain {
  constructor() {
    this.nodes = [];
    this.ledger = [];
  }

  join(nodeId) {
    this.nodes.push(nodeId);
    console.log(`${nodeId} joined freely without permission`);
  }

  addTransaction(tx) {
    this.ledger.push(tx);
    console.log(`Transaction added: ${tx}`);
  }
}

const network = new PublicBlockchain();
network.join("Alice");
network.join("Bob");
network.addTransaction("Alice -> Bob: 1.5 BTC");

ব্যাখ্যা:
পাবলিক ব্লকচেইনে কোনো অনুমতির প্রয়োজন নেই। ইন্টারনেট ও কম্পিউটার থাকলেই যে কেউ অংশ নিতে পারে।


⚙ পাবলিক ব্লকচেইন কিভাবে কাজ করে? (How do Public Blockchains Work?)

পাবলিক ব্লকচেইন একটি বিকেন্দ্রীভূত নোডের নেটওয়ার্কের মাধ্যমে কাজ করে, যা লেনদেন যাচাই ও রেকর্ড করে। নিচে এর কাজের ধাপগুলো দেওয়া হলো:

ধাপ ১: Transaction Creation (লেনদেন তৈরি)

ব্যবহারকারীরা একটি ডিজিটাল রিকোয়েস্ট তৈরি করে লেনদেন শুরু করে, যাতে প্রেরক, প্রাপক এবং পরিমাণের বিবরণ থাকে।

সিনট্যাক্স (Python – Transaction Class):

python

class Transaction:
    def __init__(self, sender, receiver, amount):
        self.sender = sender
        self.receiver = receiver
        self.amount = amount

    def __repr__(self):
        return f"{self.sender} -> {self.receiver}: {self.amount}"

tx = Transaction("Alice", "Bob", 2.5)
print(tx)

ব্যাখ্যা:
প্রতিটি লেনদেনে স্পষ্টভাবে প্রেরক, প্রাপক ও পরিমাণ উল্লেখ থাকে।

ধাপ ২: Broadcasting (প্রচার)

লেনদেনটি যাচাইয়ের জন্য নেটওয়ার্কের সব নোডে ব্রডকাস্ট করা হয়।

সিনট্যাক্স (JavaScript):

javascript

const nodes = [
  { id: "Node1", pending: [] },
  { id: "Node2", pending: [] },
  { id: "Node3", pending: [] }
];

function broadcastTransaction(tx) {
  nodes.forEach(node => {
    node.pending.push(tx);
    console.log(`${tx} broadcasted to ${node.id}`);
  });
}

broadcastTransaction("Alice -> Bob: 2.5 BTC");

ব্যাখ্যা:
লেনদেনটি সব নোডে পাঠানো হয়, যাতে সবাই যাচাই প্রক্রিয়ায় অংশ নিতে পারে।

ধাপ ৩: Validation (যাচাই)

নোডগুলো লেনদেন যাচাই করতে consensus mechanisms (PoW বা PoS) ব্যবহার করে, নিশ্চিত করে লেনদেনটি বৈধ এবং double-spent নয়।

সিনট্যাক্স (Python – Validate Pending Transactions):

python

class Node:
    def __init__(self, name):
        self.name = name
        self.pending = []
        self.ledger = []
        self.balance = {}

    def receive_transaction(self, tx):
        self.pending.append(tx)
        print(f"{self.name} received pending: {tx}")

    def validate_pending(self):
        valid = []
        for tx in self.pending:
            sender = tx.sender
            amount = tx.amount
            if self.balance.get(sender, 0) >= amount:
                valid.append(tx)
        return valid

# double-spend প্রতিরোধ
node = Node("Node1")
node.balance["Alice"] = 10
tx1 = Transaction("Alice", "Bob", 3)
tx2 = Transaction("Alice", "Charlie", 8)  # অপর্যাপ্ত ব্যালেন্স
node.pending = [tx1, tx2]
valid_txs = node.validate_pending()
print(valid_txs)  # শুধু tx1

ব্যাখ্যা:
নোডগুলো চেক করে প্রেরকের যথেষ্ট ব্যালেন্স আছে কিনা এবং লেনদেনটি বৈধ কিনা। ডাবল স্পেন্ড প্রতিরোধে প্রতিটি আউটপুট একবারই খরচ করা যায়।

ধাপ ৪: Block Creation (ব্লক তৈরি)

বৈধ লেনদেনগুলো একটি ব্লকে গ্রুপ করা হয়, যাতে আগের ব্লকের রেফারেন্স থাকে, ফলে চেইন তৈরি হয়।

সিনট্যাক্স (Python – Block Creation):

python

class Block:
    def __init__(self, index, transactions, previous_hash):
        self.index = index
        self.transactions = transactions
        self.previous_hash = previous_hash
        self.hash = self.calculate_hash()

    def calculate_hash(self):
        import hashlib
        return hashlib.sha256(f"{self.index}{self.transactions}{self.previous_hash}".encode()).hexdigest()

block = Block(1, [tx1], "genesis_hash")
print(block.hash)

ধাপ ৫: Adding to the Blockchain (ব্লকচেইনে যোগ করা)

একবার যাচাই হলে, নতুন ব্লকটি ব্লকচেইনে যোগ হয়, একটি স্থায়ী ও অপরিবর্তনীয় রেকর্ড তৈরি করে।

ধাপ ৬: Synchronization (সিঙ্ক্রোনাইজেশন)

সব নোড তাদের ব্লকচেইনের কপি নতুন ব্লকের সাথে আপডেট করে, নেটওয়ার্ক জুড়ে ধারাবাহিকতা বজায় রাখে।

সিনট্যাক্স (JavaScript – Sync):

javascript

function syncLedger(nodes, block) {
  nodes.forEach(node => {
    node.ledger.push(block);
    console.log(`${node.id} synced with new block`);
  });
}

const newBlock = { hash: "0xabc123", data: "Validated Transactions" };
syncLedger(nodes, newBlock);

ধাপ ৭: Incentives (প্রণোদনা)

যে নোড সফলভাবে ব্লক যাচাই ও যোগ করে, সে ক্রিপ্টোকারেন্সি পুরস্কার পায়, যা অংশগ্রহণ ও নিরাপত্তাকে উৎসাহিত করে।

সিনট্যাক্স (Python – Block Reward):

python

def calculate_block_reward(block_height):
    initial_reward = 50  # BTC
    halving_interval = 210_000
    halvings = block_height // halving_interval
    return initial_reward / (2 ** halvings)

print(f"Block Reward: {calculate_block_reward(840_000)} BTC")

🌟 জনপ্রিয় পাবলিক ব্লকচেইন (Popular Public Blockchains)

১. Bitcoin (BTC)

Bitcoin হলো প্রথম এবং সবচেয়ে পরিচিত ক্রিপ্টোকারেন্সি, ২০০৯ সালে Satoshi Nakamoto ছদ্মনামে তৈরি। এটি মূলত পিয়ার-টু-পিয়ার লেনদেন এবং ডিজিটাল সম্পদের ভাণ্ডার হিসেবে ব্যবহৃত হয়।

সিনট্যাক্স (Python – Bitcoin Transaction):

python

class BitcoinTransaction:
    def __init__(self, sender, receiver, amount_btc):
        self.sender = sender
        self.receiver = receiver
        self.amount_btc = amount_btc

    def to_satoshi(self):
        return int(self.amount_btc * 100_000_000)

tx = BitcoinTransaction("Alice", "Bob", 0.5)
print(tx.to_satoshi())  # 50000000 satoshi

২. Ethereum (ETH)

Ethereum ২০১৫ সালে লঞ্চ হয়। এটি একটি বিকেন্দ্রীভূত প্ল্যাটফর্ম যা স্মার্ট কন্ট্রাক্ট এবং DApps তৈরি করতে দেয়। DeFi, NFT সহ নানা অ্যাপ্লিকেশন সমর্থন করে।

সিনট্যাক্স (Solidity – Smart Contract):

solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SimpleToken {
    mapping(address => uint256) public balanceOf;

    function transfer(address to, uint256 amount) public {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        balanceOf[msg.sender] -= amount;
        balanceOf[to] += amount;
    }
}

৩. Cardano (ADA)

Cardano ২০১৭ সালে প্রতিষ্ঠিত, গবেষণা-চালিত পদ্ধতি এবং লেয়ার্ড আর্কিটেকচারের জন্য পরিচিত। এটি স্মার্ট কন্ট্রাক্ট সমর্থন করে এবং আরও টেকসই ও স্কেলেবল ব্লকচেইন লক্ষ্য করে।

৪. Solana (SOL)

Solana ২০২০ সালে লঞ্চ হয়, উচ্চ থ্রুপুট এবং কম লেনদেন ফি-র জন্য পরিচিত। এটি Proof of History (PoH) consensus ব্যবহার করে। DeFi ও NFT স্পেসে আদর্শ।

৫. Polkadot (DOT)

Polkadot ২০২০ সালে লঞ্চ, বিভিন্ন ব্লকচেইনকে parachains এর মাধ্যমে ইন্টারঅপারেট করতে দেয়।

৬. Binance Smart Chain (BSC)

Binance তৈরি, দ্রুত লেনদেন এবং কম ফি-র জন্য পরিচিত। স্মার্ট কন্ট্রাক্ট ও DApps সমর্থন করে, DeFi-তে জনপ্রিয়।


💼 পাবলিক ব্লকচেইনের ব্যবহার (Use Cases)

১. Cryptocurrency Transactions (ক্রিপ্টোকারেন্সি লেনদেন)

Bitcoin ও Ethereum-এর মতো পাবলিক ব্লকচেইনে মধ্যস্বত্বভোগী ছাড়াই ডিজিটাল মুদ্রা স্থানান্তর করা যায়।

২. Decentralized Finance (DeFi)

পাবলিক ব্লকচেইনে lending, borrowing, trading-এর মতো আর্থিক সেবা ব্যাংক ছাড়াই চলে। Aave, Uniswap-এর মতো প্ল্যাটফর্ম Ethereum-এ কাজ করে।

৩. Non-Fungible Tokens (NFTs)

NFTs পাবলিক ব্লকচেইনে অনন্য ডিজিটাল সম্পদের মালিকানা প্রকাশ করে। Ethereum NFT minting ও trading-এর প্রধান প্ল্যাটফর্ম।

৪. Supply Chain Management (সাপ্লাই চেইন)

পাবলিক ব্লকচেইন পণ্যের উৎস ও যাত্রাপথ যাচাই করে স্বচ্ছতা ও ট্রেসেবিলিটি বাড়ায়। VeChain এর উদাহরণ।

৫. Voting Systems (ভোটিং সিস্টেম)

পাবলিক ব্লকচেইন নিরাপদ ও স্বচ্ছ ভোটিং প্রক্রিয়া নিশ্চিত করে, জালিয়াতি কমায় এবং নির্বাচনের ফলাফলে আস্থা বাড়ায়।

৬. Identity Verification (পরিচয় যাচাই)

পাবলিক ব্লকচেইন বিকেন্দ্রীভূত পরিচয় সমাধান দেয়, যেখানে ব্যবহারকারী কেন্দ্রীয় কর্তৃপক্ষ ছাড়াই নিজের পরিচয় নিয়ন্ত্রণ ও যাচাই করতে পারে। uPort, Civic উদাহরণ।


✅ পাবলিক ব্লকচেইনের সুবিধা (Advantages)

  • Decentralization: কোনো একক সত্তা নিয়ন্ত্রণ করে না, দুর্নীতি বা ম্যানিপুলেশনের ঝুঁকি কমে।
  • Transparency: সব লেনদেন পাবলিক, সবাই যাচাই ও অডিট করতে পারে।
  • Immutability: রেকর্ড স্থায়ী ও নিরাপদ।
  • Security: উন্নত ক্রিপ্টোগ্রাফি ডেটা সুরক্ষিত রাখে, হ্যাকিং প্রতিরোধী।
  • Accessibility: যে কেউ অংশ নিতে পারে, বৈচিত্র্যময় বাস্তুতন্ত্র তৈরি হয়।

⚠ চ্যালেঞ্জ ও সীমাবদ্ধতা (Challenges and Limitations)

  • Scalability: ব্যবহারকারী ও লেনদেন বাড়লে গতি ধীর হয়, লেটেন্সি বাড়ে।
  • Energy Consumption: PoW উচ্চ শক্তি খরচ করে, পরিবেশগত উদ্বেগ সৃষ্টি করে।
  • Privacy Concerns: স্বচ্ছতা সুবিধা হলেও সব লেনদেন দৃশ্যমান, যা সংবেদনশীল তথ্য প্রকাশ করতে পারে।
  • Regulatory Uncertainty: বিকেন্দ্রীভূত প্রকৃতির কারণে নিয়ন্ত্রক সম্মতি কঠিন; সরকারি নীতিমালা এখনও উন্নয়নশীল।
  • Vulnerability to Attacks: সাধারণভাবে নিরাপদ হলেও Sybil attacks বা 51% attacks এর ঝুঁকি থাকে।

📝 এক্সারসাইজ (হিন্টসহ)

Exercise 1: পাবলিক ব্লকচেইন নোড সিমুলেট করো

কাজ: Python-এ একটি Node ক্লাস তৈরি করো যাতে connect, broadcast, এবং receive_block মেথড থাকবে। তিনটি নোড তৈরি করে একটি ব্লক ব্রডকাস্ট করো।

হিন্ট:

  • peers তালিকায় সংযুক্ত নোড রাখো।
  • broadcast প্রতিটি পিয়ারের receive_block কল করবে।

Exercise 2: Proof of Work ইমপ্লিমেন্ট করো

কাজ: একটি ফাংশন লেখো যা data ও difficulty প্যারামিটার নেবে এবং এমন nonce খুঁজবে যাতে হ্যাশ difficulty সংখ্যক শূন্য দিয়ে শুরু হয়।

হিন্ট:

  • hashlib.sha256 ব্যবহার করো।
  • while লুপে startswith('0' * difficulty) চেক করো।

Exercise 3: Transaction Validation (ডাবল স্পেন্ড প্রতিরোধ)

কাজ: একটি ক্লাস লেখো যা ব্যালেন্স ট্র্যাক করবে এবং validate_pending মেথডে কেবল যথেষ্ট ব্যালেন্স থাকা লেনদেনগুলো রিটার্ন করবে।

হিন্ট:

  • self.balance ডিকশনারি ব্যবহার করো।
  • if self.balance.get(sender, 0) >= amount চেক করো।

Exercise 4: পাবলিক ব্লকচেইনে স্মার্ট কন্ট্রাক্ট (Solidity)

কাজ: একটি Solidity কন্ট্রাক্ট লেখো যা ব্যবহারকারীদের টোকেন জমা ও উত্তোলনের সুযোগ দেয়।

হিন্ট:

  • mapping(address => uint256) public balances;
  • deposit ফাংশনে balances[msg.sender] += msg.value;
  • withdraw ফাংশনে require(balances[msg.sender] >= amount, "Insufficient balance");

Exercise 5: Block Reward Calculator

কাজ: একটি ফাংশন লেখো যা ব্লক হাইট ইনপুট নিয়ে Bitcoin ব্লক রিওয়ার্ড বের করবে (halving প্রতি ২১০,০০০ ব্লকে)।

হিন্ট:

  • halvings = block_height // 210_000
  • reward = 50 / (2 ** halvings)

Exercise 6: পাবলিক লেজার ভিজিবিলিটি

কাজ: JavaScript-এ একটি ledger অ্যারে তৈরি করো এবং একটি ফাংশন লেখো যা সবার জন্য লেনদেনের ইতিহাস রিটার্ন করে।

হিন্ট:

  • return ledger; — কোনো অ্যাক্সেস কন্ট্রোল নেই।

🧭 সমাধানের পথনির্দেশনা

  1. প্রথমে নোড ক্লাস ডিজাইন করো: নোডে কী কী প্রপার্টি থাকবে (name, peers, ledger)।
  2. সংযোগ স্থাপন করো: connect মেথড দুই পিয়ারের peers তালিকা আপডেট করবে।
  3. ব্রডকাস্ট ফাংশন যোগ করো: broadcast সব পিয়ারের receive_block কল করবে।
  4. Consensus ইমপ্লিমেন্ট করো: PoW বা PoS ব্যবহার করে লেনদেন যাচাই করো।
  5. স্মার্ট কন্ট্রাক্ট লিখে টেস্ট করো: Ethereum টেস্টনেট (Sepolia) ব্যবহার করতে পারো।
  6. ডাবল স্পেন্ড টেস্ট করো: একই ইনপুট দ্বিতীয়বার খরচ করলে ভ্যালিডেশন ব্যর্থ হওয়া উচিত।
  7. ব্লক রিওয়ার্ড ক্যালকুলেট করে যাচাই করো: Bitcoin-এর halving সঠিকভাবে কাজ করছে কিনা দেখো।

📚 সারসংক্ষেপ

পাবলিক ব্লকচেইন একটি রূপান্তরকারী প্রযুক্তি, যা বিকেন্দ্রীকরণ, স্বচ্ছতা ও নিরাপত্তার মাধ্যমে বিভিন্ন শিল্পকে নতুন আকার দিতে পারে। স্কেলেবিলিটি, শক্তি খরচ ও নিয়ন্ত্রক উদ্বেগের মতো চ্যালেঞ্জ থাকা সত্ত্বেও চলমান উদ্ভাবন ও প্রবণতা বিস্তৃত গ্রহণ ও উন্নত কার্যকারিতার পথ তৈরি করছে। পাবলিক ব্লকচেইন বিকেন্দ্রীভূত অর্থ, ডিজিটাল পরিচয় সমাধান ও সম্পদ টোকেনাইজেশনে গুরুত্বপূর্ণ ভূমিকা পালন করবে, যা একটি উন্মুক্ত ও অন্তর্ভুক্তিমূলক ডিজিটাল অর্থনীতি গড়ে তুলবে। উপরের সিনট্যাক্স ও এক্সারসাইজগুলো অনুশীলন করলে আপনি পাবলিক ব্লকচেইনের মৌলিক ধারণা আয়ত্ত করতে পারবেন।


এই পোস্টটি ToLearnTeam.com-এ প্রকাশের জন্য প্রস্তুত।
কোনো অংশ আরও বিস্তারিত করতে চাইলে জানাতে পারেন।

The post পাবলিক ব্লকচেইন কী? কাজের প্রক্রিয়া, জনপ্রিয় নেটওয়ার্ক, সুবিধা-অসুবিধা ও ব্যবহার appeared first on To Learn Team.

]]>
ব্লকচেইনের প্রকারভেদ: পাবলিক, প্রাইভেট, হাইব্রিড ও কনসোর্টিয়াম – সম্পূর্ণ বাংলা গাইড https://tolearnteam.com/types-of-blockchain-public-private-hybrid-consortium-bangla/ Sun, 16 Aug 2026 11:23:24 +0000 http://tolearnteam.com/?p=2632 ব্লকচেইন প্রযুক্তি আজ একটি বহুমুখী টুলে পরিণত হয়েছে, যা বিভিন্ন শিল্পে নানা কাজে ব্যবহৃত হচ্ছে। নির্দিষ্ট প্রয়োজনে সঠিক ব্লকচেইন সমাধান নির্বাচনের জন্য এর প্রকারভেদ বোঝা অপরিহার্য। সাধারণভাবে ব্লকচেইনকে চার ভাগে…

The post ব্লকচেইনের প্রকারভেদ: পাবলিক, প্রাইভেট, হাইব্রিড ও কনসোর্টিয়াম – সম্পূর্ণ বাংলা গাইড appeared first on To Learn Team.

]]>
ব্লকচেইন প্রযুক্তি আজ একটি বহুমুখী টুলে পরিণত হয়েছে, যা বিভিন্ন শিল্পে নানা কাজে ব্যবহৃত হচ্ছে। নির্দিষ্ট প্রয়োজনে সঠিক ব্লকচেইন সমাধান নির্বাচনের জন্য এর প্রকারভেদ বোঝা অপরিহার্য। সাধারণভাবে ব্লকচেইনকে চার ভাগে ভাগ করা যায়: Public, Private, Consortium, এবং Hybrid। প্রতিটি প্রকারের নিজস্ব বৈশিষ্ট্য, সুবিধা ও ব্যবহারের ক্ষেত্র রয়েছে। এই আর্টিকেলে আমরা ব্লকচেইনের এই প্রকারভেদ নিয়ে বিস্তারিত আলোচনা করব, সাথে থাকবে প্রোগ্রামিং সিনট্যাক্স, উদাহরণ এবং প্র্যাকটিস এক্সারসাইজ।


🔍 ব্লকচেইন প্রযুক্তি কী? (What is Blockchain Technology?)

ব্লকচেইন হলো একটি বিকেন্দ্রীভূত, বিতরণকৃত লেজার সিস্টেম, যা কম্পিউটারের নেটওয়ার্কে নিরাপদভাবে লেনদেন রেকর্ড ও যাচাই করে। এটি একাধিক পক্ষকে কেন্দ্রীয় কর্তৃপক্ষ ছাড়াই একই ডেটা শেয়ার ও অ্যাক্সেস করতে দেয়।

মূল ধারণাসমূহ ও উদাহরণ

১. Decentralization (বিকেন্দ্রীকরণ)

প্রথাগত ডাটাবেসের মতো একটি একক সত্তা নিয়ন্ত্রণ করে না; ব্লকচেইন একটি পিয়ার-টু-পিয়ার নেটওয়ার্কে চলে। এতে ডেটা ম্যানিপুলেশন ও একক ব্যর্থতার ঝুঁকি কমে।

সিনট্যাক্স (Python):

python

class Node:
    def __init__(self, name):
        self.name = name
        self.peers = []
        self.ledger = []

    def connect(self, peer):
        self.peers.append(peer)
        peer.peers.append(self)
        print(f"{self.name} connected to {peer.name}")

node1 = Node("Node1")
node2 = Node("Node2")
node1.connect(node2)

ব্যাখ্যা:
প্রতিটি নোড সমান ক্ষমতাসম্পন্ন, কোনো কেন্দ্রীয় সার্ভার নেই। নোডরা সরাসরি যোগাযোগ করে।

২. Distributed Ledger (বিতরণকৃত লেজার)

নেটওয়ার্কের প্রতিটি অংশগ্রহণকারীর কাছে পুরো ব্লকচেইনের একটি কপি থাকে, ফলে সব লেনদেন স্বচ্ছ ও যাচাইযোগ্য।

সিনট্যাক্স (JavaScript):

javascript

const nodes = [
  { id: "A", ledger: [] },
  { id: "B", ledger: [] },
  { id: "C", ledger: [] }
];

function syncLedger(block) {
  nodes.forEach(node => node.ledger.push(block));
  console.log("Block synced to all nodes");
}

syncLedger({ hash: "0xabc", data: "Tx1" });

ব্যাখ্যা:
একটি ব্লক তৈরি হলে তা সব নোডে কপি হয়, ফলে ডেটা একক স্থানে নির্ভরশীল নয়।

৩. Immutability (অপরিবর্তনীয়তা)

একবার ডেটা ব্লকচেইনে রেকর্ড হলে তা পরিবর্তন বা মুছে ফেলা প্রায় অসম্ভব। প্রতিটি ব্লক ক্রিপ্টোগ্রাফিকভাবে আগের ব্লকের সাথে যুক্ত থাকে, যা একটি নিরাপদ চেইন তৈরি করে।

সিনট্যাক্স (Python):

python

import hashlib

class Block:
    def __init__(self, index, prev_hash, data):
        self.index = index
        self.prev_hash = prev_hash
        self.data = data
        self.hash = self.calc_hash()

    def calc_hash(self):
        return hashlib.sha256(f"{self.index}{self.prev_hash}{self.data}".encode()).hexdigest()

genesis = Block(0, "0", "Genesis")
block1 = Block(1, genesis.hash, "Tx1")
print(genesis.hash, block1.hash)
# block1.data = "hacked" করলে hash বদলে যাবে

ব্যাখ্যা:
হ্যাশ পরিবর্তন হলে চেইন ভেঙে যায়, তাই টেম্পারিং ধরা পড়ে।

৪. Consensus Mechanisms (ঐকমত্য পদ্ধতি)

ব্লকচেইন নেটওয়ার্ক বিভিন্ন consensus অ্যালগরিদম (যেমন Proof of Work বা Proof of Stake) ব্যবহার করে লেনদেন যাচাই ও সম্মত হয়।

সিনট্যাক্স (Proof of Work, Python):

python

import hashlib

def proof_of_work(data, difficulty=4):
    nonce = 0
    prefix = '0' * difficulty
    while True:
        h = hashlib.sha256(f"{data}{nonce}".encode()).hexdigest()
        if h.startswith(prefix):
            return nonce, h
        nonce += 1

nonce, hash_val = proof_of_work("Block data")
print(nonce, hash_val)

ব্যাখ্যা:
মাইনাররা নির্দিষ্ট শর্ত পূরণকারী হ্যাশ খুঁজতে কাজ করে, এটি নেটওয়ার্ককে সৎ রাখে।

৫. Smart Contracts (স্মার্ট কন্ট্রাক্ট)

কিছু ব্লকচেইন, যেমন Ethereum, স্মার্ট কন্ট্রাক্ট সমর্থন করে। এগুলো মধ্যস্বত্বভোগী ছাড়াই প্রক্রিয়া অটোমেট করে এবং চুক্তি প্রয়োগ করে।

সিনট্যাক্স (Solidity):

solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SimpleWallet {
    mapping(address => uint256) public balances;

    function deposit() public payable {
        balances[msg.sender] += msg.value;
    }

    function withdraw(uint256 amount) public {
        require(balances[msg.sender] >= amount, "Insufficient balance");
        balances[msg.sender] -= amount;
        payable(msg.sender).transfer(amount);
    }
}

ব্যাখ্যা:
এই কন্ট্রাক্টটি নিজে থেকেই ব্যালেন্স ট্র্যাক করে এবং শর্ত পূরণ হলে টাকা রিলিজ করে।


🆓 Permissionless Blockchain (অনুমতিহীন ব্লকচেইন)

Permissionless Blockchain এমন একটি ব্লকচেইন নেটওয়ার্ক যেখানে কেউ বিশেষ অনুমতি বা অনুমোদন ছাড়াই অংশগ্রহণ করতে পারে।

বৈশিষ্ট্য:

  • Open Access: যে কেউ নেটওয়ার্কে যোগ দিতে, লেনদেন যাচাই করতে এবং ব্লকচেইনে অবদান রাখতে পারে।
  • Decentralization: বিকেন্দ্রীভূত নোডের নেটওয়ার্কে চলে, কোনো একক পক্ষ নিয়ন্ত্রণ করে না।
  • Transparency: সব লেনদেন পাবলিক লেজারে থাকে, সবাই দেখতে ও যাচাই করতে পারে।
  • Anonymity: অংশগ্রহণকারীরা pseudonymous থাকে, পাবলিক কি ব্যবহার করে পরিচিত হয়।

সিনট্যাক্স (Python – Permissionless join):

python

class PermissionlessBlockchain:
    def __init__(self):
        self.nodes = []

    def join(self, node_id):
        self.nodes.append(node_id)
        print(f"{node_id} joined freely without permission")

net = PermissionlessBlockchain()
net.join("Alice")
net.join("Bob")

ব্যাখ্যা:
যে কেউ ইন্টারনেট ও কম্পিউটার থাকলেই নোড হতে পারে, কোনো অনুমতির প্রয়োজন নেই। উদাহরণ: Bitcoin, Ethereum (public network)।


🔐 Permissioned Blockchain (অনুমতিপ্রাপ্ত ব্লকচেইন)

Permissioned Blockchain হলো এমন একটি ব্লকচেইন যা কেবলমাত্র নির্দিষ্ট অনুমোদিত ব্যবহারকারীদের একটি নির্বাচিত গোষ্ঠীর জন্য অ্যাক্সেস ও অংশগ্রহণ সীমাবদ্ধ করে।

বৈশিষ্ট্য:

  • Access Control: কেবল অনুমোদিত অংশগ্রহণকারীরা যোগ দিতে পারে, সব নোড পরিচিত ও ভetted।
  • Centralized Governance: সাধারণত একটি সংগঠন বা কেন্দ্রীয় কর্তৃপক্ষ নিয়ম নির্ধারণ করে।
  • Enhanced Privacy: সংবেদনশীল তথ্য শুধুমাত্র অনুমোদিত পক্ষের মধ্যে শেয়ার হয়।
  • Customizable Protocols: সংগঠনগুলো তাদের চাহিদামতো consensus ও প্রোটোকল কাস্টমাইজ করতে পারে।

সিনট্যাক্স (Solidity – Access control):

solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract PermissionedData {
    mapping(address => bool) public authorized;
    string private secret = "Confidential data";

    modifier onlyAuthorized() {
        require(authorized[msg.sender], "Not authorized");
        _;
    }

    function addAuthorized(address _addr) public {
        authorized[_addr] = true;
    }

    function getSecret() public view onlyAuthorized returns (string memory) {
        return secret;
    }
}

ব্যাখ্যা:
শুধুমাত্র অনুমোদিত ঠিকানা গোপন ডেটা পড়তে পারে। এটি প্রাইভেট ব্লকচেইনের সাধারণ অ্যাক্সেস কন্ট্রোল মেকানিজম।


🧩 ব্লকচেইনের ৪টি প্রধান প্রকার

১. Public Blockchain (পাবলিক ব্লকচেইন)

Public Blockchain সম্পূর্ণ উন্মুক্ত এবং বিকেন্দ্রীকরণের আদর্শ অনুসরণ করে। এতে কোনো বিধিনিষেধ নেই; কম্পিউটার ও ইন্টারনেট থাকলে যে কেউ অংশ নিতে পারে। এটি কারও মালিকানাধীন নয়। সব নোডের কাছে লেজারের কপি থাকে, এবং লেনদেন যাচাই করা যায়।

সুবিধা:

  • Trustable: জালিয়াতি শনাক্তে অ্যালগরিদম আছে।
  • Secure: বড় নেটওয়ার্কে রেকর্ডের ব্যাপক বিতরণ।
  • Anonymous: পরিচয় প্রকাশ ছাড়াই লেনদেন করা যায়।
  • Decentralized: কোনো একক প্ল্যাটফর্ম নয়; সব ব্যবহারকারীর কাছে লেজারের কপি।

অসুবিধা:

  • Processing: বড় আকারের কারণে লেনদেন প্রক্রিয়া ধীর।
  • Energy Consumption: Proof of Work উচ্চ শক্তি খরচ করে।
  • Acceptance: কেন্দ্রীয় কর্তৃপক্ষের অনুপস্থিতিতে সরকারি গ্রহণে সমস্যা।

ব্যবহার:
Public Blockchain Proof of Work বা Proof of Stake দিয়ে সুরক্ষিত, প্রচলিত আর্থিক ব্যবস্থার বিকল্প হতে পারে। স্মার্ট কন্ট্রাক্টের মাধ্যমে বিকেন্দ্রীকরণ সমর্থন করে। উদাহরণ: Bitcoin, Ethereum।

সিনট্যাক্স (Python – Public node join):

python

class PublicBlockchain:
    def __init__(self):
        self.ledger = []

    def join(self, node):
        print(f"{node} joined public network")

    def add_transaction(self, tx):
        self.ledger.append(tx)

btc = PublicBlockchain()
btc.join("Alice")
btc.add_transaction("Alice -> Bob: 2 BTC")

২. Private Blockchain (প্রাইভেট ব্লকচেইন)

Private Blockchain পাবলিক ব্লকচেইনের মতো বিকেন্দ্রীভূত নয়; কেবল নির্বাচিত নোড প্রক্রিয়ায় অংশ নিতে পারে, যা একে অন্যগুলোর চেয়ে বেশি নিরাপদ করে। এটি বন্ধ নেটওয়ার্কে পরিচালিত হয় এবং সাধারণত একটি কোম্পানি/সংগঠনের ভেতরে কয়েকজন অংশগ্রহণ করে।

সুবিধা:

  • Speed: ছোট আকারের কারণে লেনদেন দ্রুত হয়।
  • Scalability: নেটওয়ার্কের আকার হাতে গড়ে সেট করা যায়।
  • Privacy: গোপনীয়তার কারণে ব্যবসার জন্য উপযুক্ত।
  • Balanced: সীমিত ব্যবহারকারীর কারণে পারফরম্যান্স ভালো।

অসুবিধা:

  • Security: সীমিত নোডের কারণে ম্যানিপুলেশনের ঝুঁকি বেশি।
  • Centralized: কেন্দ্রীয় প্রকৃতির কারণে বিশ্বাস তৈরি কঠিন।
  • Count: অল্প নোডের মধ্যে কিছু নোড অফলাইনে গেলে পুরো সিস্টেম বিপন্ন হতে পারে।

ব্যবহার:
সঠিক নিরাপত্তা ও রক্ষণাবেক্ষণে এটি তথ্য সুরক্ষার জন্য চমৎকার। অভ্যন্তরীণ অডিট, ভোটিং, অ্যাসেট ম্যানেজমেন্টে ব্যবহৃত হয়। উদাহরণ: Hyperledger, Corda।

সিনট্যাক্স (Python – Private network):

python

class PrivateBlockchain:
    def __init__(self):
        self.authorized_nodes = set()

    def add_authorized(self, node):
        self.authorized_nodes.add(node)

    def join(self, node):
        if node in self.authorized_nodes:
            print(f"{node} granted access")
        else:
            print(f"{node} denied: not authorized")

chain = PrivateBlockchain()
chain.add_authorized("Alice")
chain.join("Alice")
chain.join("Bob")  # denied

৩. Hybrid Blockchain (হাইব্রিড ব্লকচেইন)

Hybrid Blockchain হলো প্রাইভেট ও পাবলিক ব্লকচেইনের মিশ্রণ, যেখানে কিছু অংশ কোনো সংগঠন নিয়ন্ত্রণ করে এবং বাকি অংশ পাবলিক হিসেবে দৃশ্যমান থাকে। Permission-based এবং permissionless সিস্টেম একসাথে ব্যবহৃত হয়। ব্যবহারকারী স্মার্ট কন্ট্রাক্টের মাধ্যমে তথ্য অ্যাক্সেস করে। প্রাথমিক সত্তা হাইব্রিড ব্লকচেইনের মালিক হলেও লেনদেন পরিবর্তন করতে পারে না।

সুবিধা:

  • Ecosystem: হাইব্রিড প্রকৃতির কারণে হ্যাক করা কঠিন, কারণ ৫১% ব্যবহারকারীর অ্যাক্সেস নেই।
  • Cost: অল্প কয়েকটি নোড যাচাই করে, তাই লেনদেন সস্তা।
  • Architecture: উচ্চ কাস্টমাইজযোগ্য, অখণ্ডতা ও স্বচ্ছতা বজায় থাকে।
  • Operations: অংশগ্রহণকারী নির্বাচন ও কোন লেনদেন পাবলিক হবে তা নির্ধারণ করা যায়।

অসুবিধা:

  • Efficiency: সবাই হাইব্রিড ব্লকচেইন বাস্তবায়ন করতে পারে না; রক্ষণাবেক্ষণে জটিলতা।
  • Transparency: সংগঠন তথ্য লুকাতে পারে।
  • Ecosystem: বন্ধ বাস্তুতন্ত্রের কারণে নেটওয়ার্ক অংশগ্রহণে ইনসেন্টিভ কম।

ব্যবহার:
স্বাস্থ্যসেবা, সরকারি, রিয়েল এস্টেট, আর্থিক কোম্পানিতে কার্যকর। যেখানে ডেটা পাবলিক অ্যাক্সেসযোগ্য হলেও প্রাইভেটভাবে শিল্ড করা প্রয়োজন। উদাহরণ: Ripple network, XRP token।

সিনট্যাক্স (Python – Hybrid visibility):

python

class HybridBlockchain:
    def __init__(self):
        self.public_data = []
        self.private_data = {}

    def add_public(self, data):
        self.public_data.append(data)

    def add_private(self, key, value, authorized):
        self.private_data[key] = (value, authorized)

    def get_private(self, key, requester):
        value, authorized = self.private_data.get(key, (None, None))
        return value if requester in authorized else "Access denied"

ব্যাখ্যা:
কিছু ডেটা পাবলিক লেজারে থাকে, কিছু ডেটা অনুমোদিতদের জন্য লুকানো থাকে। এটি হাইব্রিড মডেলের মূল।


৪. Consortium Blockchain (কনসোর্টিয়াম ব্লকচেইন)

Consortium Blockchain (বা Federated Blockchain) সংগঠনের চাহিদা পূরণে একটি সৃজনশীল পদ্ধতি। এটি লেনদেন যাচাই এবং গ্রহণ/প্রেরণ করে। একাধিক সংগঠন মিলে ব্লকচেইন পরিচালনা করে; কিছু অংশ পাবলিক, কিছু অংশ প্রাইভেট।

সুবিধা:

  • Speed: সীমিত সংখ্যক ব্যবহারকারীর কারণে যাচাই দ্রুত।
  • Authority: একাধিক সংগঠন অংশ নিতে পারে, ফলে বিকেন্দ্রীভূত কর্তৃত্ব, বেশি নিরাপদ।
  • Privacy: চেক করা ব্লকের তথ্য পাবলিক ভিউতে থাকে না, কিন্তু সদস্যরা অ্যাক্সেস করতে পারে।
  • Flexible: অনেক নমনীয়তা, দ্রুত সিদ্ধান্ত নেওয়া যায়।

অসুবিধা:

  • Approval: সব সদস্যের সম্মতি প্রয়োজন, তাই কম নমনীয়; ভিন্ন স্বার্থের কারণে মতপার্থক্য হতে পারে।
  • Transparency: সংগঠন দুর্নীতিগ্রস্ত হলে হ্যাক হতে পারে; তথ্য লুকাতে পারে।
  • Vulnerability: অল্প কিছু নোড compromised হলে ঝুঁকি বাড়ে।

ব্যবহার:
ব্যবসা, ব্যাংক, পেমেন্ট প্রসেসরে উচ্চ সম্ভাবনা। খাদ্য ট্র্যাকিংয়ে সেক্টরগুলোর সহযোগিতায় আদর্শ। উদাহরণ: Tendermint, Multichain।

সিনট্যাক্স (Python – Consortium voting):

python

class ConsortiumBlockchain:
    def __init__(self, orgs):
        self.orgs = orgs  # list of org nodes
        self.required_approvals = len(orgs) // 2 + 1

    def validate_block(self, block):
        approvals = sum(1 for org in self.orgs if org.approves(block))
        return approvals >= self.required_approvals

class Org:
    def __init__(self, name):
        self.name = name
    def approves(self, block):
        # আসলে এখানে স্মার্ট ভ্যালিডেশন হবে
        return True

orgs = [Org("Org1"), Org("Org2"), Org("Org3")]
chain = ConsortiumBlockchain(orgs)
print(chain.validate_block("New block"))  # True

ব্যাখ্যা:
একাধিক সংগঠন মিলে ব্লক ভ্যালিডেট করে; সংখ্যাগরিষ্ঠ সম্মতি প্রয়োজন। এটি একক সংগঠনের কর্তৃত্ব কমায়।


📊 তুলনামূলক বিশ্লেষণ (Comparative Analysis)

বৈশিষ্ট্যPublic BlockchainPrivate BlockchainHybrid BlockchainConsortium Blockchain
Access Controlসবার জন্য উন্মুক্তনির্দিষ্ট অংশগ্রহণকারীদের জন্য সীমাবদ্ধপাবলিক ও প্রাইভেটের সংমিশ্রণএকাধিক সংগঠনের সীমাবদ্ধ গোষ্ঠী
Governanceবিকেন্দ্রীভূতকেন্দ্রীভূতআধা-বিকেন্দ্রীভূতমিশ্র শাসন কাঠামো
Transparencyউচ্চ স্বচ্ছতাকম স্বচ্ছতামাঝারি স্বচ্ছতাপরিবর্তনশীল স্বচ্ছতা
Scalabilityসীমিত স্কেলেবিলিটিউচ্চ স্কেলেবিলিটিমাঝারি স্কেলেবিলিটিউচ্চ স্কেলেবিলিটি সম্ভাবনা
Securityবিকেন্দ্রীকরণের কারণে উচ্চকেন্দ্রীকরণের কারণে কমমাঝারি নিরাপত্তাপরিবর্তনশীল নিরাপত্তা
Transaction Speedকনসেনসাসের কারণে ধীরদ্রুতপাবলিকের চেয়ে দ্রুত, প্রাইভেটের চেয়ে ধীরপরিবর্তনশীল গতি
Use Casesক্রিপ্টোকারেন্সি, ডিঅ্যাপএন্টারপ্রাইজ সলিউশন, ডেটা প্রাইভেসিসাপ্লাই চেইন, ব্যাংকিং, সহযোগিতানমনীয়তা প্রয়োজন এমন অ্যাপ্লিকেশন

📝 এক্সারসাইজ (হিন্টসহ)

Exercise 1: Public ও Private Blockchain ক্লাস তৈরি করো

কাজ: Python-এ দুটি ক্লাস লেখো: PublicChain যাতে যেকেউ যোগ দিতে পারে, এবং PrivateChain যাতে কেবল অনুমোদিত নোড যোগ দিতে পারে। join মেথড ব্যবহার করে পার্থক্য দেখাও।

হিন্ট:

  • PublicChain.join সবাইকে গ্রহণ করবে।
  • PrivateChain.join একটি authorized সেট চেক করবে।

Exercise 2: Permissionless Consensus সিমুলেট করো

কাজ: Proof of Work এর একটি সরল সংস্করণ লেখো, যেখানে difficulty=3 এবং nonce খুঁজে বের করো।

হিন্ট:

  • while লুপ, startswith('0' * difficulty)।

Exercise 3: Private Blockchain-এর Access Control (Solidity)

কাজ: একটি Solidity কন্ট্রাক্ট লেখো যেখানে authorized ম্যাপিং থাকবে এবং onlyAuthorized মডিফায়ার ব্যবহার করে গোপন ডেটা রিটার্ন করবে।

হিন্ট:

  • mapping(address => bool) public authorized;
  • modifier onlyAuthorized() { require(authorized[msg.sender], "Not authorized"); _; }

Exercise 4: Consortium Blockchain ভ্যালিডেশন সিমুলেট করো

কাজ: Python-এ তিনটি সংগঠনের একটি Consortium Blockchain তৈরি করো। প্রতিটি সংগঠন একটি ব্লক অনুমোদন করে কিনা সেটি ট্র্যাক করো এবং সংখ্যাগরিষ্ঠ ভোটে ব্লক গৃহীত হয় কিনা দেখাও।

হিন্ট:

  • Org ক্লাসে approves মেথড।
  • validate_block-এ approvals গণনা করো।

Exercise 5: Hybrid Blockchain ডেটা ভিজিবিলিটি

কাজ: একটি ক্লাস তৈরি করো যা public_data তালিকা এবং private_data ডিকশনারি ধারণ করে। get_private মেথডে অনুমোদিত না হলে "Access denied" রিটার্ন করো।

হিন্ট:

  • private_data-তে (value, authorized_list) সংরক্ষণ করো।
  • if requester in authorized_list চেক করো।

🧭 সমাধানের পথনির্দেশনা

  1. প্রথমে ব্লকচেইনের ধরন নির্ধারণ করো: কোন পরিবেশে কাজ করছ—পাবলিক, প্রাইভেট, হাইব্রিড না কনসোর্টিয়াম?
  2. অ্যাক্সেস কন্ট্রোল ডিজাইন করো: Permissionless হলে সবাই, Permissioned হলে authorized সেট বা ম্যাপিং।
  3. Consensus মেকানিজম বাছাই করো: PoW, PoS, বা ভোটিং সিস্টেম।
  4. ডেটা ভিজিবিলিটি ঠিক করো: পাবলিক ডেটা সবাই দেখবে, প্রাইভেট ডেটা কেবল অনুমোদিতরা।
  5. স্মার্ট কন্ট্রাক্ট ব্যবহার করো: প্রয়োজনে Solidity-তে অ্যাক্সেস কন্ট্রোল ও লজিক লিখে ডিপ্লয় করো।
  6. টেস্ট করো: বিভিন্ন নোড/ব্যবহারকারী যোগ করে দেখো অ্যাক্সেস নিয়ম কাজ করছে কিনা; ভ্যালিডেশন সঠিকভাবে ব্লক গ্রহণ/প্রত্যাখ্যান করছে কিনা।

📚 সারসংক্ষেপ

ব্লকচেইনের প্রধান চার প্রকার—Public, Private, Consortium, Hybrid—প্রতিটি নির্দিষ্ট উদ্দেশ্য ও চাহিদা পূরণ করে। Public ব্লকচেইন স্বচ্ছতা ও বিকেন্দ্রীকরণে গুরুত্ব দেয়, Private ব্লকচেইন গোপনীয়তা ও নিয়ন্ত্রণে, Consortium একাধিক সংগঠনের সহযোগিতায়, আর Hybrid উভয় জগতের মিশ্রণ। Understanding these types allows organizations to choose the most suitable blockchain architecture for their unique applications and goals. উপরের সিনট্যাক্স ও এক্সারসাইজগুলো অনুশীলন করলে আপনি ব্লকচেইনের প্রকারভেদ ও তাদের বাস্তব প্রয়োগ বুঝতে পারবেন।


এই পোস্টটি ToLearnTeam.com-এ প্রকাশের জন্য প্রস্তুত।
কোনো অংশ আরও বিস্তারিত করতে চাইলে জানাতে পারেন।

The post ব্লকচেইনের প্রকারভেদ: পাবলিক, প্রাইভেট, হাইব্রিড ও কনসোর্টিয়াম – সম্পূর্ণ বাংলা গাইড appeared first on To Learn Team.

]]>