UTXO Là Gì? Tìm Hiểu Mô Hình Kế Toán Của Bitcoin | XTS Insights

Tìm hiểu UTXO trong Bitcoin là gì, cách đầu vào và đầu ra giao dịch hoạt động, vì sao ví tạo tiền thừa và cách mô hình UTXO ngăn chi tiêu hai lần.

Giới Thiệu

Ví Bitcoin có thể hiển thị một số dư duy nhất, nhưng mạng lưới Bitcoin không quản lý số dư giống tài khoản ngân hàng. Thay vào đó, Bitcoin theo dõi từng phần giá trị có thể chi tiêu được gọi là Unspent Transaction Output, viết tắt là UTXO.

Mỗi giao dịch Bitcoin thông thường sử dụng một hoặc nhiều đầu ra trước đó làm đầu vào và tạo ra một hoặc nhiều đầu ra mới. Mỗi đầu ra mới chưa được chi tiêu sẽ trở thành UTXO. Các đầu ra này tạo nên mô hình kế toán giúp Bitcoin Node xác định giá trị nào còn có thể sử dụng mà không cần cơ quan quản lý sổ cái trung tâm.

Hiểu UTXO giúp bạn dễ dàng nắm bắt nhiều khái niệm khác như số dư ví, phí giao dịch, địa chỉ tiền thừa, coin selection, ngăn chặn Double Spending, quan hệ giao dịch trong Mempool và quyền riêng tư.

Tại XTS, chúng tôi xem mô hình UTXO là một trong những nền tảng quan trọng nhất khi học về Bitcoin. Bài viết này sẽ giải thích từng bước bằng ngôn ngữ rõ ràng, phù hợp với người mới.

UTXO Là Gì?

UTXO là viết tắt của Unspent Transaction Output, nghĩa là đầu ra giao dịch chưa được chi tiêu. Đây là đầu ra do một giao dịch Bitcoin tạo ra nhưng chưa được sử dụng làm đầu vào cho giao dịch sau.

Mỗi UTXO chứa một giá trị được tính bằng satoshi và một điều kiện khóa, thường được thể hiện bằng scriptPubKey. Người có thể cung cấp dữ liệu mở khóa phù hợp với điều kiện đó sẽ có khả năng chi tiêu đầu ra trong một giao dịch mới.

UTXO được xác định bằng mã giao dịch TXID đã tạo ra nó và số thứ tự đầu ra, thường gọi là vout. Cặp thông tin này trỏ đến đúng một đầu ra cụ thể ngay cả khi giao dịch ban đầu tạo nhiều đầu ra.

Định nghĩa đơn giản: UTXO là một lượng Bitcoin cụ thể được tạo bởi giao dịch và vẫn còn khả dụng để chi tiêu đúng một lần.

Tại Sao Bitcoin Sử Dụng Mô Hình UTXO?

Bitcoin cần một phương pháp phi tập trung để mọi Node xác thực cùng thống nhất giá trị nào vẫn có thể chi tiêu. Mô hình UTXO cung cấp trạng thái chung đó.

  1. Giúp Node kiểm tra đầu vào có tham chiếu đến đầu ra thật và chưa được chi tiêu hay không.
  2. Ngăn cùng một đầu ra được chấp nhận chi tiêu hai lần trên Blockchain hợp lệ.
  3. Cho phép tính phí giao dịch bằng tổng đầu vào trừ tổng đầu ra.
  4. Hỗ trợ nhiều khoản thanh toán và điều kiện chi tiêu độc lập cùng tồn tại.
  5. Cho phép Node duy trì tập UTXO hiện tại mà không biến Bitcoin thành cơ sở dữ liệu tài khoản ngân hàng.

Blockchain lưu giữ lịch sử giao dịch của Bitcoin, còn tập UTXO thể hiện kết quả hiện tại của lịch sử đó: những giá trị vẫn có thể chi tiêu.

Mô Hình UTXO Và Mô Hình Tài Khoản Khác Nhau Ra Sao?

