UTXO比特幣交易生成及驗證的一個核心概念

買賣虛擬貨幣
比特幣網路不是賬本/餘額模型,而是UTXO模型,UTXO是比特幣交易生成及驗證的一個核心概念。交易構成了一組鏈式結構,所有合法的比特幣交易都可以追溯到前向一個或多個交易的輸出,這些鏈條的源頭都是挖礦獎勵,末尾則是當前未花費的交易輸出。所有的未花費(使用)的輸出即整個比特幣網路的UTXO。什麼是UTXO呢?TX是Transaction(交易)的縮寫,TXO即為 TX output(交易輸出):包含一個value值和一段指令碼,該指令碼規定了誰有權使用這筆交易(比如需要私鑰簽名)。UTXO就是Unspent TXO(未花費的交易輸出),比特幣網路規定,只有對“尚未使用過”的交易簽名才能是有效簽名。每筆交易都有若干交易輸入,也就是資金來源,也都有若干筆交易輸出,即資金去向。一般來說,每一筆交易都要花費(spend)一筆輸入,產生一筆輸出,而其所產生的輸出,就是“未花費過的交易輸出”,也就是 UTXO。比特幣交易遵守以下規則:1、所有的資金來源都必須來自前面某一個或者幾個交易的 UTXO,歷史交易出入相接,生生不息,錢就在交易之間流動起來了。

2、任何一筆交易的交易輸入總量必須等於交易輸出總量,等式兩邊必須配平。

數字貨幣無法像金屬貨幣(比如黃金)那樣,僅靠物理轉移即可轉移所有權————即當A將一份黃金交給B後,A必然不再擁有這份黃金。

而A將一份數字貨幣轉給(簽名)B後,A仍可以把同一筆交易轉給C,因為A掌握私鑰,這兩份簽名均為有效簽名,這就構成了“雙花”。以往的密碼學貨幣無法有效解決雙花問題,因而無法擺脫對第三方中心化機構認證的依賴(第三方信任)。因此必須有一種機制來確保每筆交易只能使用一次,即只有對“尚未使用過”的交易簽名才能是有效簽名。

比特幣規定每一筆新的交易的輸入必須是某筆交易未花費的輸出,每一筆輸入同時也需要上一筆輸出所對應的私鑰進行簽名,並且每個比特幣的節點都會儲存當前整個區塊鏈上的UTXO,整個網路上的節點透過UTXO及簽名演算法來驗證新交易的合法性。這樣,節點不需要追溯歷史就可以驗證新交易的合法性。

UTXO模型的好處是:

可擴充套件性 - 由於可以同時處理多個UTXO,因此可以實現並行事務並鼓勵可伸縮性創新。

隱私 - 甚至比特幣也不是一個完全匿名的系統,但只要使用者為每筆交易使用新地址,UTXO就可以提供更高階別的隱私。 如果需要增強隱私性,可以考慮更復雜的方案,例如環簽名。

相比使用賬戶/餘額模型的以太坊來說,這種模型的複雜度更高,效率也不及後者,但對於雙花攻擊的抗性更強。目前除了比特幣,也有一些其他的區塊鏈開始推廣這種模型,例如Hyperledger,理由也正如前述,允許並行處理多個交易,同時可以保護隱私。但反對使用UTXO模型的人認為,UTXO在實際執行中會比理論上產生更大的複雜性,而這可能是沒必要的,而且由於其無狀態性,和智慧合約的契合性不好。

更多數字貨幣資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;