Skip to content
所有期權指南
Bitcoin 錢包運作方式8 分鐘閱讀

Bitcoin UTXO 解說:輸入、找續和整合

了解 Bitcoin 錢包結餘如何由未花費輸出組成、輸入和找續如何運作,以及整合小額 UTXO 對手續費和私隱的影響。

本指南內容Bitcoin 錢包結餘由多個輸出組成

簡短摘要

Bitcoin 錢包結餘通常是多個未花費交易輸出(UTXO)的總和。付款會把選取的輸出作為輸入花費,再為收款人和必要時的找續建立新輸出。整合或可減少日後付款的輸入數量,但現在要支付手續費,也可能把公開交易紀錄連在一起。

Bitcoin 錢包結餘由多個輸出組成

錢包畫面可能只顯示一個結餘,但 Bitcoin 帳本並不像銀行帳戶般只記錄一筆帳戶結餘。錢包可以控制多個由先前交易建立、尚未花費的輸出,稱為 UTXO。簡單來說,鏈上結餘就是錢包可以花費的輸出金額總和。每個輸出亦附有花費條件,並非一枚脫離交易紀錄、獨立存在的硬幣。

一筆交易可以為多位收款人建立多個輸出,所以付款次數不一定等於 UTXO 數量。錢包亦可能分開顯示已確認、未確認、已鎖定或只供檢視的金額。因此,畫面上的結餘未必全部可以即時花費。UTXO 模式適用於 Bitcoin 及其他採用類似架構的系統,並非所有加密資產都一樣。

每個輸入都指向一個特定的舊輸出

Bitcoin 交易輸入會透過交易 ID 和輸出索引,識別某個先前輸出,有時寫作 txid:vout。輸入亦包含符合該輸出花費條件所需的資料。交易隨後會建立一個或多個新輸出。Bitcoin 開發者交易指南介紹這種架構;區塊鏈指南則說明每個輸出只可以花費一次。

輸出會整筆花費。Bitcoin 不會只花掉舊輸出的一部分,再把餘額留在同一個輸出。如果輸入金額高於付款,交易會為收款人和找續建立新輸出。每個新輸出都是獨立的 UTXO,之後可按錢包規則再次花費。

一筆付款可以建立收款輸出和找續輸出

輸入總額必須足以支付輸出總額,兩者的差額就是交易手續費。錢包可以選取總額高於付款的輸入,再把餘額退回到自己控制的新輸出。這筆餘額稱為找續或 change。它是一般的新交易輸出,並非鏈下退款或取消付款。

假設錢包選取兩個 UTXO,金額分別為 300,000 和 200,000 sat,輸入總額為 500,000 sat。如果收款人收到 420,000 sat,而手續費為 2,000 sat,找續就是 78,000 sat:300,000 + 200,000 = 420,000 + 78,000 + 2,000。這只是解釋運作方式的假設計算,並非目前的手續費報價。找續會成為錢包控制的新輸出,之後亦可能成為輸入。

並非每筆交易都會有找續輸出。輸入金額可能剛好接近付款和手續費,或者一筆交易會支付多位收款人。簽署前請查看交易預覽。

輸入較多可能令交易較大

每個被選取的 UTXO 都會成為輸入,並需要提供資料讓網絡驗證其花費。因此,輸入愈多,交易通常可能愈大,但實際大小取決於輸出類型和簽署資料。手續費一般按虛擬大小及費率計算。BIP 141定義 SegWit 交易的權重和虛擬大小。單看發送的 BTC 數量,不能判斷交易大小。

在相同費率下,輸入更多或較大的交易可能費用更高。找續輸出亦會增加交易資料。更多關於交易大小、sat/vB 和手續費的說明,請參閱Bitcoin 交易手續費指南。

整合會花費多個輸出,並建立一個新輸出

整合 UTXO 是建立一筆交易,花費多個輸出,再把扣除手續費後的總額發送至同一個錢包控制的新輸出。下一次付款時,錢包可以把整合後的輸出作為一個輸入,而不用逐一花費原有輸出。整合會改變未來花費的結構和可能成本,但不會創造比特幣,也不會抹去交易紀錄。

