当前位置:主页 > 区块链 > 区块链技术 > UTXO

UTXO:未使用的交易输出,比特币核心概念之一

2021-10-29 15:19:04 | 来源: | 作者:佚名
这篇文章主要介绍了UTXO:未使用的交易输出,比特币核心概念之一的相关资料,只要你愿意,你就可以在比特币区块链上开设无限多个钱包地址,你拥有的比特币数量是你所有的钱包地址中比特币的总和。

在比特币系统上其实并不存在“账户”,而只有“地址”。只要你愿意,你就可以在比特币区块链上开设无限多个钱包地址,你拥有的比特币数量是你所有的钱包地址中比特币的总和。比特币系统并不会帮你把这些地址汇总起来形成你的账户。

从我(甲)到你(乙)的一笔比特币转账,是从我的一个钱包地址转到你的一个钱包地址上去。

接下来的讨论就涉及比特币系统的一个关键技术性细节:UTXO(未使用的交易输出)。通证经济专家孟岩曾撰写一篇文章,标题是“其实没有什么比特币,只有UTXO”,这个标题指出了,对于计算机来说比特币是什么——比特币是区块链账本上的交易输出。

我们来看一个两个人进行转账交易的过程,以深入理解UTXO:

假设我有 8 个比特币,这其实意味着,之前有一个交易把这些比特币转入我的地址,这个交易的输出(即 8 个比特币)未被使用,我拥有了这 8 个比特币。

现在,我要发起一个转账交易,这个交易中的输入是让我拥有这些比特币的上一个交易。

我要转账给你,我做的是,对让我拥有这些 8 个比特币的上一个交易进行签名,把这一新转账交易的输出地址设为你的钱包地址。

这样,我就发起了一个转账支付交易。等矿工将这一交易打包进新的区块,转账交易完成,这 8 个比特币就属于你了。你拥有的是你我这个交易的未使用的交易输出。

对于一个交易签名所涉及的比特币的公钥和私钥的非对称加密机制,之后再讨论。为便于理解可类比看,钱包地址相当于房间号和锁,私钥则相当于钥匙,钥匙可以打开对应的锁。

以上两个人的转账交易过程是:我用私钥(从一个输出是我的地址的交易中)取出比特币,并用私钥对从我的地址转到你的地址的新交易进行签名。一旦交易完成,这些比特币就转到你的钱包地址中去。你的钱包中新交易的未使用交易输出,只有你的私钥才可以打开。

从以上讨论中我们可以看到,的确不存在比特币,只有未使用的交易输出(UTXO)。每一笔比特币都源自上一个交易,可以一直向上追溯上去。而一直向上追溯,在每一笔比特币的源头,都有一种特殊的交易,即比特币矿工因挖矿获得奖励的创币交易,每一个比特币都是通过挖矿被创造出来的。假设我作为比特币矿工挖矿成功赢得了 25 个比特币,那么这个特殊交易是,它的输入是 0,而输出是 25 个比特币进到矿工的钱包地址中。

未使用的交易输出(UTXO)和我们熟悉的银行账户有着很大的不同。为什么要采用这样的设计?对比银行账户和比特币的 UTXO,我们可以看到 UTXO 的优点。

1) UTXO设计易于确认比特币的所有权

如果采用传统的账户设计,当我要转账 8 个比特币出去时,为了完全避免造假,我们就需要逐一向上追溯,确认之前的每一笔交易,从而证明我的确拥有 8 个比特币。

采用现在的 UTXO 设计,要确认我拥有 8 个比特币,只要确认上一个交易我的确获得了它们即可。通常只要上一个交易是真实的,我就的确拥有这些比特币。而我们都知道,一个区块经过 6 次确认,其中的交易可被认为是真实无误的。

2) UTXO设计与区块链账本是完全融为一体的

区块链账本存储的是状态。以太坊是对比特币区块链的改进,在白皮书中,以太坊创始人维塔利克分析了比特币,他认为,“比特币账本可以被认为是一个状态转换系统(state transition system)”。以太坊也是采用这种状态转换系统的设计,但对之进行了改进。

微观地看,每一个区块链中的交易都是一个状态转换函数,以太坊白皮书就用“以太坊状态转换函数”(Ethereum state transition function)来讨论在区块链上一个交易的进行过程。

几乎所有的区块链都是采用这一设计,每一个新区块和它之前的所有区块一起形成了一个新的状态,如此重复、持续下去。在确认之后,之前的状态就不可篡改,即不可随意更改。UTXO(未使用的交易输出)是与这种状态的设计相对应的。

加深对 UTXO 的理解

UTXO 是 unspent transaction outputs(未使用的交易输出)的缩写,每一个比特币其实都是 UTXO,它是比特币的最核心概念之一。

参考资料:《区块链:技术驱动金融》中相应的讨论,及文章“比特币和以太坊的记账方式——UTXO 和账户余额”(黄世亮/文)。

你的比特币就是 UXTO