Đặc điểmMô hình UTXO của BitcoinMô hình tài khoản
Trạng thái được theo dõiTừng đầu ra chưa chi tiêuSố dư của từng tài khoản
Cách chi tiêu giá trịTham chiếu đầu ra cũ làm đầu vàoKhấu trừ khỏi số dư tài khoản
Chi tiêu một phầnĐầu ra được dùng hết; phần còn lại được tạo thành đầu ra mớiMột khoản tiền được trừ khỏi số dư
Phí giao dịchTổng đầu vào trừ tổng đầu raThường được tính riêng với trạng thái tài khoản
Xử lý song songCác UTXO độc lập thường có thể được đánh giá riêngNhiều cập nhật có thể cạnh tranh trên cùng trạng thái tài khoản

Không có mô hình nào tốt hơn trong mọi trường hợp. Thiết kế UTXO phù hợp với mục tiêu của Bitcoin về xác minh minh bạch, quy tắc chi tiêu xác định và đồng thuận phi tập trung.

Vòng Đời Của UTXO

  • Một giao dịch Bitcoin tạo ra một hoặc nhiều đầu ra.
  • Mỗi đầu ra chưa được chi tiêu trở thành UTXO gắn với điều kiện khóa.
  • Ví xác định các UTXO có thể chi tiêu và cộng chúng thành số dư hiển thị.
  • Khi người dùng gửi Bitcoin, ví chọn một hoặc nhiều UTXO làm đầu vào giao dịch.
  • Giao dịch sử dụng toàn bộ đầu vào đã chọn và tạo đầu ra mới cho người nhận, tiền thừa hoặc mục đích khác.
  • Bitcoin Node xác minh UTXO được tham chiếu có tồn tại, chưa bị chi tiêu và được mở khóa đúng cách.
  • Sau khi xác nhận, UTXO đã chi tiêu rời khỏi tập UTXO và các đầu ra mới đủ điều kiện được thêm vào.

Bước 1: Giao Dịch Tạo Ra Các Đầu Ra Mới

Mỗi giao dịch Bitcoin không phải Coinbase đều có ít nhất một đầu vào và một đầu ra. Đầu vào trỏ ngược về các đầu ra trước đó, còn đầu ra mới xác định nơi giá trị có thể được chi tiêu tiếp theo.

Một đầu ra bao gồm số lượng Bitcoin và khóa Script. Khóa này quy định điều kiện phải được đáp ứng trước khi giá trị có thể được sử dụng trong giao dịch tương lai. Nếu chưa được chi tiêu, đầu ra đó thuộc tập UTXO.

Bước 2: Ví Phát Hiện Các UTXO Có Thể Chi Tiêu

Ví theo dõi Blockchain và các giao dịch chưa xác nhận có liên quan để tìm những đầu ra mà nó có thể đáp ứng điều kiện chi tiêu. Tùy loại ví, quá trình này có thể liên quan đến Private Key, Descriptor, Script hoặc dữ liệu Watch-only.

Khi hiển thị số dư, ví thường cộng các UTXO mà nó xem là khả dụng theo quy tắc riêng về số lần xác nhận, độ an toàn và khả năng chi tiêu. Mạng lưới không lưu một bản ghi số dư ví duy nhất cho mỗi người dùng.

Điểm quan trọng: Ví quản lý khóa và hướng dẫn chi tiêu; giá trị Bitcoin có thể sử dụng nằm trong các đầu ra giao dịch được mạng lưới ghi nhận.

Bước 3: Coin Selection Chọn Đầu Vào Giao Dịch

Khi người dùng tạo khoản thanh toán, phần mềm ví chọn UTXO nào sẽ được chi tiêu. Quá trình này gọi là Coin Selection.

Ví có thể cân nhắc số tiền thanh toán, phí dự kiến, loại đầu vào, trạng thái xác nhận, quyền riêng tư, việc tạo tiền thừa và chi phí chi tiêu trong tương lai. Hai ví có thể đưa ra lựa chọn khác nhau dù kiểm soát cùng một tập UTXO.

  1. Một UTXO lớn có thể đủ để thanh toán.
  2. Nhiều UTXO nhỏ có thể được kết hợp thành nhiều đầu vào.
  3. Ví có thể tránh UTXO chưa xác nhận hoặc bị xem là không an toàn.
  4. Coin Selection chú trọng riêng tư có thể tránh liên kết các lịch sử thanh toán không cần thiết.
  5. Coin Selection chú trọng phí sẽ xem xét lượng không gian giao dịch mà mỗi đầu vào sử dụng.

