Bitroo小课堂26:UTXO是什么?

时间:2024-09-27 编辑: 浏览:(181)

UTXO 的英文是 Unspent Transaction Output ,翻译过来叫 “未消费的交易输出”。应该这么说,比特币的核心概念交易,交易的核心知识点就是 UTXO。

交易的组成要素

比特币中是没有账户这个概念的,所谓一个地址的余额,其实就是统计这个地址相关的所有交易,然后运算出来的。所以我们把显微镜调调焦距,先看看一个交易中都包含哪些要素。

第一个要素是输入,也就是 Input。首先,并不是所有的交易都有这一项。比如每个区块里面都有一个矿工自治的特殊交易,也就是所谓的 coinbase 交易,它就是一个没有 Input 的交易。这个交易中直接把一定数量的比特币转出给制作这个区块的矿工。除了这个特例之外,其他的交易都是有输入的。比如小明想给小刚转账1个比特币,这个交易的 Input 应该是啥呢?是和小明的地址相关的一些交易,更准确的说,就是这些交易中包含的属于小明地址的未消费的交易输出,也就是 UTXO 。

于是我们就很自然的进入了第二个要素,也就是交易中应该包含输出。“输出”是个术语,英文叫 Output。在小明给小刚转账一个比特币的交易中,交易的 Output 就是指向小张的地址的这一个比特币。这样,UTXO 中的后三个字母 TXO ,其中 TX 代表交易,O 代表 Output,我们就理解了。

最后一个 U 指的是 Unspent,也就是未消费。小张如果从来没有用这个 Output 做过其他交易的输入,那么这个 Output 就是没有被消费过的,就是 UTXO。

最后一个要素就是手续费,一个非 coinbase 交易中输入要等于输出加上手续费,手续费是要转账给矿工的。讨论中为了简便,我们忽略手续费这一项。

理解的比特币交易的基本组成其实也就理解了 UTXO。到任何一个比特币浏览器中点开一个具体的交易,详情中可以看到咱们刚刚说的这几个要素。

凑输入和找零

UTXO 有个特点,就是跟硬币一样,不能掰开用,那么交易过程中如何凑够输入金额,又如何找零的呢?

小明给小刚转账 1 比特币。整个过程是这样的,小明要收集足够的输入,比如小明的地址对应的以往交易中,找到了一个面值为 0.9 的 UTXO,不够 1 比特币,好在交易中是允许有多个输入的,所以小明又找到了一个面值 0.2 的 UTXO,这样在这次转账的交易中,就会有两个输入。同时输出也会有两个,一个是指向小刚地址,面值是 1 比特币。另一个指向小明的地址,面值是 0.1 比特币,这个输出就是找零了。

梳理一下,整个流程是这样的:小明首先要凑够足够面额的 Input,这里他找到了两个 Input,而这两个 Input 本身都是以往交易的 Output。这两个 Output 在未消费之前,就是 UTXO,但是当前交易一旦生效,它们两个就会被消耗掉,而本交易中又会生成两个新的 UTXO,一个指向小明,一个指向小刚。相当于小明和小刚各种领到手一个硬币,未来可以在其他交易中去消费。而小明和小刚各自地址的余额,其实就是各自对应的所有 UTXO 的总和。

这样,交易中如何去凑够输入,如何生成输出,并进行找零,我们就清楚了。

为何使用 UTXO 模型?

到这里我们就有一个疑问了,比特币不就是个大账本吗?为何不采用账户模型,而要采用 UTXO 模型呢?

账户模型是传统银行或者类似于支付宝这种服务的基本模型,这个模型下,我有一个自己对应的账户,上面记录我有 13 块钱,那么 13 这个数字是明明白白记录到系统中的。账户模型的确是非常简单,也非常灵活,以太坊以及一些其他区块链项目中采用的就是账户模型。

再看看比特币,小明有 13 个币,其实区块链上是根本没有 13 这个数字的,因为区块链上只有交易。但是我们打开比特币的区块链浏览器,是可以看到一个地址对应的余额的,这是区块链浏览器自己运算出来的,不是区块链上本来就有的。

UTXO 是理解比特币交易的枢纽性概念,想要理解比特币底层原理的同学,这是一个绕不过去的坑。每个交易中,可以包含多个输入,并且通常包含两个输出,输出总额加上手续费正好等于输入总额。每个输出都跟硬币一样,有自己的一个面值,而且属于某个特定地址。还没有被当做其他交易的输入使用的输出,就是 “未消费交易输出”,就是 UTXO。

UTXO 模型中没有账户的概念,所以对比账户模型显得稍微绕一些,但是它本身其实也是有巨大优点的,例如非常有利于在分布式系统中进行并行计算处理。