關鍵在於費用何時產生。整合交易包含所有輸入,可能較大,因此現在就要支付手續費。下一筆交易仍要為自己的輸入和輸出付費,只是可能需要較少輸入。如果目前費率低於日後花費這些輸出時的費率,提早支付部分輸入成本或有幫助;如果目前費率高,現在整合可能反而更貴。未來費率無法預知,因此不能保證節省費用。

不同錢包的輸出選擇方式各異

大部分錢包會自動選取 UTXO。選擇算法可能會考慮付款金額、預計交易大小、手續費、找續和其他限制。目標不一定只是減少輸入數量;目前成本、日後花費找續的成本,以及安全和私隱規則亦可能影響選擇。不同錢包和版本的做法及功能名稱各有不同。

部分錢包提供 coin control,讓使用者檢視或排除特定輸出。這有助把不同用途的資金分開,但選錯輸出可能令交易變大,或把原本不想關聯的輸出連在一起。Bitcoin Core 的 listunspent RPC是供開發者查詢 UTXO 的介面;一般使用者不需要呼叫 RPC 便能理解錢包結餘。

一起使用多個輸入可能揭示私隱關聯

Bitcoin 交易是公開的。如果一筆交易把多個輸出作為輸入花費,旁觀者可以看到它們曾一起使用。分析人員可能把共同花費視為由同一方控制的線索,但這不能證明現實身份;協作交易亦可能有多位參與者。

把原本有意分開的輸出整合,會令它們出現在同一筆公開交易中,削弱原有區隔。使用新的找續地址可以減少重用地址,但不能隱藏輸入關係或抹去歷史。Bitcoin.org 私隱指南說明 Bitcoin 交易公開且可追蹤,以及新地址的作用。

比較目前手續費與日後用途

先查看錢包的目前手續費預覽和建議花費的輸出。考慮你會否很快把多個小額輸出一起使用、逐個花費的成本是否相對金額偏高,以及目前費率是否適合整合。然後與未來付款可能需要的輸入數量比較。未來費率和交易結構都無法預知,因此預計節省並非確定結果。

亦要考慮私隱和實際需要。分開的輸出可能來自不同來源或交易對手,而你未必想在公開紀錄中把它們關聯起來。手動選擇有助保持區隔,但需要更仔細檢查收款人、找續和手續費。Lightning 採用有別於 Bitcoin 鏈上交易的支付方式,詳情請參閱Lightning 與鏈上付款的比較。向其他網絡轉帳前,可參考加密貨幣網絡和地址檢查清單。

簽署前檢查交易內容

核對網絡、收款地址、金額、如畫面有顯示則檢查所選輸入、找續地址或金額,以及總手續費。確認找續會返回你控制的錢包。手續費偏高,可能是因為輸入很多,而非付款金額大。

整合前,確認你有意一起花費所有所選輸出,並接受它們在公開紀錄中產生關聯。整合不保證資金整個使用期間的總手續費會較低:現在要支付輸入的費用,日後建立交易亦要付費。關於備份和復原,請參閱錢包助記詞和備份指南。

常見問題

Q1一個 UTXO 是否等於一枚 Bitcoin?

不是。UTXO 是附有金額和花費條件的未花費輸出。錢包可以控制多個 UTXO,並把金額加總為結餘。

Q2每筆 Bitcoin 付款都會產生找續嗎?

不一定。輸入金額可能接近付款和手續費,或一筆交易會支付多位收款人。請查看交易預覽。

Q3整合 UTXO 是否一定會降低手續費?

不是。整合現在要付費,之後或可減少輸入。結果取決於費率、交易大小、錢包規則和時機。

Q4一起花費多個 UTXO 能證明它們屬於同一人嗎?

只能公開顯示它們曾一起花費。共同控制是一種推斷,並非身份證明。

資料來源與延伸閱讀

回報問題

我們會準備一封包含本文連結的電郵。寄出後,Mark 才會收到你的回報

快速檢查

讀完指南後,用 3 道題檢查一下

問題 1 / 3

問題 01

一筆交易使用 300,000 和 200,000 sat 的輸入,支付 420,000 sat,手續費為 2,000 sat。找續是多少?

選擇答案即可查看解釋

期權術語表