Pycardano: The Ultimate Course for Python and AI Developers
About Lesson

PYCARDANO COURSE HANDOUT

Module 1: Overview & Fundamentals

Video 07: Basic Concepts in Blockchain (Part 2)

Chủ đề: Data Structures & The UTxO Model

  1. MÔ HÌNH UTxO (UNSPENT TRANSACTION OUTPUT)

Đây là khái niệm quan trọng nhất để lập trình giao dịch thành công.

So sánh tư duy

  • Account Model (Ethereum/Bank): Cập nhật số dư (Balance Update). Giống bảng Excel.
  • UTxO Model (Cardano/Cash): Tiêu hủy đầu vào 🡪Tạo đầu ra mới. Giống tiêu tiền mặt.

Cơ chế hoạt động

Mỗi UTxO là một “cục tiền” nguyên khối.

  • Input: Là UTxO chưa tiêu. Khi dùng làm Input, nó bị tiêu hủy hoàn toàn.
  • Output: Là UTxO mới được tạo ra.

Quy tắc cân bằng:

Input_Total = Output_Total + Fee 

Change Address (Địa chỉ tiền thối)

Nếu Input (500 ADA) lớn hơn số tiền cần chuyển (10 ADA), bạn BẮT BUỘC phải tạo một Output trả lại (490 ADA – Fee) cho chính mình.

  • Cảnh báo: Nếu quên tạo Change Output, toàn bộ số tiền thừa sẽ bị mất (xem như phí giao dịch).
  1. TRANSACTION & BLOCKS (GIAO DỊCH & KHỐI)

Cấu tạo Giao dịch (Transaction Anatomy)

Một giao dịch hợp lệ bao gồm:

  1. Inputs: Danh sách tham chiếu UTxO (TxHash + Index).
  2. Outputs: Danh sách người nhận (Address + Value).
  3. Fee: Phí mạng lưới (tính theo Byte).
  4. TTL (Time-to-Live): Thời hạn hiệu lực của giao dịch.
  5. Witnesses: Chữ ký số (Signatures) từ ví người gửi.

Khối (Blocks)

  1. Block Header (Phần đầu):
  • Chứa Metadata: Slot number, Block Height.
  • PrevHash: Mã băm của khối trước (Tạo nên dây xích Blockchain).
  • Ứng dụng: Các ví Light Wallet (như Nami, Yoroi) chỉ tải Header để đồng bộ cho nhanh.
  1. Block Body (Phần thân):
  • Chứa danh sách các Giao dịch (Transactions).
  • Đây là nơi code Python của bạn gửi dữ liệu vào.

Constraints (Giới hạn):

  • Kích thước tối đa: ~90KB / Block.
  • Dev Note: Phải tối ưu kích thước giao dịch (Tx Size) để không bị mạng lưới từ chối.

 

  1. WALLETS & ADDRESSES (VÍ & ĐỊA CHỈ)

Trong Cardano, ví (wallet) không chứa tiền.
Điều mà wallet thực sự chứa là:

(1) Private keys

  • Khoá bí mật để ký giao dịch
  • Không bao giờ rời khỏi thiết bị người dùng
  • Ai có private key → sở hữu tài sản

(2) Public keys

  • Được dùng để sinh ra địa chỉ (address)
  • Có thể công khai mà không ảnh hưởng đến bảo mật

(3) Metadata của tài khoản

  • Danh sách UTxO đang thuộc ví
  • Lịch sử giao dịch
  • Network (mainnet/testnet)
  • Seed phrase (24 từ) → sinh ra toàn bộ ví

➡️ Wallet chỉ là bộ sinh khoá + trình quản lý UTxO, không phải “ngân hàng” giữ tiền.

 

Ví phân cấp xác định (HD Wallet)

  • Sử dụng chuẩn BIP-39.
  • Từ 1 chuỗi Seed Phrase (24 từ khóa), có thể tạo ra cây thư mục chứa vô số cặp khóa Private/Public.

Cấu trúc Địa chỉ (addr1…)

Địa chỉ Cardano bao gồm 2 phần ghép lại:

  1. Payment Credential (Payment Part):
    • Là Hash của Public Key.
    • Quyết định ai có quyền tiêu tiền.
  2. Staking Credential (Staking Part):
    • Là Hash của Stake Key.
    • Quyết định quyền ủy thác (Delegation) và nhận thưởng.
  • Lợi ích: Tách biệt quyền tiêu tiền và quyền Staking (Liquid Staking).
Exercise Files
Yellow and Black Simple Deep Sleep Music Playlist YouTube Thumbnail.png
Size: 367.48 KB