最新 更多 >
  • 1 币界网实时价格午报:PEOPLE报0.04999美元/枚,跌幅达-3.03%

    最新消息:BOSS Wallet数据来源,ConstitutionDAO实时价格行情,PEOPLE今日最新价格达$0.04999,跌幅高达-3.03%,交易量$7368.16万经过k线图解析,目前是震荡趋势。相比05:00小幅上涨,相比06:00小幅下跌,比02:00有所下降。交易量减少,价格和交易量同步下降。 威廉指标指出,现在是没有超买和超卖的状态。最近交易量有所减少,交易量比前几小时减少,价

  • 2 币界网最新行情晚报:ORDI价格达26.598美元/枚,日内跌幅-3.07%

    最新消息:BOSS Wallet数据来源,Ordinals今日价格行情,ORDI最新价格跌落至$26.598,跌幅达-3.07%,交易量$1.17亿根据k线图的解析,现在处于震荡趋势。相比08:00小幅上涨,相比09:00小幅下跌,比02:00有所下降。市场活跃度低,动能不足。 威廉指标表明,现在是没有超买和超卖。最近交易量有所减少,交易量比前几小时减少,价格和交易量同时下降:市场冷清,交易不活跃

  • 3 CryptoQuantCEO:持有比特币2至3年时间的熊市投资者已出售约67%持仓

    最新消息: CryptoQuant CEO Ki Young Ju 于 X 发文表示:“如果你现在正在出售比特币,那么你持有比特币的时间可能不会超过 3 年,因为资深持有者(veteran holder)并不会出售。-牛市投资者(持有时间 6 个月至 2 年)在比特币接近上一次历史高点时出售了大部分 BTC 持仓;-熊市投资者(持有时间 2 年至 3 年)出售约 67%持仓;-经历过多个周期的资深

  • 4 Synapse(SYN)上涨突破0.46美元,24小时涨幅30.3%

    最新消息:深潮 TechFlow 消息,8 月 16 日,据 Binance 行情数据,Synapse (SYN) 上涨突破 0.46 美元,现报价 0.4501 美元,24 小时涨幅 30.3%。

  • 5 美国立法者敦促CFTC尽快禁止政治事件投注

    最新消息:参议员伊丽莎白·沃伦(Elizabeth Warren)和其他民主党议员敦促美国商品期货交易委员会(CFTC)主席罗斯汀·贝纳姆(Rostin Behnam)“迅速” 敲定一项规则,禁止允许对政治事件进行投注的事件合约。选举赌注 “降低了我们民主进程的神圣性”,立法者周一在一封信中说。今年 5 月,CFTC 投票提议一项规定,如果最终确定,将禁止在政治竞赛和其他领域(如赌博、战争、恐怖主

  • 6 币界网24小时行情晚报(7-2218:00)

    最新消息:1)BTC现价:$67328.03,24小时涨跌 0.55%,交易量$124.40亿2)ETH现价:$3484.44,24小时涨跌 -0.34%,交易量$71.59亿3)USDT现价:$1.00,24小时涨跌 -0.02%,交易量$9.75亿

  • 7 Matrixport:特朗普民调领先、鲍威尔本周讲话或将推动加密市场回暖

    最新消息:Matrixport 今日发布图表称,特朗普最近在部分选举民调中领先卡玛拉·哈里斯,对比特币的友好立场可能推动加密市场回暖。 同时,纳斯达克指数自 8 月 5 日闪崩后已反弹,科技股大涨,但比特币价格却相对滞后。 随着美联储主席鲍威尔本周即将发表讲话,其偏鸽派的基调或将助推比特币,进而缩小与纳斯达克的差距。

  • 8 JPMorgan:8月比特币挖矿利润降至历史低点,美国矿工算力占比创新高

    最新消息:深潮 TechFlow 消息,8 月 16 日,据 CoinDesk 报道,JPMorgan 报告指出,由于网络算力在八月前两周上升,比特币挖矿利润降至历史最低点。美国上市矿工的比特币网络算力占比连续四个月上升,达到创纪录的 26%。尽管如此,受人工智能相关收益回吐影响,美国上市矿企市值自七月底以来下跌 18%。当前算力为 621 EH/s,仍低于减半前水平,挖矿利润较去年十二月低约 3

  • 9 币界网大额成交监控

    最新消息:Binance刚发生一笔【USDCUSDT】大额成交,成交单价为0.9998USDT,共成交了809725.00个,价值809563.06USDT

  • 10 区块链出行平台MVL将推出Telegram内置打车服务,支持TON代币支付

    最新消息:深潮 TechFlow 消息,8 月 21 日,据《首尔经济报》报道,区块链移动出行平台 MVL(Mobility Vehicle Lab)计划于下月推出名为"TADA mini"的新车辆呼叫服务。MVL 首席执行官禹庆植在接受采访时透露,用户无需安装额外应用,只需在 Telegram 聊天室中搜索"TADA mini"即可使用该服务。该服务将支持使用 Telegram 开发的加密货币