以太坊utxo(概念解毒之什么是「UTXO」?)

  以太坊utxo(概念解毒之什么是「UTXO」?)


  


  

今天我们来聊一聊UTXO。。。。。按照惯例,我们举个栗子来解释!

  


  

比特村无聊的周末,铁柱和翠花刚打完一盘吃鸡游戏,此刻正在发呆中。

  

铁柱:“翠花,我们去虎子店里抓娃娃去吧!”

  

翠花:“不去,虎子那个机器太烦了,每次都要计算计算,本来玩的好好的,一到计算余额时就不想玩了!”

  

铁柱:“那是你数学不好”

  


  

翠花:“玩归玩,谁还考虑数学问题。你看虎子那的抓娃娃机玩法,每次去了先充钱,然后拿着自己的充值卡才能去玩,玩一次呢2块钱,这倒还好,只要记住次数就好。但是吧,抓到一个玩玩,奖励0。5元,你说这么一来一去,谁还记得充值卡里面还有多少钱,机器呢又不能显示,只能自己算来算去。”

  


  


  

铁柱:“哈哈,翠花,你还不知道吧,虎子因为很多人反映这个机制,已经对它改良了,使用UTXO来记录余额。

  

  

UTXO的全称是Unspent Transaction Output,翻译过来就是“未花费的交易输出”,是一种用来快速计算你有多少数字资产余额的设计。

  


  

铁柱:“翠花,有了它,再也不需要计算,就可以看到余额了。”

  

翠花:“真的吗?”

  

铁柱:“我带你去看!”

  


  


  

虎子抓娃娃店

  


  

铁柱给了前台5张10元,领到了一张有编号,余额显示50元的凭证纸条,来到一个娃娃机前,将纸条投递进去,然后开始了漫长的抓娃娃过程,玩了10分钟,总共抓了20次,抓到5个娃娃。他按了结束键,这台娃娃机吐出了一张有新编号的纸条,上面写着余额12。5元。

  


  

铁柱说:“翠花,你看,是不是不需要计算了!”

  


  

于是他们又换了一台,将这张纸条递了进去(这张纸条递进去后,编码就会失效),抓了3次,全部抓到了,离开时,这台机器又吐出了一张新的带有新编号,并且显示余额为8元的纸条。

  


  

翠花:“铁柱,我们明天还来玩好不好。”

  


  

铁柱:“好~”

  


  

让我们回到区块世界,UTXO最先是中本聪为比特币设计的,UTXO的设计就是为交易服务的。由于我们在区块链里会发生很多笔交易,有了UTXO,我们可以快速的知道自己的余额信息。

  

  


  

另外就像抓娃娃机的凭票那样,它的唯一编码失效了,无论是你还是收款人,都将得到一条写有全新编码的UTXO记录。因为这些编码的存在,UXTO使得销毁和产生的过程都是可以追溯的。

  


  

所以可以说UTXO本质上是为了解决双花的问题。

  


  

以上这些是比特币系统上使用的UTXO。而以太坊的UTXO非彼UTXO,以太坊是基于账户模型的,以太坊的UTXO并不是要替代原有的账户模型,而是要用在sharding(分片机制)上,为了解决不同片区间的交易问题,以太坊提出了receipt的工作模式,这个模式有点类似UTXO,所以就称呼为以太坊的UTXO了,实际上两者有区别。

  


  


  

以太坊的UTXO账户模型计算的效率更高,每次都计算出了余额,下次不需要重新计算。UTXO如果一笔不够,就需要引用多笔,这很占区块体积。

  


  

但是在区块链中,重要的是每笔交易的体积,而非所谓计算求和次数。(以太坊也因此安全性不如比特币)

  


  

另外就是UTXO容易零碎化。交易所的账户,用户都是小额充值,这样就产生了大量小额的UTXO。从而导致有用户提现时,交易所不得不应用大量的UTXO,这将占据区块大量体积,阻塞区块链网络(每个区块只有1MB)。

  


  

当然隔离见证技术的部署能够一定程度缓解UTXO的压力,因为将签名数据移出了区块(这个大家可以自行了解下)。

  


  


  

最后用一句话来总结:记账的本质:有增有减,比特币价格增减额相等!这是永远不变的。而UTXO,改变的是记账的方式,改变的是这个动作。方式和动作变了,效率和产出就变了,这个世界的运作方式就变了。

  
","content_hash"!"3d15eeef

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论