比特币的挖矿节点获得新区块的挖矿奖励,比如 12.5 个比特币,这时,它的钱包地址得到的就是一个 UTXO,即这个新区块的币基交易(也称创币交易)的输出。币基交易是一个特殊的交易,它没有输入,只有输出。

当甲要把一笔比特币转给乙时,这个过程是把甲的钱包地址中之前的一个 UTXO,用私钥进行签名,发送到乙的地址。这个过程是一个新的交易,而乙得到的是一个新的 UTXO。

这就是为什么有人说在这个世界上根本没有比特币,只有 UTXO,你的地址中的比特币是指没花掉的交易输出。

详看从甲转账给乙的过程

假设甲(Alice)向乙(Bob)转账,则转账过程可以分成三个阶段(见图1):

1) 假设Alice之前通过挖矿获得了 12.5 个比特币,在她的地址中,这些比特币是某个币基交易的 UTXO。

2) Alice 发起一个交易,输入是自己的上一个交易,输出是 Bob 的地址,数量是 12.5 个比特币,Alice 用自己的私钥对交易进行签名。

这里简化了交易过程,只讨论了将上一个交易的输出全部转帐的情况。如果试图转出上一个交易的输出的一部分比特币,则要进行略复杂的处理。
按照比特币系统的设计,比特币交易还要遵循一个原则:每一次交易的输入值都必须全部花掉,不能只花掉部分。比如,我要转出比特币给你的钱包地址中只有 8 个比特币,那么很简单,我发起一个交易,把这 8 个比特币转到你的钱包地址中,我签名确认这个交易。但假如我的钱包地址中有 25 个比特币,那我发起的交易就不是转给你 8 个比特币,然后自己的钱包地址中还剩下 17 个比特币。这时,我发起的交易是:从我的钱包地址中转 8 个比特币给你,同时转 17 个比特币给我的同一地址。

3) 当交易被区块链确认后,Alice 的 UTXO 就变成了 0。而在Bob的地址中就多了一个 UTXO,数量是 12.5。

图1:比特币转账的三个阶段

存在 Bob 的钱包地址中的这些比特币只有用 Bob 的私钥才可以签名转账给其他人。

如果Bob要将这些比特币转账给其他人,则重复上述过程。

简单地说,从一个地址向另一个地址转账比特币的过程,是用这个地址对应的私钥打开,再加密到另一个地址的过程。这个私钥的打开和加密就是签名的过程。在这个过程中,接收比特币的一方并不需要动用自己的私钥。

我的比特币是什么样的?它们存在哪儿

初次接触比特币的人会问:我的比特币是什么样的?它们存在哪儿?

如果你头脑中参照的是在物理世界中购买金币,那么这里很不一样,你的比特币并不是存在家中或金库中,并不存在一个数字文件表示“你的比特币”。

如果你头脑中参照的是银行的存款,那么你可以假设,你的比特币就“存在”于一个账本上,我们已经知道了,在数字世界中,价值是账本中的“记录”。

不同的是,对比特币来说,这个账本不是一家银行的中心化数据库,比特币的账本是一个分布式账本,存在于一个去中心化的网络上。任何人都可以接入这个网络,把这个账本下载下来。但是,只有用你的私钥才能动用你的地址中的比特币。

我们还可以再换一个角度看,你的比特币在哪儿?按前面说的,比特币就是 UTXO,那么比特币可以被看成是上面的物理世界金币和银行存款两种概念的混合:

一方面,你的比特币是有一个“物理存在”的——对应着一个数据文件。比特币以一个交易的UTXO的形式存在着,每个交易都可被看成是一个数据文件。

另一方面,所有这些交易被打包进区块链的区块中,后一个区块连着前一个区块,形成一条链,也就是独特的账本。这么看,你的比特币是这个账本上的记录。

为什么采用UTXO的形式

UTXO 与我们熟悉的账户概念的差别很大。我们日常接触最多的是账户,比如,我在银行开设一个账户,账户里的余额就是我的钱。

但在比特币网络中没有账户的概念,你可以有多个钱包地址,每个钱包地址中都有着多个 UTXO,你的钱是所有这些地址中的 UTXO 加起来的总和。

中本聪发明比特币的目标是创建一个点对点的电子现金,UTXO 的设计正可以看成是借鉴了现金的思路:我们可能在这个口袋里装点现金,在那个柜子角落里放点现金,在这种情况下不存在一个账户,你放在各处的现金加起来就是你所有的钱。

采用 UTXO 设计还有一个技术上的理由,这种特别的数据结构可以让双重花费更容易验证。对比一下:

如果采用账户和账户余额设计,Alice 要转账给 Bob,为了确保 Alice 的确有钱,我们需要核查她之前所有的交易。随着时间的推移,比特币的交易越来越多,这个验证的难度会持续上升。

采用 UTXO 设计,我们只要沿着每个交易的输入逐级向上核查,直到查到这笔比特币的创币交易即可。随着时间的推移,这个核查也会变难,但变难的速度要远低于采用账户和账户余额设计。

