Tài sản mã hóaiCapital4 phút đọc

UTXO, input và output: Bitcoin ghi nhận khoản có thể chi tiêu thế nào?

Nội dung giáo dục và nghiên cứu, không phải tư vấn đầu tư cá nhân.

UTXO là đầu ra giao dịch chưa được chi tiêu, viết tắt của unspent transaction output. Hiểu UTXO giúp giải thích vì sao một giao dịch Bitcoin có thể tạo cả khoản trả cho người nhận lẫn tiền thừa, dù giao diện ví chỉ hiển thị một con số tổng.

Từ khoản nhận trước tới khoản chi sau

Trong giao dịch thông thường, đầu vào (input) tham chiếu một đầu ra (output) của giao dịch trước. Khi đầu ra đó còn chưa bị tiêu, nó thuộc tập UTXO. Giao dịch mới tiêu đầu ra cũ và tạo đầu ra mới; ngoại lệ coinbase có cấu trúc phát hành riêng. Nguồn: Bitcoin Developer Guide, Transactions — Introduction.

Một cách hình dung là các khoản có thể chi, mỗi khoản mang giá trị và điều kiện sử dụng. Phép hình dung này chỉ giúp đọc cấu trúc: UTXO không phải tờ tiền số có thể chuyển nguyên hình từ thiết bị này sang thiết bị khác. Ví phải theo dõi những khoản mà nó có thể sử dụng rồi cộng chúng thành số dư hiển thị.

Một giao dịch thay đổi tập UTXO ra sao?

Có thể theo dõi cơ chế qua bốn bước:

  1. Phần mềm chọn khoản chưa chi phù hợp làm input.
  2. Nó xây output cho người nhận và, khi cần, output tiền thừa do người gửi kiểm soát.
  3. Nó cung cấp dữ liệu đáp ứng điều kiện chi tiêu của input.
  4. Khi nút xác minh khối chứa giao dịch và đưa khối vào chuỗi đang hoạt động, nút bỏ đầu ra đã tiêu khỏi tập UTXO xác nhận và ghi nhận các đầu ra mới có thể chi tiêu sau đó.

Đây là cập nhật trạng thái của chuỗi đang hoạt động. Khi nút xét nhận giao dịch vào mempool, giao dịch vẫn ở trạng thái chờ. Nguồn: Bitcoin Core v30.0, validation.cpp — ConnectBlock và MemPoolAccept.

Input tiêu toàn bộ giá trị đầu ra được tham chiếu. Muốn giữ lại một phần, giao dịch phải tạo output tiền thừa; nó không sửa giá trị còn lại ngay trên UTXO cũ. Nguồn: Bitcoin Developer Guide, Transactions — Spending An Output.

Ví dụ kiểm tra được

Giả định một input trị giá 100.000 satoshi, đơn vị nhỏ của BTC. Giao dịch tạo 70.000 satoshi cho người nhận và 29.000 satoshi tiền thừa. Chênh lệch 1.000 satoshi là phí:

100.000 = 70.000 + 29.000 + 1.000.

Đây là số giả định để kiểm tra phép cân đối, không phải mức phí được quan sát hay đề xuất sử dụng. Với giao dịch thông thường, phí được xác định bằng tổng input trừ tổng output. Mempool và phí giao dịch Bitcoin giải thích tiếp vì sao tổng phí chưa đủ để so sánh ưu tiên giao dịch. Nguồn: Bitcoin Developer Guide, Block Chain — Transaction Propagation.

Script là điều kiện, không phải danh tính

Output gắn với điều kiện chi tiêu bằng Bitcoin Script. Giao dịch sau phải cung cấp dữ liệu đáp ứng điều kiện đó. Một chữ ký có thể tham gia quá trình này, nhưng không nên biến ví dụ chữ ký đơn thành quy tắc cho mọi loại output. Nguồn: Bitcoin Developer Guide, Transactions — Spending An Output.

Trang Chữ ký số giải thích xác minh chữ ký; trang Khóa riêng, khóa công khai và địa chỉ giải thích các thông tin liên quan. Điều kiện hợp lệ về giao thức tự nó không xác minh danh tính pháp lý của người ký.

Hai ngộ nhận cần tránh

“Ví có một tài khoản trên blockchain” dễ làm mất dấu các khoản đầu ra riêng biệt. Còn “tiền thừa là khoản hoàn tiền từ người nhận” cũng sai mô hình: tiền thừa là output khác được xây trong chính giao dịch. Khi kiểm tra ví dụ, hãy nhìn từng input, output và phép cân đối thay vì chỉ nhìn tổng số dư.

Ví dụ giả định: một UTXO 100.000 sat được tiêu hết, tạo output 70.000 sat cho người nhận và 29.000 sat tiền thừa; 1.000 sat chênh lệch là phí.

Kết luận

Bitcoin không ghi số dư tài khoản mà ghi các đầu ra chưa được chi tiêu (UTXO); mỗi giao dịch tiêu UTXO cũ và tạo UTXO mới. Vì thế, một giao dịch thường có cả khoản trả cho người nhận và khoản tiền thừa quay về người gửi, phần chênh lệch còn lại là phí. Con số tổng trên ví là cách hiển thị gộp các khoản đầu ra riêng biệt đó.

Đọc tiếp

Đọc hành trình đầy đủ tại Mạng Bitcoin vận hành thế nào, xem quyền kiểm soát tại Ví và khóa riêng tư, hoặc trở lại Thư viện thuật ngữ.

Lưu ýBài viết nhằm mục đích cung cấp thông tin và giáo dục, không phải tư vấn đầu tư, pháp lý hay thuế và không phải khuyến nghị mua, bán hoặc nắm giữ bất kỳ tài sản mã hóa nào. Tài sản mã hóa có rủi ro cao, gồm biến động giá, mất quyền kiểm soát khóa và thay đổi pháp lý. Thông tin đúng tại ngày cập nhật ghi trên bài và có thể thay đổi sau đó.Cập nhật lần cuối: