区块链基础知识第7期:UXTO

UTXO :Unspent Transaction Output 未花费的输出

举例来说,一个钱包中有一个10元、1个5元,1个1元,一共16元。比特币一个账户的余额,也是根据这个账户UTXO计算的。

当花12元买东西时,可以把10元和5元拿出去,然后得到找零的3元, 那这个时候之前的10元和5元因为已经花出去了就不再是UTXO了,新找零的3元成为新的UTXO,再加上之前未动的1元UTXO,目前的余额是4元。这次新的交易记录在了新的区块上,但没有改变历史区块的数据。

比特币使用前后链接的区块链记录所有交易记录,当之前的UTXO出现在后续交易的输入时,就表示这个UTXO已经花费掉了,不再是UTXO了。 如果从第一个区块开始逐步计算所有比特币地址中的余额,就可以计算出不同时间的各个比特币账户的余额了。

UTXO系统和账户系统的区别:

1、UTXO只需要看最后一次交易,而账户系统要看历史全数据后把所有的增减操作全部加起来才能获得正确的余额,两者效率差异随着时间推移会越来越大;

2、UTXO未来可以裁剪历史老数据,而账户系统则不能丢弃老数据,前者区块链可以控制住整体大小,而后者只能持续膨胀。

UTXO解决了什么问题:

数字货币无法像金属货币(比如黄金)那样,仅靠物理转移即可转移所有权,即当A将一份黄金交给B后,A必然不再拥有这份黄金。

而A将一份数字货币转给(签名)B后,A仍可以把同一笔交易转给C,因为A掌握私钥,这两份签名均为有效签名,这就构成了“双花”。因此必须有一种机制来确保每笔交易只能使用一次,即只有对“尚未使用过”的交易签名才能是有效签名。

UTXO就是解决了双花问题,从而实现了价值转移。

———————来自硅谷live晓杰

你可能感兴趣的:(区块链基础知识第7期:UXTO)