美文网首页
关于UTXO 的一些思考

关于UTXO 的一些思考

作者: youyongdeyu | 来源:发表于2018-09-14 17:48 被阅读0次

    账目主要有两种记录保存方式,UTXO 模式(Unspent Transaction Output) 和 Account 模式。

    对于 Account 模型,我们应该并不陌生。现在的银行也好、信用卡也好、证券交易系统也好,互联网第三方支付系统也好,其核心都是基于账户的设计。

    但数字货币无法像金属货币(比如黄金)那样,仅靠物理转移即可转移所有权——即当A将一份黄金交给B后,A必然不再拥有这份黄金。而A将一份数字货币转给(签名)B后,A仍可以把同一笔交易转给C,因为A掌握私钥,这两份签名均为有效签名,这就构成了“双花”。因此必须有一种机制来确保每笔交易只能使用一次,即只有对“尚未使用过”的交易签名才能是有效签名。因此,UTXO 模式因运而生。

    我们首先要明确UTXO 模式的两大规则:

     一是除了 coinbase 交易(挖矿获得比特币奖励)之外,所有的资金来源都必须来自前面某一个或者几个交易的 UTXO,就像接水管一样,一个接一个,此出彼入,此入彼出,生生不息,钱就在交易之间流动起来了。

     二是任何一笔交易的交易输入总量必须等于交易输出总量,等式两边必须配平。 比特币是矿工挖出来的。

    当一个矿机费尽九牛二虎之力找到一个合格的区块之后,它就获得一个特权,能够创造一个coinbase交易,在其中放入一笔新钱,并且在交易输出的收款人地址一栏,堂堂正正的写上自己的地址。这个coinbase交易随着矿工张三挖出来的区块被各个节点接受,经过六个确认以后永远的烙印在历史中。

    过了几天,矿工张三打算付2.5个比特币给李四,张三就发起交易。这一笔交易必须将前面产生那一项12.5个比特币的输出项全部消耗,而由于张三只打算付给李四2.5个比特币,为了要消耗剩下的10比特币,他只好把剩余的那10个比特币支付给自己,这样才能符合输入与输出配平的规则。

    所以,其实并没有什么比特币,只有UTXO。当我们说张三拥有10枚比特币的时候,我实际上是说,当前区块链账本中,有若干笔交易的UTXO项收款人写的是张三的地址,而这些UTX 项的数额总和是10。当节点接收到一笔交易的时候,它需要去 UTXO 数据库里查,看看这笔交易所引用的 UTXO 是否存在,它的收款人(拥有者)是不是当前新交易的付款者。而交易结束之后,数据库要做相应的更新。

    以上仅供学习交流之用,不构成任何投资建议。

    相关文章

      网友评论

          本文标题:关于UTXO 的一些思考

          本文链接:https://www.haomeiwen.com/subject/zjxagftx.html