Skip to main content

One post tagged with "Cryptography"

View All Tags

Kiến trúc và Cấu trúc của Blockchain - Nền tảng công nghệ

· 5 min read

Bootcamp Blockchain Mastery

Kiến trúc và Cấu trúc của Blockchain

Hiểu rõ kiến trúc blockchain là bước đầu tiên quan trọng trong hành trình học blockchain. Bài viết này sẽ giúp bạn nắm vững các khái niệm cơ bản về cấu trúc và cách hoạt động của blockchain.

Blockchain là gì?

Blockchain là một distributed ledger (sổ cái phân tán) - một cơ sở dữ liệu được chia sẻ và đồng bộ trên nhiều máy tính (nodes) trong một mạng lưới. Mỗi bản ghi trong blockchain được gọi là một "block" và các block được liên kết với nhau tạo thành một "chain" (chuỗi).

So sánh với cơ sở dữ liệu truyền thống

Đặc điểmDatabase truyền thốngBlockchain
Quản lýTập trungPhân tán
Kiểm soátMột tổ chứcToàn bộ mạng lưới
Bảo mậtPhụ thuộc quản trị viênCryptographic
ImmutabilityCó thể sửa/xóaKhông thể sửa/xóa
TransparencyHạn chếHoàn toàn minh bạch

Cấu trúc của Block

Một block trong blockchain thường chứa:

Block Header

  • Previous Hash: Hash của block trước đó (tạo liên kết)
  • Merkle Root: Hash của tất cả transactions trong block
  • Timestamp: Thời gian block được tạo
  • Nonce: Số ngẫu nhiên dùng trong mining
  • Difficulty Target: Độ khó của mining

Block Body

  • Transaction List: Danh sách các giao dịch được xác nhận
  • Block Size: Kích thước của block

Hash Function và Cryptographic Hashing

Hash function là một hàm toán học chuyển đổi dữ liệu đầu vào thành một chuỗi ký tự có độ dài cố định.

Tính chất của Hash Function

  1. Deterministic: Cùng input → cùng output
  2. Fast Computation: Tính toán nhanh
  3. One-way: Không thể reverse từ hash về input
  4. Avalanche Effect: Thay đổi nhỏ trong input → hash hoàn toàn khác
  5. Collision Resistant: Rất khó tìm hai input có cùng hash

Ví dụ về SHA-256

Input: "Hello Blockchain"
SHA-256: a8b3c4d5e6f7... (64 ký tự hex)

Merkle Tree và Merkle Root

Merkle Tree là cấu trúc cây nhị phân được sử dụng để tổng hợp tất cả transactions trong một block.

Lợi ích của Merkle Tree

  • Verification nhanh: Kiểm tra transaction không cần download toàn bộ block
  • Efficient Storage: Lưu trữ hiệu quả
  • Proof of Inclusion: Chứng minh transaction có trong block

Cách hoạt động

        Merkle Root (Hash)
/\
/ \
/ \
Hash1-2 Hash3-4
/\ /\
/ \ / \
Hash1 Hash2 Hash3 Hash4
/\ /\ /\ /\
Txn1 Txn2 Txn3 Txn4

Blockchain Network và Nodes

Types of Nodes

  1. Full Node: Lưu trữ toàn bộ blockchain
  2. Light Node: Chỉ lưu trữ headers
  3. Mining Node: Tham gia quá trình mining
  4. Archive Node: Lưu trữ toàn bộ lịch sử + state changes

Network Topology

  • P2P (Peer-to-Peer): Các nodes kết nối trực tiếp với nhau
  • No Central Authority: Không có server trung tâm
  • Consensus: Tất cả nodes phải đồng thuận về state

Consensus Mechanisms

Consensus mechanism đảm bảo tất cả nodes trong mạng đồng ý về trạng thái của blockchain.

Proof of Work (PoW)

  • Cách hoạt động: Nodes cạnh tranh giải bài toán cryptographic
  • Ưu điểm: Bảo mật cao, đã được chứng minh (Bitcoin)
  • Nhược điểm: Tốn năng lượng, chậm

Proof of Stake (PoS)

  • Cách hoạt động: Validators được chọn dựa trên số coin stake
  • Ưu điểm: Tiết kiệm năng lượng, nhanh hơn PoW
  • Nhược điểm: Cần vốn lớn để stake

Delegated Proof of Stake (DPoS)

  • Cách hoạt động: Người dùng bầu chọn delegates để validate
  • Ưu điểm: Nhanh và hiệu quả
  • Nhược điểm: Có thể tập trung hóa

Immutability - Tính bất biến

Tại sao Blockchain không thể sửa đổi?

  1. Hash Chain: Mỗi block chứa hash của block trước
  2. Distributed: Dữ liệu được lưu trên nhiều nodes
  3. Cryptographic Security: Hash function không thể reverse

Ví dụ tấn công

Nếu muốn sửa block số 5:

  • Block 5 hash thay đổi
  • Block 6's Previous Hash không khớp
  • Phải sửa tất cả block sau
  • Cần 51% hash power → Gần như không thể

Lịch sử từ Bitcoin đến Ethereum

Bitcoin (2009)

  • Blockchain đầu tiên
  • Proof of Work
  • Focus: Digital currency

Ethereum (2015)

  • Smart contracts
  • Turing-complete programming
  • Focus: Decentralized applications

Modern Blockchains

  • Layer 2 solutions
  • Cross-chain bridges
  • Scalability improvements

Ứng dụng thực tế

Blockchain được ứng dụng trong:

  • Finance: Cryptocurrency, DeFi
  • Supply Chain: Tracking và verification
  • Healthcare: Medical records
  • Voting: Secure voting systems
  • Identity: Digital identity management

Kết luận

Hiểu rõ kiến trúc blockchain là nền tảng để phát triển các ứng dụng blockchain. Các khái niệm về hash, Merkle tree, consensus là cốt lõi của mọi blockchain hiện đại.

Tiếp tục học trong Bootcamp Blockchain Mastery để nắm vững các chủ đề nâng cao hơn!