ব্লকচেইন টিউটোরিয়াল – পার্ট ১: ব্লকচেইন প্রযুক্তির পরিচিতি

Blog / ব্লকচেইন টিউটোরিয়াল – পার্ট ১: ব্লকচেইন প্রযুক্তির পরিচিতি

ব্লকচেইন টিউটোরিয়াল – পার্ট ১: ব্লকচেইন প্রযুক্তির পরিচিতি Detail Page

ব্লকচেইন টিউটোরিয়াল – পার্ট ১: ব্লকচেইন প্রযুক্তির পরিচিতি

Blockchain Tutorial Part 1 in Bangla – Introduction to Blockchain Technology with blocks, hash links, and network nodes on a dark blue background.

ব্লকচেইন হলো একটি বৈপ্লবিক প্রযুক্তি যা একটি শেয়ার্ড, অপরিবর্তনীয় ডিজিটাল লেজার হিসেবে কাজ করে। নাম থেকেই বোঝা যায়—ডেটা থাকে ব্লকে, আর প্রতিটি নতুন ব্লক আগের ব্লকের সঙ্গে যুক্ত হয়ে তৈরি করে চেইন। এই গঠনের কারণেই একে বলা হয় Blockchain

প্রতিটি ব্লকে গুরুত্বপূর্ণ ডেটা থাকে, যেমন লেনদেনের তালিকা, টাইমস্ট্যাম্প এবং একটি ইউনিক আইডেন্টিফায়ার—যাকে বলে ক্রিপ্টোগ্রাফিক হ্যাশ। এই হ্যাশ তৈরি হয় ব্লকের কনটেন্ট এবং আগের ব্লকের হ্যাশ থেকে। ফলে প্রতিটি ব্লক আগের ব্লকের সঙ্গে শক্তভাবে বাঁধা থাকে।

ব্লকচেইনের এই লিংকড স্ট্রাকচারের কারণে কোনো ডেটা পরিবর্তন করলে হ্যাশ বদলে যায় এবং চেইন ভেঙে যায়—তাই টেম্পারিং ধরা পড়ে।


🔍 ব্লকচেইন কিভাবে কাজ করে?

ব্লকচেইনের সবচেয়ে বিখ্যাত ব্যবহার Bitcoin। Bitcoin একটি ক্রিপ্টোকারেন্সি, যা অনলাইনে ডিজিটাল সম্পদ লেনদেনে ব্যবহৃত হয়। Bitcoin থার্ড-পার্টি ট্রাস্টের বদলে ক্রিপ্টোগ্রাফিক প্রুফ ব্যবহার করে, যাতে দুই পক্ষ ইন্টারনেটে সরাসরি লেনদেন করতে পারে। প্রতিটি লেনদেন ডিজিটাল সিগনেচার দিয়ে সুরক্ষিত থাকে।

🔐 ডিজিটাল সিগনেচার – সিনট্যাক্স

python

# Concept: Private key signs, public key verifies
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding, rsa

private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()

message = b"Transaction: Alice pays Bob 2.5 BTC"
signature = private_key.sign(message, padding.PKCS1v15(), hashes.SHA256())

# Verify
try:
    public_key.verify(signature, message, padding.PKCS1v15(), hashes.SHA256())
    print("Signature valid")
except:
    print("Invalid signature")

🌐 ব্লকচেইন ডিসেন্ট্রালাইজেশন (Decentralization)

ব্লকচেইনের ডেটা কোনো সেন্ট্রাল সার্ভার বা সিস্টেমে থাকে না। ডেটা ছড়িয়ে থাকে বিশ্বের লক্ষ লক্ষ কম্পিউটারে, যারা ব্লকচেইন নেটওয়ার্কের সঙ্গে যুক্ত। এই ব্যবস্থায় প্রতিটি নোডে ডেটা থাকে এবং সেটি পাবলিকলি ভেরিফায়েবল।

📦 Distributed Ledger – সিনট্যাক্স

javascript

// Distributed ledger concept: Each node holds a copy
const nodes = new Set();

function addNode(node) {
  nodes.add(node);
  console.log(`Node added. Total nodes: ${nodes.size}`);
}

function broadcast(block) {
  for (const node of nodes) {
    node.receiveBlock(block);
  }
}

🖥️ ব্লকচেইন নোড (Nodes) ও মাইনার

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