这种设计使得比特币系统作为一种电子现金系统有着非常大的可扩展性。当然,我们很快会看到,通常被认为是区块链 2.0 的以太坊没有继续采用 UTXO 设计,而是考虑到其他因素,采用了账户余额的设计,其代价正是中本聪可能已经考虑到的复杂性。

以上就是UTXO:未使用的交易输出,比特币核心概念之一的详细内容,更多关于UTXO的资料请关注脚本之家其它相关文章!

免责声明:本文只为提供市场讯息,所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任。!
Tag:区块链   UTXO  

你可能感兴趣的文章

更多

热门币种

  • 币名
    最新价格
    24H涨幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 72396.27¥ 499179.52
    +5.61%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 2119.12¥ 14611.54
    +6.46%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 1.0001¥ 6.8957
    +0.02%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 656.91¥ 4529.46
    +3.62%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 1.4188¥ 9.7827
    +4.19%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 0.9994¥ 6.8909
    -0.05%
  • solana SOL Solana

    SOL

    Solana

    $ 90.4481¥ 623.64
    +3.95%
  • tron TRX 波场

    TRX

    波场

    $ 0.2867¥ 1.9768
    +2.25%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.098974¥ 0.6824
    +9.59%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 32.0717¥ 221.13
    +1.77%

币圈快讯

  • 930枚BTC从匿名地址转出经中转后转至另一匿名地址

    2026-03-05 07:30
    据Arkham数据,在07:21,930枚BTC(价值约6759万美元)从一匿名地址(3GTQBv5B4...开头)转出至两个匿名地址(bc1q908dtg...开头和bc1q2catyz...开头)。
  • 美SEC向OIRA提交一份监管解释文件阐明联邦证券法如何适用于特定加密资产及相关交易

    2026-03-05 07:23
    据加密记者EleanorTerrett披露,今日,美国证券交易委员会(SEC)向信息与监管事务办公室(OIRA)提交了一份监管解释文件,阐明联邦证券法如何适用于特定加密资产及相关交易。尽管解释文件本身不会改变法律,但由委员会而非普通员工发布这份指引,表明其认为该解释对市场具有重大影响。值得注意的是,这份指引与SEC目前尚未敲定的加密资产发行规则提案相互独立。一旦该指引通过信息与监管事务办公室的跨部门审核,三位委员会委员将对其进行投票表决。SEC发言人表示:“正如阿特金斯主席所言,委员会将审议围绕加密资产代币分类的解释性指引——与市场结构立法保持一致——以确保投资者和创新者清晰了解自身的监管义务。”
  • 特立尼达和多巴哥总统宣布该国进入紧急状态

    2026-03-05 07:01
    特立尼达和多巴哥总检察长约翰·杰里米当地时间4日表示,由于帮派组织威胁采取进一步暴力行动,该国总统坎加卢宣布特立尼达和多巴哥进入紧急状态。该紧急状态已于当天零时生效,授予执法部门和军方更大的权力,以应对与帮派有关的暴力事件激增。近年来特立尼达和多巴哥有组织犯罪猖獗。2025年7月18日,总统坎加卢宣布由于犯罪活动加剧,该国进入紧急状态3个月。随后又延长3个月至今年1月31日终止。3月3日帮派组织再次发出暴力行动升级的威胁。
  • 知情人士:a16z正在为第五期基金募集约20亿美元资金

    2026-03-05 07:01
    据财富杂志社,多位知情人士透露,风险投资巨头AndreessenHorowitz旗下区块链部门a16zcrypto,正在为其第五支基金募集资金。消息人士称,该基金的目标规模约为20亿美元,计划于2026年上半年末完成募资。由于相关讨论涉及公司机密业务,知情人士要求匿名。作为加密货币风投领域规模最大的参与者之一,a16zcrypto此次在区块链市场低迷期逆势募资,引发市场关注。
  • 美联储批准Kraken获主账户资格银行业组织表达“深切担忧”

    2026-03-05 06:52
    美国银行业组织对美联储批准加密机构KrakenFinancial获得主账户(MasterAccount)资格表示强烈反对,认为此举可能使加密机构在缺乏与传统银行相同监管保障的情况下,直接接入美联储支付系统。所谓主账户,是金融机构接入美联储清算和支付网络的重要通道。此次批准意味着KrakenFinancial可直接使用美国央行的支付基础设施。银行业团体BankPolicyInstitute表示对此“深感担忧”,并指出该决定似乎是在美联储尚未完成相关政策框架之前作出的。当前,美联储仍在研究针对所谓“精简型主账户”(skinnymasteraccounts)的监管规则,这类账户通常面向不从事传统存贷业务的金融机构。该机构还批评审批过程缺乏透明度,称外界无法了解审批流程及相关风险缓释措施。与此同时,一些加密行业支持者认为,这一决定可能为更多专注支付业务、但不从事传统银行存贷模式的金融机构打开大门,使其能够直接接入美国金融体系的核心支付网络。
  • 查看更多