Bitroo小課堂26:UTXO是什么?

2024-06-06 00:06:47

UTXO 的英文是 Unspent Transaction Output ,翻譯過來叫 “未消費的交易輸出”。應該這么說,比特幣的核心概念交易,交易的核心知識點就是 UTXO。

交易的組成要素

比特幣中是沒有账戶這個概念的,所謂一個地址的余額,其實就是統計這個地址相關的所有交易,然後運算出來的。所以我們把顯微鏡調調焦距,先看看一個交易中都包含哪些要素。

第一個要素是輸入,也就是 Input。首先,並不是所有的交易都有這一項。比如每個區塊裏面都有一個礦工自治的特殊交易,也就是所謂的 coinbase 交易,它就是一個沒有 Input 的交易。這個交易中直接把一定數量的比特幣轉出給制作這個區塊的礦工。除了這個特例之外,其他的交易都是有輸入的。比如小明想給小剛轉账1個比特幣,這個交易的 Input 應該是啥呢?是和小明的地址相關的一些交易,更准確的說,就是這些交易中包含的屬於小明地址的未消費的交易輸出,也就是 UTXO 。

於是我們就很自然的進入了第二個要素,也就是交易中應該包含輸出。“輸出”是個術語,英文叫 Output。在小明給小剛轉账一個比特幣的交易中,交易的 Output 就是指向小張的地址的這一個比特幣。這樣,UTXO 中的後三個字母 TXO ,其中 TX 代表交易,O 代表 Output,我們就理解了。

最後一個 U 指的是 Unspent,也就是未消費。小張如果從來沒有用這個 Output 做過其他交易的輸入,那么這個 Output 就是沒有被消費過的,就是 UTXO。

最後一個要素就是手續費,一個非 coinbase 交易中輸入要等於輸出加上手續費,手續費是要轉账給礦工的。討論中為了簡便,我們忽略手續費這一項。

理解的比特幣交易的基本組成其實也就理解了 UTXO。到任何一個比特幣瀏覽器中點开一個具體的交易,詳情中可以看到咱們剛剛說的這幾個要素。

湊輸入和找零

UTXO 有個特點,就是跟硬幣一樣,不能掰开用,那么交易過程中如何湊夠輸入金額,又如何找零的呢?

小明給小剛轉账 1 比特幣。整個過程是這樣的,小明要收集足夠的輸入,比如小明的地址對應的以往交易中,找到了一個面值為 0.9 的 UTXO,不夠 1 比特幣,好在交易中是允許有多個輸入的,所以小明又找到了一個面值 0.2 的 UTXO,這樣在這次轉账的交易中,就會有兩個輸入。同時輸出也會有兩個,一個是指向小剛地址,面值是 1 比特幣。另一個指向小明的地址,面值是 0.1 比特幣,這個輸出就是找零了。

梳理一下,整個流程是這樣的:小明首先要湊夠足夠面額的 Input,這裏他找到了兩個 Input,而這兩個 Input 本身都是以往交易的 Output。這兩個 Output 在未消費之前,就是 UTXO,但是當前交易一旦生效,它們兩個就會被消耗掉,而本交易中又會生成兩個新的 UTXO,一個指向小明,一個指向小剛。相當於小明和小剛各種領到手一個硬幣,未來可以在其他交易中去消費。而小明和小剛各自地址的余額,其實就是各自對應的所有 UTXO 的總和。

這樣,交易中如何去湊夠輸入,如何生成輸出,並進行找零,我們就清楚了。

為何使用 UTXO 模型?

到這裏我們就有一個疑問了,比特幣不就是個大账本嗎?為何不採用账戶模型,而要採用 UTXO 模型呢?

账戶模型是傳統銀行或者類似於支付寶這種服務的基本模型,這個模型下,我有一個自己對應的账戶,上面記錄我有 13 塊錢,那么 13 這個數字是明明白白記錄到系統中的。账戶模型的確是非常簡單,也非常靈活,以太坊以及一些其他區塊鏈項目中採用的就是账戶模型。

再看看比特幣,小明有 13 個幣,其實區塊鏈上是根本沒有 13 這個數字的,因為區塊鏈上只有交易。但是我們打开比特幣的區塊鏈瀏覽器,是可以看到一個地址對應的余額的,這是區塊鏈瀏覽器自己運算出來的,不是區塊鏈上本來就有的。

UTXO 是理解比特幣交易的樞紐性概念,想要理解比特幣底層原理的同學,這是一個繞不過去的坑。每個交易中,可以包含多個輸入,並且通常包含兩個輸出,輸出總額加上手續費正好等於輸入總額。每個輸出都跟硬幣一樣,有自己的一個面值,而且屬於某個特定地址。還沒有被當做其他交易的輸入使用的輸出,就是 “未消費交易輸出”,就是 UTXO。

UTXO 模型中沒有账戶的概念,所以對比账戶模型顯得稍微繞一些,但是它本身其實也是有巨大優點的,例如非常有利於在分布式系統中進行並行計算處理。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
120 3個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
128 3個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
144 3個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
105 3個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
125 3個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
113 3個月前