「UTXO」模型的全稱是「未花費交易輸出」模型,用於記錄、存儲和執行交易,最早採用此模型記帳的比特幣。
UTXO 模型的工作原理#
「UTXO」用交易執行後剩餘的加密貨幣數量(即未使用的加密貨幣)來記帳,所以在 UTXO 模型中,不存在 “帳戶” 和 “餘額”,這是與「帳戶模型」最大的不同。換句話說,「在 UTXO 模型中用戶可以轉移的餘額是他之前交易中尚未花費的金額。」
在 UTXO 模型中,每筆交易都由表示為 UTXO 的輸入和輸出組成。輸入消耗一個現有的 UTXO,而輸出創建一個新的 UTXO。交易完成後,任何未使用的輸出都將作為輸入記錄在數據庫中,以後可用於新交易。
UTXO 模型的舉例#
A 的錢包裡有 5 個比特幣(UTXO_0)。B 有一個空錢包。 現在,A 想向 B 的錢包發送 3.15 BTC。A 的 5 個 BTC 將被記錄為輸入,然後被消耗,同時,將創建 3.15 BTC 和 1.85 BTC(UTXO_1 和 UTXO_2)作為交易的輸出。UTXO_2 將轉到 A 的錢包,UTXO_1 轉到 B 的錢包。交易完成後,A 的錢包有 1.85 BTC 的未使用餘額。B 的錢包有 3.15 BTC 的未使用餘額。
UTXO 特點#
UTXO 的核心設計思路是無狀態,它記錄的是交易事件,而不記錄最終狀態,用戶只需要根據歷史記錄自行計算餘額。