UXTO比特幣賬戶是什麼?UXTO是UnspentTransactionOutput的縮寫,是比特幣發明人“中本聰”的天才設計, 比特幣使用UXTO代替傳統的賬戶,所以本質上,UXTO比特幣的流水賬記錄法。
我們現在的會計系統絕大部分採用的是一種叫做“借貸記賬法”的方法,賬目分成借方和貸方,每發生一筆業務都要登記兩個以上的科目。這種記賬法在企業經營、企業審計中有無數的好處。但是這種記賬法也有一個最大的缺點,就是容易產生記賬錯誤和記賬誤差。一筆交易需要登記兩條以上的賬目,本質上記錄的是“交易的結果”,而不是“交易本身”。
如果讓一個程式設計師來設計基於“借貸記賬法”的賬本,資料庫中記錄的就是每一個賬戶的變動情況和餘額。在資料庫系統中,需要一系列額外的規則,來確保交易成功地進行。
“中本聰”沒有采用這種複雜的記賬方案,而是採用了一種追蹤比特幣的流水賬記錄法——UXTO。本質上,就是隻記錄交易本身,而不記錄交易的結果。從金融系統設計角度來說,這種方式有點“交易清算分離”的意思。區塊鏈系統只處理所有的交易,而需要清算、檢視餘額等資訊,由區塊鏈節點自行處理。
每一個根節點都是一個Coinbase(挖礦交易),也就是每一枚比特幣的最初來源。繼而隨著交易的變動,這棵樹不斷的生長,每個葉子節點就是一個UXTO----UnspentTransactionOutput----未花費過的交易輸出。嚴格來說,比特幣系統並不是一個樹結構,而是一個單向圖。伴隨著交易的複雜程度,中間樹枝會有不斷的交錯,但是不妨礙我們利用樹結構來理解它。
比特幣的UXTO系統遵守兩個規則:
1、除了CoinBase(挖礦交易)之外,所有的資金來源都必須來自前面某一個或者幾個交易的UXTO;
2、任何一筆交易的輸入總量必須等於輸出總量,等式兩邊必須配平。(在比特幣系統中,一般輸出小於輸入,差額則是轉賬手續費,歸礦工所有。)
UXTO模式最大的好處就是,它忠實地記錄了交易。我們的現實世界是隨著時間流動的,交易一筆一筆地發生,比特幣的區塊鏈系統一筆一筆忠實地記錄著這個世界發生的事情,不能回滾,不能刪除。只要交易記錄準確了、清楚了,那麼每個人進行清算的結果就都不會出錯。
因此,“交易”是比特幣區塊鏈系統的核心,“記錄交易”是區塊鏈系統的設計原則,也是區塊鏈設計思想的核心之一。