Bước 4: Giao Dịch Tạo Đầu Ra Cho Người Nhận Và Tiền Thừa

Một UTXO đã chọn không thể chỉ được đánh dấu là chi tiêu một phần. Giao dịch sử dụng toàn bộ đầu ra và phân phối lại giá trị thành các đầu ra mới.

Nếu tổng đầu vào lớn hơn khoản thanh toán cộng phí, ví thường tạo Change Output để gửi phần còn lại về quyền kiểm soát của người dùng. Đầu ra tiền thừa là một đầu ra Bitcoin bình thường; Blockchain không tự gắn nhãn nó là tiền thừa.

Ví dụ đời thường: Chi tiêu UTXO giống như trả tiền bằng tờ tiền giấy. Bạn đưa cả tờ tiền, người bán nhận số tiền cần thiết và phần còn lại được trả lại. Điểm khác biệt là Bitcoin tạo ra các đầu ra số mới thay vì tái sử dụng đầu ra cũ.

Ví Dụ Đơn Giản Về Giao Dịch UTXO

Giả sử ví của Alice kiểm soát hai UTXO: 0,30 BTC và 0,50 BTC. Alice muốn gửi 0,60 BTC cho Bob và trả phí giao dịch 0,0001 BTC.

Thành phần giao dịchSố lượngKết quả
UTXO đầu vào 10,3000 BTCĐược sử dụng toàn bộ
UTXO đầu vào 20,5000 BTCĐược sử dụng toàn bộ
Đầu ra cho Bob0,6000 BTCUTXO mới của Bob
Đầu ra tiền thừa0,1999 BTCUTXO mới do Alice kiểm soát
Phí giao dịch0,0001 BTCTổng đầu vào trừ tổng đầu ra

Sau khi giao dịch được xác nhận, hai UTXO ban đầu không còn khả dụng vì đã được chi tiêu hoàn toàn. Giao dịch tạo ra đầu ra 0,60 BTC cho Bob, đầu ra tiền thừa 0,1999 BTC cho Alice và dành 0,0001 BTC làm phí.

Bước 5: Node Xác Minh Các Đầu Vào

Trước khi chấp nhận giao dịch, Node kiểm tra từng Outpoint được tham chiếu. Outpoint kết hợp TXID của giao dịch trước đó với số thứ tự của đầu ra cụ thể đang được chi tiêu.

  1. Đầu ra được tham chiếu tồn tại trong trạng thái Chain hiện tại hoặc trong giao dịch tổ tiên chưa xác nhận đã được chấp nhận.
  2. Đầu ra chưa bị một giao dịch đã xác nhận chi tiêu.
  3. Dữ liệu mở khóa đáp ứng điều kiện khóa của đầu ra.
  4. Tổng giá trị đầu ra không vượt quá tổng giá trị đầu vào, ngoại trừ quy tắc Coinbase riêng biệt.
  5. Giao dịch tuân thủ các quy tắc đồng thuận và chính sách Mempool cục bộ của Node.

Nếu giao dịch cố gắng chi tiêu một đầu ra không tồn tại, đã được chi tiêu hoặc không được mở khóa đúng cách, Bitcoin Node trung thực sẽ từ chối.

Tập UTXO Của Bitcoin Là Gì?

Tập UTXO là tập hợp tất cả đầu ra trên Blockchain Bitcoin đang hoạt động mà chưa được chi tiêu. Full Node duy trì trạng thái này để nhanh chóng xác định đầu vào của giao dịch mới có hợp lệ hay không.

Khi một Block hợp lệ được chấp nhận, Node loại bỏ các đầu ra đã bị giao dịch trong Block sử dụng và thêm những đầu ra mới đủ điều kiện. Tập UTXO liên tục thay đổi, trong khi Blockchain lưu giữ lịch sử đã tạo ra trạng thái đó.

Vì vậy, tập UTXO không phải danh sách người dùng hay số dư tài khoản. Đây là tập hợp các đầu ra riêng biệt, mỗi đầu ra có giá trị và điều kiện chi tiêu riêng.

Số Dư Ví Bitcoin Được Tính Như Thế Nào?

Số dư ví thường được tính bằng cách tìm các UTXO mà ví có thể nhận biết và có khả năng chi tiêu, sau đó áp dụng quy tắc riêng về xác nhận và độ an toàn.

