
PYCARDANO COURSE
Module 1: Overview & Fundamentals
Video 06: Basic Concepts in Blockchain (Part 1)
Chủ đề: Blockchain fundamentals, Decentralization, Nodes & Consensus
- BLOCKCHAIN FUNDAMENTALS (CƠ BẢN VỀ BLOCKCHAIN)
Góc nhìn của Lập trình viên
Khác với góc nhìn tài chính, Developer cần hiểu Blockchain dưới dạng cấu trúc dữ liệu:
- Linked List (Danh sách liên kết): Blockchain là một chuỗi các khối (Blocks) nối tiếp nhau.
- Hash Pointer: Mỗi Block chứa mã băm (Hash) của Block liền trước nó.
- Tính Bất biến (Immutability): Bất kỳ thay đổi nhỏ nào ở dữ liệu quá khứ sẽ làm thay đổi Hash, khiến chuỗi liên kết bị phá vỡ (Invalid Chain).
Máy trạng thái (State Machine)
- Blockchain hoạt động như một máy trạng thái sao chép (Replicated State Machine).
- Công thức: Trạng thái mới = Apply(Trạng thái cũ, Giao dịch)
- Nhiệm vụ của mạng lưới là đảm bảo tất cả các Node đều đồng nhất về trạng thái hiện tại.
- DECENTRALIZATION & NODES (PHI TẬP TRUNG & NODES)
Web2 vs. Web3
- Web2 (Centralized): Client-Server. Có điểm chết duy nhất (Single Point of Failure). Dữ liệu phụ thuộc vào nhà cung cấp (Google, AWS).
- Web3 (Decentralized): P2P Mesh Network. Khả năng tự phục hồi (Self-healing). Dữ liệu được phân tán toàn cầu.
|
Tiêu chí |
Centralized |
Decentralization |
|
Kiểm soát |
Một thực thể duy nhất |
Phân tán trên mạng lưới |
|
Cấu trúc |
Máy chủ trung tâm (Server) |
Ngang hàng (P2P Network) |
|
Điểm lỗi |
Điểm lỗi duy nhất (Dễ sập) |
Khả năng phục hồi cao (Bền vững) |
|
Tin cậy |
Cần tin bên trung gian |
Không cần tin (Trustless) |
|
Bảo mật |
Phụ thuộc vào tổ chức |
Dựa trên mật mã & đồng thuận |
|
Minh bạch |
Thấp (Dữ liệu nội bộ) |
Cao (Sổ cái công khai) |
|
Ví dụ |
Ngân hàng, Facebook, Google |
Cardano, Bitcoin |
- Cardano Node
Mạng lưới được vận hành bởi phần mềm cardano-node (Mã nguồn mở tại: github.com/IntersectMBO/cardano-node).
- Relay Nodes:
- Đóng vai trò “Người vận chuyển” và “Lá chắn”.
- Kết nối với Public Internet, bảo vệ Core Node khỏi tấn công DDoS.
- Block Producer Nodes (Core Nodes):
- Đóng vai trò “Người thợ”.
- Ẩn mình sau Relay Node, giữ khóa bí mật để ký và đóng Block.
Mô hình cho Python Developer
Để phát triển dApp, bạn sử dụng mô hình Light Client:
- Code PyCardano (trên máy bạn) 🡪 API Gateway (Blockfrost/Ogmios) 🡪 Cardano Network.
- CONSENSUS: OUROBOROS PROOF-OF-STAKE
Cơ chế đồng thuận
Cardano sử dụng giao thức Ouroboros (PoS) thay vì Proof-of-Work (PoW).
- Tiết kiệm năng lượng: Không cần máy đào tốn điện.
- Cơ chế xổ số (Lottery): Dựa trên lượng ADA nắm giữ (Stake) để chọn người đóng Block.
Mô hình thời gian (Time Model)
Hệ thống thời gian của Cardano được chia như sau:
- Epoch (Kỷ nguyên): 5 ngày (432,000 slots).
- Slot (Khe thời gian): 1 giây.
- Slot Leader: Tại mỗi giây, thuật toán VRF chọn ngẫu nhiên một Node làm Leader để đóng Block.
Lưu ý quan trọng cho Developer: Probabilistic Finality
- Giao dịch trên Cardano cần thời gian để đạt được tính xác thực cuối cùng (Finality).
- Khi code báo Submitted, giao dịch mới chỉ vào Mempool. Cần chờ khoảng 20s – 60s để đảm bảo giao dịch không bị đảo ngược.
- Tổng kết
Nội dung:
- Blockchain là chuỗi các khối khối (blocks) chứa dữ liệu giao dịch liên kết với nhau
- Cardano là mạng P2P phi tập trung.
- PyCardano kết nối thông qua Blockfrost API.
- Ouroboros PoS sử dụng Epoch & Slot.
Next Video: Basic concepts in Blockchain (Part 2)
- Transactions
- Blocks
- Addresses
- Wallets
- UTxO model
