UTXO详解
刚刚接触比特币的朋友经常会遇到这个词,官方解释是未经使用的交易输出。只从这个定义上,你能明白是什么意思吗?反正我是困惑了很久。
我们常规的理解是,账户,余额,支出,收入。比如,银行账户,我们有1万元,收入1万,则余额为2万,支出5000,余额为1万5000元。但比特币里实际上是没有账户和余额的概念的。只有一个概念叫utxo,实际上就是你能够支配的,并且还没有被使用的btc,这些btc作为一个整体(无论比特币的数值是多少,都做为一个整体)保存在比特币系统网络里,而且这个utxo能用且只能用一次。
我们可以把utxo类比成支票。支票的数额可以是1元或者1亿元。utxo的数额可以是1聪btc,也可以是1万个btc,但都是一个整体,不可分割。
假设A有一张支票,价值1万元,需要付款给B5000元,那么,B会得到一张5000元的支票,交易费用是100元,作为一张支票给第三方,A自己得到一张支票,价值4900元。原来的1万支票已经使用过,不能再次使用,A,B,第三方分别得到一张新的支票,都是未被使用过的。三个人分别对这三张支票有使用权。
同样的,A有一个utxo,价值1万个btc,需要付款给B5000个btc,那么B会得到一个utxo(价值5000个btc),矿工得到一个utxo(矿工费1btc),A也会得到一个utxo(价值4999btc)。原来的含1万个btc的utxo被系统标记过使用过,任何人不能在使用。而A,B,矿工分别得到一个utxo。他们分别对自己名下的utxo有使用权。
如下图所示,A有一个UTXO_1,价值1万btc,给B5000个btc以后,B得到一个utxo_2,价值5000个btc,矿工得到一个utxo_3,价值1个btc,A自己得到一个utxo_4,价值4999btc。原来的utxo_1,被系统标记未使用过。不能再次使用,即不能被双花。以此类推,当A在给C1000个btc时,C得到一个utxo_5,价值1000个btc,矿工得到一个utxo_6,价值0.2btc,A得到一个utxo_7,价值3999.8btc。

此时,系统中,未经使用的交易输出(utxo)包括:
B的utxo_2(价值5000btc),
矿工的utxo_3(价值1btc)和uxto_6(价值0.2btc),
C的utxo_5(价值1000btc)
A的utxo_7(价值3999.8btc)
原来的utxo_1,utxo_4,是已经被使用过的交易输出,不能再次使用。
因此,在比特币的系统中,并没有账户和余额的概念。系统中只有utxo,谁有这个utxo的密钥和签名,谁就拥有这个utxo。
https://steemit.com/utxo/@electroman/utxo