Hai ví theo dõi cùng bộ khóa có thể tạm thời hiển thị số dư khác nhau nếu xử lý đầu ra chưa xác nhận, có thể thay thế, chưa trưởng thành hoặc bị khóa theo cách khác nhau. Đây là khác biệt về chính sách ví, không phải các số dư mâu thuẫn trên Blockchain.

Tại Sao Không Thể Chi Tiêu Một Phần UTXO?

Đầu vào Bitcoin tham chiếu toàn bộ đầu ra trước đó. Khi giao dịch hợp lệ chi tiêu một UTXO, đầu ra ban đầu được sử dụng hoàn toàn.

Việc chi tiêu một phần về mặt kinh tế được thực hiện bằng cách tạo đầu ra mới. Một đầu ra trả cho người nhận, một đầu ra trả tiền thừa và các đầu ra khác có thể phục vụ thêm người nhận hoặc mục đích khác. Nhờ vậy, mỗi khoản chi tiêu đều rõ ràng và có thể xác minh độc lập.

UTXO Ảnh Hưởng Đến Phí Giao Dịch Như Thế Nào?

Phí Bitcoin phụ thuộc chủ yếu vào kích thước hoặc trọng lượng giao dịch, không chỉ vào số BTC được chuyển. Giao dịch có nhiều đầu vào thường lớn hơn giao dịch chỉ có một đầu vào, nên chi tiêu nhiều UTXO nhỏ có thể tốn phí hơn.

  • Nhiều UTXO được chọn thường đồng nghĩa với nhiều đầu vào hơn.
  • Các loại Script đầu vào và đầu ra khác nhau sử dụng lượng không gian giao dịch khác nhau.
  • Fee Rate thường được tính bằng sat/vB, còn tổng phí phụ thuộc vào Virtual Size của giao dịch.
  • Khoản thanh toán nhỏ vẫn có thể tốn phí cao nếu cần nhiều đầu vào khi Fee Rate cao.
  • Khoản thanh toán giá trị lớn có thể tương đối gọn nếu một UTXO phù hợp đủ để chi trả.

UTXO Consolidation Là Gì?

UTXO Consolidation là việc chi tiêu nhiều UTXO nhỏ trong một giao dịch để tạo ra ít đầu ra lớn hơn vẫn do cùng ví kiểm soát. Người dùng có thể thực hiện khi Fee Rate thấp nhằm giảm số đầu vào cần dùng trong tương lai.

Consolidation không phải lúc nào cũng có lợi. Giao dịch hợp nhất ban đầu sẽ lớn hơn, có thể liên kết những lịch sử giao dịch trước đây tách biệt và làm giảm quyền riêng tư. Người dùng nên cân nhắc cả phí hiện tại lẫn nhu cầu tương lai.

Dust UTXO Là Gì?

Dust thường chỉ đầu ra rất nhỏ có giá trị thấp so với chi phí cần thiết để chi tiêu theo các giả định Relay Policy hiện hành. Dust không phải đơn vị Bitcoin đặc biệt và không có một mức Dust duy nhất cho mọi loại Script hoặc môi trường phí.

Node có thể từ chối Relay một số đầu ra Dust theo chính sách tiêu chuẩn. Một UTXO nhỏ cũng có thể không hiệu quả về kinh tế nếu chi phí đầu vào gần bằng hoặc vượt quá giá trị của nó, ngay cả khi đầu ra vẫn hợp lệ theo Consensus Rules.

UTXO Giúp Ngăn Double Spending Như Thế Nào?

Mọi đầu vào giao dịch hợp lệ phải tham chiếu một đầu ra vẫn chưa được chi tiêu. Khi mạng lưới chấp nhận giao dịch trong Chain đang hoạt động, các đầu vào của nó được loại khỏi tập UTXO.

Giao dịch thứ hai cố gắng chi tiêu cùng đầu ra đã xác nhận sẽ không còn tìm thấy UTXO đó trong tập có thể chi tiêu và sẽ bị từ chối. Trước khi xác nhận, các giao dịch xung đột có thể cạnh tranh theo chính sách Node, nhưng lịch sử Chain hợp lệ cuối cùng chỉ có thể chi tiêu mỗi đầu ra một lần.