যে নোড লেনদেন এক্সিকিউট করে এবং ইনসেন্টিভ পায়, তাকে মাইনার বলা হয়।

🧾 Node – সিনট্যাক্স

javascript

class Node {
  constructor(address) {
    this.address = address;
    this.blockchain = []; // local copy of blockchain
  }

  receiveBlock(block) {
    this.blockchain.push(block);
    console.log(`Block received from ${this.address}`);
  }
}

⚠️ বর্তমান লেনদেন ব্যবস্থার অসুবিধা

  • ক্যাশ শুধুমাত্র লোকাল কম-মূল্যের লেনদেনে ব্যবহার করা যায়।
  • লেনদেন প্রসেসে অনেক সময় লাগে।
  • থার্ড-পার্টি ভেরিফিকেশন ও এক্সিকিউশন প্রক্রিয়াকে জটিল করে তোলে।
  • ব্যাংকের মতো সেন্ট্রাল সার্ভার কম্প্রোমাইজড হলে পুরো সিস্টেম ক্ষতিগ্রস্ত হয়।
  • ভ্যালিডেশনকারী প্রতিষ্ঠান বেশি চার্জ নেয়, ফলে খরচ বাড়ে।

🤝 ব্লকচেইনে বিশ্বাস (Trust) গড়ে তোলে যে ৫টি বৈশিষ্ট্য

  1. Distributed: লেজারটি শেয়ার্ড এবং প্রতিটি নতুন লেনদেনের সাথে আপডেট হয়।
  2. Secure: পারমিশন ও ক্রিপ্টোগ্রাফির মাধ্যমে অননুমোদিত অ্যাক্সেস বন্ধ হয়।
  3. Transparent: প্রতিটি নোডে ডেটার কপি থাকে, তাই সবাই লেনদেন দেখতে পারে।
  4. Consensus-based: সব অংশগ্রহণকারী একটি লেনদেন ভ্যালিড কিনা তা একমত হয়।
  5. Flexible: স্মার্ট কন্ট্রাক্ট লেখা যায়, যা নির্দিষ্ট শর্তে নিজে থেকেই কাজ করে।

🧱 ব্লকচেইনের মূল উপাদান (Key Components) এবং সিনট্যাক্স

১. Distributed Ledger

javascript

// Shared ledger: all nodes have same data
const ledger = [
  { txId: 1, from: "Alice", to: "Bob", amount: 2.5 },
  { txId: 2, from: "Bob", to: "Charlie", amount: 1.0 }
];

function syncLedger(node) {
  node.ledger = [...ledger]; // copy to node
}

২. Block

json

{
  "index": 1,
  "timestamp": 1690900000,
  "transactions": [
    { "from": "Alice", "to": "Bob", "amount": 2.5 }
  ],
  "previousHash": "0000abc...",
  "hash": "0000def...",
  "nonce": 12345
}

৩. Cryptography (Hashes & Signatures)

python

import hashlib

def calculate_hash(index, previous_hash, timestamp, data, nonce):
    block_string = f"{index}{previous_hash}{timestamp}{data}{nonce}"
    return hashlib.sha256(block_string.encode()).hexdigest()

৪. Consensus Mechanism – Proof of Work

python

def proof_of_work(block, difficulty):
    block.nonce = 0
    while not block.hash.startswith("0" * difficulty):
        block.nonce += 1
        block.hash = calculate_hash(block.index, block.previous_hash, block.timestamp, block.data, block.nonce)
    return block

৫. Smart Contract

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);
    }
}

📜 ব্লকচেইনের ইতিহাস ও বিবর্তন

  • 1982: ক্রিপ্টোগ্রাফার David Chaum একটি প্রোটোকল প্রস্তাব করেন, যা ব্লকচেইনের মতোই নিরাপদ তথ্য আদান-প্রদানের কথা বলে।
  • 1990-এর দশক: Stuart Haber ও W. Scott Stornetta প্রথম ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত চেইন অব ব্লক তৈরি করেন। তাঁরা হ্যাশিং দিয়ে ডকুমেন্ট টাইম-স্ট্যাম্প করতেন, যাতে টেম্পারিং বন্ধ হয়।
  • 1992: Merkle tree উন্নত হয়, যা দক্ষতা বাড়ায়।
  • 2008: Satoshi Nakamoto ছদ্মনামে একটি হোয়াইট পেপার প্রকাশিত হয় এবং Bitcoin তৈরি হয়। এটি ডিজিটাল মানির double-spending সমস্যা সমাধান করে।
  • 2015: Vitalik Buterin Ethereum লঞ্চ করেন। স্মার্ট কন্ট্রাক্ট যুক্ত হয়ে ব্লকচেইন Blockchain 2.0-এ প্রবেশ করে, যেখানে DApps তৈরি করা যায়।

