请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

扫一扫,登录网站

首页 百科 查看内容
  • 6067
  • 0
  • 分享到

比特币当中的UTXO模型是什么?

2019-1-14 13:01

来源: 巴比特 作者: DVPNET

据了解,在漏洞代码片段中会涉及一些UTXO的相关知识、概念,所以对该漏洞进行理论分析之前需要先了解一下这些知识点,已经了解的可以直接跳过。

1、账户模型与UTXO模型

我们在看UTXO模型之前先说说常见的账户模型,什么是账户模型?账户模型的数据结构简单可以理解为“账号=>余额”,每个账号都对应一个余额。举个例子:若账号A向账号B转账200,在账户模型中完成这个转账操作只需要A-200然后B+200;目前大部分软件都采用的是账户模型,比如银行系统、以太坊等等。

比特币却使用了自行研发的UTXO模型,UTXO中是没有“账号=>余额”这样的数据结构的,那怎么进行转账?

2、比特币如何操作转账

以上面A向B转账为例,在UTXO中完成这个转账需要以下操作:

(1). 找到A账号下200余额的来源,也就是意味着要找到A收款200的这笔交易x

(2). 以x交易为输入,以向B转账200的交易y为输出,x与y对应且x与y的转账金额必须相等

(3). x交易被标记为已花费,y交易被标记为未花费

两笔交易的转账金额必须相等,简单解释就是收到多少就只能转出多少,实际上确实是这样。

但是又必须只给别人转一部分的时候怎么办?答案是只向他人转一部分,然后剩下的一部分转给自己另外一个号。

3、引用两张来自网络的图文:

比特币当中的UTXO模型是什么?


账户模型


UTXO模型

在本文当中比特币为什么采用UTXO模型不是重点,我们了解UTXO的原理即可。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
发表评论

请先 注册/登录 后参与评论

    回顶部