什麼是未花費的交易輸出 (UTXO)?

2022-12-26, 00:38

TL: DR
UTXO是加密交易後保留的數字貨幣。
UTXO不斷被處理,併成為每個交易的起點和終點。
交易完成後,任何未花費的輸出都會被保存在數據庫中,作為未來交易的輸入。
UTXO在阻止區塊鏈上的雙花和用戶花費不存在的硬幣方面至關重要。

介紹

未花費的交易輸出(UTXO)和賬戶模型都是加密貨幣記錄方法,用於表示在區塊鏈上完成交易後個人剩餘的代幣數量。這些模型對於區塊鏈架構如何維護準確的分類賬並保持隱私至關重要。
這個術語基本上用於定義接收到的交易結果,並在未來可能花費。
UTXO最好的類比是實體法幣。UTXO不能像硬幣或紙幣那樣分割成更小的面額。UTXO可以被認為是由其所有者的私鑰控制的相應代幣的離散塊。 比特幣 (BTC), 萊特幣(LTC), 比特幣 比特現金(BCH)和大零幣(ZEC)等其他幣種使用UTXO模型。

未花費的交易輸出(UTXO)模型到底是什麼?
加密貨幣交易後剩餘的數字貨幣數量被描述為未花費的交易輸出(UTXO)。這類似於購買東西后獲得的找零,但它不是較低的貨幣面額。它是由網絡生成的數據庫中的交易輸出,以允許非精確找零交易。
作為會計措施,未在交易中花費的加密貨幣總量的一部分(輸出)被用於下一筆交易(輸入)。每筆交易都像複式記賬一樣,有一個輸入和一個輸出。

考慮 10 比特幣 成為一個裝滿硬幣的桶。每個硬幣代表一個未花費的交易輸出(UTXO)。如果你向斯蒂芬妮支付5個BTC購買某物,網絡將給斯蒂芬妮整個硬幣桶,並返回你所欠的5個BTC的“找零”。你現在有一個價值5個BTC的UTXO,無法進一步分割。

UTXO是如何工作的?
想象一下,您想從 1.5 BTC 的餘額中發送 1.3 BTC 比特幣 錢包地址。這1.5 BTC可能是您先前交易的輸出。
比如,分別是0.9 BTC和0.6 BTC。
您的新交易有兩個輸出:1.3 BTC是花費的(發送給接收者),0.2 BTC是未花費的輸出,將退回到您的地址(即發送者)。

剩餘的 0.2 BTC 以下列方式之一使用:
已發送回您的帳戶。
使用部分或剩餘金額作為交易費用,或
發送剩餘金額將發送給其他人。
比特幣 節點通過跟蹤這些輸出來維護交易記錄。每個未花費的交易輸出(UTXO)使用編碼的PubKeys來記錄每筆交易,並沒有與之關聯的特定用戶。這樣可以讓網絡驗證所有相關的幣的存在,而不會洩露用戶的私人信息。

UTXO的重要性
UTXO的概念大大簡化了區塊鏈會計。UTXO允許每個節點跟蹤有關未使用硬幣的信息,而不是跟蹤和存儲每筆交易。
它之所以有效,是因為每枚硬幣只能在 比特幣 網絡。這意味著錢包中的每個BTC都是未花費的;它們要麼作為挖礦獎勵收到,要麼在交易過程中鑄造成找零。
UTXO在阻止區塊鏈上的雙花和防止用戶花費不存在的幣方面至關重要。每個網絡節點都保留著每個UTXO的數據庫。

什麼是賬戶模型?
借記卡或銀行賬戶是賬戶模型最明顯的類比。與不能分成較小面額的實物法定貨幣相比,賬戶模型允許任何任意代幣金額的貸方(或借方)。賬戶模型錢包代表用戶的總餘額,而 UTXO 錢包保留用戶 UTXO 的總和。
使用賬戶模型的項目包括以太坊 (ETH)、以太坊經典 (ETC) 和瑞波幣 (XRP)。與UTXO模型不同,賬戶模型中的交易代表賬戶之間的單次資金或數字貨幣轉移,不需要額外的輸入或輸出。所需要的只是賬本的更改。
UTXO和賬戶模型的區別
雖然UTXO和賬戶模型具有相同的目標,但它們各有優缺點。

• 可擴展性:
由於存儲單個餘額比存儲該用戶擁有的所有 UTXO 佔用的內存要少得多,因此帳戶模型可以更好地使用內存。賬戶模型交易較小,因為它們只需要金額、發件人、收件人和數字簽名。典型的以太坊交易約為 100 字節,而 UTXO 模型交易要大幾倍。UTXO交易的並行性也有助於將基於UTXO的區塊鏈劃分為分片和側鏈。UTXO模型允許在客戶端進行輸出聚合和定義,從而降低了網絡計算要求。帳戶模型的實現更具挑戰性,因為每個節點都必須跨多個分片本地化發送方和接收方帳戶。

•隱私:
由於UTXO模型使得在地址之間切換變得微不足道,因此跟蹤硬幣所有權變得更具挑戰性。新生成的地址沒有公共所有者。因此,通常需要高級鏈分析才能將它們鏈接到特定用戶。帳戶模型涉及單個地址的重用。因此,這種區塊鏈使識別交易歷史變得更加容易。另一方面,在可替代性方面,賬戶模型提供了更好的隱私性。

• 智能合約功能:
由於基於賬戶的交易的簡化和直觀性,該模型從智能合約功能中受益匪淺。與計算 UTXO 輸入/輸出邏輯相比,驗證單一餘額所需的計算能力更少,這使得 DApp 開發人員更容易對多方合約和交易進行編程。例如,以太坊虛擬機 (EVM) 可以通過調整各自的餘額來處理多個智能合約之間的交易。UTXO 模型消耗的資源要多得多,因為它涉及每個事務中的顯式 UTXO 輸入和輸出。用UTXO模型編寫的智能合約必須考慮要組合的輸入數量,或者,如果存在多個選項,則應組合哪些輸入。

•安全:
UTXO區塊鏈中的驗證者節點,如 比特幣 跟蹤UTXO集,以確定哪些幣在流通中,並知道誰擁有它們。UTXO系統以高效且無需信任的方式解決了雙花問題,因為每個交易都必須引用要花費的確切UTXO。賬戶模型的區塊鏈更加容易受到攻擊,經常受到其他問題的困擾,比如退款和透支的智能合約。
例如,在2020年,以太經典項目因一系列雙花攻擊而損失了數百萬。

結論
UTXO模型是在區塊鏈上記錄交易的一種方法。
由於不同的模型都有其優缺點,UTXO在任何區塊鏈上的應用取決於項目的目標。
以太坊採用賬戶模型,因為其關注部署強大的智能合約,而 比特幣 Gate.io採用UTXO模型,因為它更關注發展安全的電子現金。
新項目試圖改進這些模型。例如,Cardano (ADA)、Tron (TRX) 和 Qtum (QTUM) 嘗試將兩者的優點結合到先進的混合模型中。這些模型使開發人員更容易使用UTXO,同時保留智能合約的強大功能。

作者 - M. Olatunji,Gate.io 研究員

免責聲明:
本文僅代表觀察者的觀點,不構成任何投資建議。 Gate.io保留本文的所有權利。允許轉載本文,但必須提及Gate.io。在其他所有情況下,將採取法律行動以應對侵犯版權行為。

分享一下
目錄
gate logo
Gate
即刻交易
加入 Gate 贏取獎勵