UTXO Và Mempool

Giao dịch trong Mempool có thể chi tiêu UTXO đã xác nhận và cũng có thể tạo đầu ra mới chưa xác nhận. Giao dịch con có thể chi tiêu đầu ra từ giao dịch cha chưa xác nhận nếu Node và Miner chấp nhận quan hệ phụ thuộc đó.

Vì vậy, Node đánh giá cả tập UTXO đã xác nhận lẫn quan hệ giữa các giao dịch chưa xác nhận. Nếu giao dịch cha bị thay thế hoặc mất hiệu lực do xung đột, các giao dịch con phụ thuộc cũng có thể bị ảnh hưởng.

Trường Hợp Đặc Biệt: Coinbase Output

Giao dịch đầu tiên trong một Block được khai thác là Coinbase Transaction. Giao dịch này tạo Block Subsidy và phân bổ phí giao dịch thu được mà không chi tiêu đầu ra thông thường trước đó.

Coinbase Output phải tuân theo quy tắc Maturity trước khi có thể chi tiêu. Điều này ngăn giá trị mới tạo được sử dụng quá sớm khi Block chứa nó chưa có đủ độ sâu trên Chain. Ví và phần mềm Node thường phân biệt Coinbase Output chưa trưởng thành với UTXO có thể chi tiêu ngay.

Các Vấn Đề Về Quyền Riêng Tư

Cách lựa chọn UTXO có thể tiết lộ mối quan hệ giữa các giao dịch. Khi ví kết hợp nhiều UTXO làm đầu vào, người quan sát có thể suy đoán chúng thuộc quyền kiểm soát của cùng một người hoặc tổ chức. Việc nhận diện Change Output và tái sử dụng địa chỉ có thể tiết lộ thêm thông tin.

  • Tránh tái sử dụng địa chỉ khi ví hỗ trợ tạo địa chỉ mới.
  • Hiểu rằng kết hợp UTXO có thể liên kết các hoạt động trước đây vốn tách biệt.
  • Xem giao dịch Consolidation lớn là quyết định về cả phí và quyền riêng tư.
  • Sử dụng nhãn hoặc Coin Control cẩn thận khi ví hỗ trợ.
  • Ghi nhớ rằng Bitcoin mang tính ẩn danh bằng bí danh, không hoàn toàn ẩn danh.

Những Hiểu Lầm Phổ Biến Về UTXO

‘Ví Bitcoin lưu các đồng Bitcoin bên trong ứng dụng.’

Ví lưu hoặc quản lý khóa và dữ liệu cần thiết để nhận biết và chi tiêu các đầu ra được mạng lưới ghi nhận.

‘UTXO chính là số dư ví.’

Số dư thường là tổng nhiều UTXO mà ví xem là khả dụng.

‘Có thể chi tiêu một phần UTXO và giữ nguyên phần còn lại.’

Đầu ra ban đầu được sử dụng toàn bộ; phần còn lại được tạo lại dưới dạng Change Output mới.

‘Chuyển nhiều Bitcoin hơn luôn phải trả phí cao hơn.’

Phí chủ yếu phụ thuộc vào trọng lượng giao dịch và Fee Rate, không phải giá trị BTC thanh toán.

‘UTXO nhỏ luôn vô dụng.’

Tính hữu dụng phụ thuộc vào chi phí chi tiêu, điều kiện phí, chính sách ví và mục tiêu của người dùng.

‘Tập UTXO liệt kê toàn bộ giao dịch trong lịch sử.’

Tập UTXO chỉ chứa các đầu ra hiện chưa được chi tiêu; Blockchain cung cấp lịch sử giao dịch rộng hơn.

Góc Nhìn Của XTS

Tại XTS, chúng tôi xem mô hình UTXO là nền tảng kế toán kết nối giao dịch, ví, Node, phí và bảo mật Blockchain của Bitcoin.

Mô hình này thay thế ý tưởng số dư do một tổ chức trung tâm quản lý bằng các đầu ra có thể được xác minh độc lập. Node có thể kiểm tra đầu vào được tham chiếu, xác minh điều kiện chi tiêu, tính phí và xác định liệu cùng giá trị đã được sử dụng hay chưa.