💼 ব্লকচেইনের অ্যাপ্লিকেশন

  • ব্যাংকিং: Credit Suisse, JP Morgan, Goldman Sachs ব্লকচেইনে বিনিয়োগ করছে।
  • অ্যাকাউন্টিং: Deloitte, PwC, KPMG, EY ব্লকচেইন-ভিত্তিক সফটওয়্যার ব্যবহার করছে।
  • এয়ারলাইন: Russian Airlines, Winding Tree, Lufthansa টিকিট ও পেমেন্টে ব্লকচেইন ব্যবহার করছে।
  • সাপ্লাই চেইন: Walmart, Unilever, DHL পণ্যের উৎস ও মান ট্র্যাক করছে।
  • স্বাস্থ্যসেবা: Pfizer ইনভেন্টরি ম্যানেজমেন্টে ব্লকচেইন ব্যবহার করছে।
  • সরকার: দুবাই সরকার পুরো শহরকে ব্লকচেইনে চালানোর পরিকল্পনা করছে।

🔒 ব্লকচেইন কি নিরাপদ?

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

💀 ৫১% অ্যাটাক

ধরা যাক, একজন হ্যাকার ব্লকচেইন নেটওয়ার্কে একটি নোড চালায় এবং সবাইকে ঠকাতে চায়। তাকে তার পরিবর্তিত কপিটি বৈধ প্রমাণ করতে হবে। এর জন্য তাকে নেটওয়ার্কের ৫০% এর বেশি নিয়ন্ত্রণ নিতে হবে। একে 51% attack বলা হয়।

টাইমিং এখানে সবকিছু—হ্যাকার পদক্ষেপ নেওয়ার আগেই নেটওয়ার্ক ব্লকগুলো অতিক্রম করে ফেলে।


🧪 ব্লকচেইন প্রজেক্ট আইডিয়া

  • Cryptocurrency Wallet: ব্যবহারকারীদের ডিজিটাল অ্যাসেট পাঠানো ও গ্রহণের অ্যাপ।
  • Blockchain Explorer: নির্দিষ্ট ব্লকচেইনে লেনদেন দেখার ওয়েব অ্যাপ।
  • Smart Contract: Ethereum-এ ডিজিটাল টোকেন ম্যানেজ করার কন্ট্রাক্ট।
  • Voting System: নিরাপদ ও স্বচ্ছ ভোটিং সিস্টেম।
  • Supply Chain Management: পণ্যের গতিবিধি ট্র্যাক করার সিস্টেম।
  • Decentralized Marketplace: মধ্যস্বত্বভোগী ছাড়া সরাসরি কেনাবেচার প্ল্যাটফর্ম।
  • Identity Management: ব্যক্তিগত তথ্য নিয়ন্ত্রণ ও নিরাপদ শেয়ারিং সিস্টেম।

🚀 ব্লকচেইনের ভবিষ্যৎ সম্ভাবনা

  • Digital Identity: ব্যক্তিগত ডেটা নিরাপদে সংরক্ষণ।
  • Smart Contracts: আইনি ও আর্থিক লেনদেন অটোমেশন।
  • DeFi: ব্যাংক ছাড়া পিয়ার-টু-পিয়ার আর্থিক সিস্টেম।
  • Supply Chain: পণ্যের সম্পূর্ণ ইতিহাস স্বচ্ছভাবে ট্র্যাক।
  • IoT: ডিভাইসগুলোর মধ্যে নিরাপদ যোগাযোগ।

✅ ব্লকচেইনের সুবিধা

  • Decentralization: মধ্যস্বত্বভোগী ছাড়া কম খরচ ও বেশি স্বচ্ছতা।
  • Security: ক্রিপ্টোগ্রাফি দিয়ে লেনদেন সুরক্ষিত।
  • Transparency: সব পক্ষ একই তথ্য দেখতে পায়।
  • Efficiency: দ্রুত লেনদেন প্রসেসিং।
  • Trust: নিরাপদ ও স্বচ্ছ প্রকৃতি বিশ্বাস তৈরি করে।

❌ ব্লকচেইনের অসুবিধা

  • Scalability: বড় অ্যাপ্লিকেশনে স্কেল করা কঠিন।
  • Energy Consumption: মাইনিংয়ে প্রচুর বিদ্যুৎ খরচ হয়।
  • Adoption: টেকনিক্যাল জটিলতার কারণে গ্রহণ ধীর।
  • Regulation: নিয়ন্ত্রণ কাঠামো এখনও প্রাথমিক পর্যায়ে।
  • Lack of Standards: স্ট্যান্ডার্ড প্রোটোকলের অভাব।

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

Exercise 1: Block ক্লাস তৈরি করুন

কাজ: Python বা JavaScript-এ একটি Block ক্লাস লেখো, যাতে indextimestampdatapreviousHashhash প্রপার্টি থাকবে এবং হ্যাশ ক্যালকুলেট হবে।

হিন্ট:

  • sha256 ব্যবহার করো।
  • হ্যাশ ক্যালকুলেশনে সব প্রপার্টি একসাথে যোগ করো।

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

কাজ: একটি ফাংশন লেখো যা ব্লকের হ্যাশ "00" দিয়ে শুরু না হওয়া পর্যন্ত nonce বাড়াবে।

হিন্ট:

  • লুপ চালাও।
  • startswith("00") চেক করো।

Exercise 3: পিয়ার-টু-পিয়ার নেটওয়ার্ক সিমুলেট করো

কাজ: তিনটি নোড তৈরি করো এবং একটি ব্লক ব্রডকাস্ট করো।

হিন্ট:

  • Set বা অ্যারে ব্যবহার করে নোড রাখো।
  • প্রতিটি নোডে receiveBlock() মেথড থাকবে।

Exercise 4: স্মার্ট কন্ট্রাক্ট লিখো

কাজ: Solidity-তে একটি ভোটিং কন্ট্রাক্ট লেখো, যেখানে প্রার্থী ভোট পেতে পারবেন।

হিন্ট:

  • mapping(address => bool) ব্যবহার করো।
  • require দিয়ে ডাবল ভোট বন্ধ করো।

Exercise 5: টেম্পারিং ডিটেক্ট করো

কাজ: একটি ব্লকচেইন অ্যারেতে মাঝের একটি ব্লকের ডেটা বদলে দাও, তারপর চেইন ভ্যালিড কিনা চেক করো।

হিন্ট:

  • প্রতিটি ব্লকের hash আবার ক্যালকুলেট করে দেখো।
  • আগের ব্লকের previousHash মিলছে কিনা চেক করো।

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

  1. প্রথমে ডেটা স্ট্রাকচার ঠিক করো: ব্লকে কোন ফিল্ড থাকবে তা লিখে ফেলো।
  2. হ্যাশ ফাংশন আলাদা করো: যাতে পরবর্তীতে সহজে বদলানো যায়।
  3. একটি জেনেসিস ব্লক বানাও: প্রথম ব্লকের previousHash শূন্য বা 0 দিতে হবে।
  4. চেইন ভ্যালিডেশন ফাংশন লেখো: প্রতিটি ব্লকের হ্যাশ ও previousHash মিলছে কিনা পরীক্ষা করো।
  5. কনসেনসাস যোগ করো: প্রথমে সহজ proof-of-work ব্যবহার করো, পরে চাইলে proof-of-stake দেখতে পারো।
  6. টেস্ট করো: একটি ব্লক পরিবর্তন করে দেখো চেইন ভেঙে যায় কিনা।

📚 সারসংক্ষেপ

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


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

Leave a Reply

Welcome to To Learn Team, a dynamic educational platform where knowledge meets collaboration. Designed for students, educators, and lifelong learners, we provide a curated hub of interactive study groups, expert tutorials, and comprehensive resources across diverse subjects. We believe that learning is most powerful when done together. By uniting a global community, we transform curiosity into confidence and individual aspirations into shared achievements. Join the To Learn Team today—elevate your intellect and grow with us!

Get In Touch

Address

Dhaka, Bangladesh

Email

abir43tee@gmail.com

Phone

+880 1711427737

Quick Search