Hiểu UTXO cũng giúp người dùng lý giải hành vi thực tế của ví. Change Output, ước tính phí, số dư Pending, Coin Selection, Consolidation và quyền riêng tư đều trở nên dễ hiểu hơn khi xem Bitcoin là chuỗi đầu ra liên tục được tạo và chi tiêu.

Câu Hỏi Thường Gặp (FAQ)

UTXO là gì theo cách đơn giản?

UTXO là một lượng Bitcoin cụ thể do giao dịch trước tạo ra và chưa được chi tiêu.

UTXO là viết tắt của gì?

UTXO là viết tắt của Unspent Transaction Output, nghĩa là đầu ra giao dịch chưa được chi tiêu.

UTXO có phải chính là Bitcoin không?

UTXO là cách một lượng giá trị Bitcoin có thể chi tiêu được thể hiện trong hệ thống giao dịch.

UTXO được xác định như thế nào?

Bằng TXID của giao dịch tạo ra nó và số thứ tự đầu ra cụ thể, thường gọi là vout.

Một giao dịch có thể sử dụng nhiều UTXO không?

Có. Ví có thể kết hợp nhiều UTXO làm đầu vào khi một đầu ra không đủ cho khoản thanh toán và phí.

Tại sao giao dịch Bitcoin tạo tiền thừa?

Vì UTXO đã chọn được dùng toàn bộ. Phần không gửi cho người nhận hoặc trả phí thường được hoàn lại dưới dạng đầu ra mới.

Điều gì xảy ra với UTXO sau khi được chi tiêu?

Nó bị loại khỏi tập có thể chi tiêu, còn giao dịch chi tiêu sẽ tạo các đầu ra mới có thể trở thành UTXO mới.

UTXO có ảnh hưởng đến phí không?

Có. Sử dụng nhiều đầu vào thường làm giao dịch lớn hơn và có thể tăng phí tại cùng một Fee Rate.

Tập UTXO là gì?

Đó là tập hợp hiện tại của những đầu ra trên Chain Bitcoin đang hoạt động mà chưa được chi tiêu.

Đầu ra chưa xác nhận có phải UTXO không?

Ví và Mempool có thể xem chúng là đầu ra chưa xác nhận có khả năng chi tiêu, nhưng chúng chưa thuộc tập UTXO đã xác nhận của Chain và có rủi ro cao hơn.

Kết Luận

UTXO là đơn vị giá trị có thể chi tiêu cơ bản trong mô hình giao dịch của Bitcoin. Thay vì cập nhật số dư tài khoản tập trung, giao dịch Bitcoin sử dụng các đầu ra trước và tạo đầu ra mới.

Cấu trúc này cho phép mọi Bitcoin Node xác thực độc lập điều kiện sở hữu, ngăn Double Spending đã xác nhận, tính phí giao dịch và duy trì tập UTXO hiện tại.

Đối với người dùng, mô hình UTXO giải thích vì sao ví tạo tiền thừa, vì sao nhiều đầu vào có thể làm tăng phí, vì sao số dư bao gồm nhiều phần giá trị và vì sao Coin Selection ảnh hưởng đến cả quyền riêng tư lẫn chi phí.

Tại XTS, chúng tôi tin rằng hiểu UTXO là nền tảng vững chắc để tiếp tục khám phá Ví Bitcoin, phí giao dịch, Confirmation, Mempool và hệ sinh thái tài sản số rộng lớn hơn.

Những Điểm Cần Ghi Nhớ

  • UTXO có nghĩa là Unspent Transaction Output.
  • Mỗi UTXO có giá trị và điều kiện phải được đáp ứng để chi tiêu.
  • UTXO được xác định bằng TXID của giao dịch tạo ra nó và số thứ tự đầu ra.
  • Số dư ví thường được tính từ các UTXO mà ví có thể chi tiêu.
  • UTXO được chọn sẽ dùng toàn bộ; phần còn lại được trả về bằng Change Output mới.
  • Phí giao dịch bằng tổng giá trị đầu vào trừ tổng giá trị đầu ra.
  • Full Node duy trì tập UTXO đã xác nhận để kiểm tra giao dịch mới.
  • Coin Selection ảnh hưởng đến kích thước giao dịch, phí, tiền thừa và quyền riêng tư.
  • Cùng một UTXO đã xác nhận không thể được chi tiêu hợp lệ hai lần.

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *