EFI:科普:比特币的 UTXO 模型

提要

比特币不使用“账户-余额”的模式来表示价值。相反,它将币作为首要的概念,每一笔钱各自由比特币用户持有。

一个未花费的交易输出代表“一整块”的比特币。UTXO被用作比特币交易的输入。

UTXO模型使得比特币在可审计性、透明性和效率上更优于传统金融系统。

什么是UTXO?

一个未花费的交易输出就代表一定数量的比特币。多个UTXO可以组合、单个UTXO也可以拆分,做出支付所需的任何面额。

我们可以将UTXO理解成实物货币,因为它们必须作为完整的一个单元来使用。如果你想花5毛钱,你不可能掰开一个1块钱硬币来付款。相反,你必须花掉整个1块钱,然后拿5毛钱的找零。但是,不同于实物货币,UTXO没有标准面额。一个UTXO可以是任意数量的比特币。

声音 | 江卓尔:改个难度调整算法并不是什么大问题:莱比特矿池江卓尔回应网友指责“BCHABC加入防重组代码是愚蠢的”时称,这逻辑水平也太low了吧,和Core党一个水平,Core党喜欢喷BCH有EDA所以容易分裂,说得好像BTC没有EDA,有哪个BTC分叉币因为难度高死掉了一样。都要改规则分叉了,还不能随便改个难度调整算法?[2018/11/22]

顾名思义,一个UTXO就是一个比特币交易的输出。输出以UTXO的形式存在,直到被用作另一个交易的输入为止,这时就不再是未花费的。

在任意时间点,现有UTXO的集合都被称为?UTXO集。比特币节点会追踪UTXO集,从而确定哪些代币未被花费,以及哪些人可以花费它们。该系统可以让比特币解决多重支付问题。双重花费问题是长期困扰数字货币尝试的一大难题。

UTXO是如何创建的?

英国人大多数不知道区块链加密货币是什么:调查显示,很多英国公民可能对基本的密码相关条款有一个完全错误的想法。这表明,尽管加密货币越来越受欢迎,一些英国人可能仍然完全不知道他们的存在。许多英国人把加密货币与其他东西混为一谈,例如,有36%的受访者认为“加密货币”与殡葬金融有关。受访者也被问到“区块链是什么?”而令人吃惊的是,41%的人说它必须是那种老式的带有拉链的厕所水箱。[2018/4/2]

新的UTXO是通过花费现有UTXO创建的。每个比特币交易都由输入和输出组成。输入花费已有UTXO,输出则创建新的UTXO。

那么,如果新的UTXO是通过销毁已有UTXO创建的,那么最初的UTXO是怎么来的?

Coinbase交易

Coinbase?交易是一种特殊类型的交易,通过创建新的比特币来奖励找到区块的矿工。由于创造了新的比特币,coinbase交易没有输入,但是会产生一个或多个输出。就像所有正常输出一样,coinbase交易的输出是新的UTXO。

阎焱回应为太空链站台:我和太空链没有任何关系,我连它是什么都不知道:太空链SPC(Space Chain)ICO项目以一天时间完成10亿人民币私募,依靠薛蛮子、阎焱、帅初等一票大佬站台,用“量子”、“太空”、“卫星”等一堆高科技关键词包装,却在一个月内随即跌破发行价,市值接近为零,众多投资者要求退避维权一事的调查。针对为太空链站台一事,阎焱对媒体回应:“我和太空链没有任何关系,我连太空链是什么都不知道,我已委托律师联系他们。”[2018/3/16]

每个UTXO的历史都可以追溯到coinbase交易的一个或多个输出。

理解比特币的UTXO模型

比特币的UTXO模型不同于大多数数字货币系统。这是因为比特币的设计目的有别于传统金融系统。比特币的初衷是实现完全透明化、公平性和可审计性。UTXO可以帮助比特币实现这些目标。那么UTXO模型是如何运作的?

动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/21]

地址和UTXO

在传统金融系统中,交易会从一个账户中取出资金转移到另一个账户中。比特币的UTXO模型没有账户,因此没有专门的发送方账户/地址。地址虽然被用来接收UTXO,但是永远不会直接记录在区块链上。比特币地址是?scriptPubKeys?的编码,包含在每个交易的输出中。

动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]

当比特币被花费出去时,输入只包含执行scriptPubKey所必需的签名和公钥,并没有提到比特币来自区块链上的哪个地址。但是,UTXO的上一个地址是可以轻松计算得出的。每个交易输入都通过交易id来指明其前序交易,并通过索引来指明使用该前序交易的哪一个输出。被引用的交易输出的scriptPubKey可以被转化成比特币地址。

比特币的货币政策

UTXO模型可以让所有比特币节点在任意时刻就比特币的存在情况达成共识。也就是说,任何人都可以审计比特币的总供应量,来确保比特币的货币政策被严格遵守。

UTXO的组合和拆分

一个比特币交易可以包含任意数量的输入和输出。因此,用户可以任意组合和拆分UTXO来完成任意金额的付款。

例如,Alice持有两个UTXO,分别价值0.5BTC和0.7BTC。当她向Bob支付1BTC时,可以使用这两个UTXO作为输入,然后将1BTC的输入发送给Bob。

Alice还另外创建了一个0.199BTC的输出作为找零发送给自己。由于需要支付交易费,她无法给自己发送0.2BTC。

??交易费不以交易输出的形式体现。它是通过输入值和输出值之间的差额推算得出。

交易验证

UTXO模型可以让比特币节点有效验证链上的每个交易。当节点收到一个交易时,无论该交易是否已经打包进区块,均可验证该交易内的UTXO是否真的有效且没有被花费。正因如此,比特币可以在不依赖可信第三方的情况下解决双重花费问题。

UTXO模型vs.账户模型

大多数金融系统不使用UTXO模型。因此,用户不依靠某几种代币来控制资产,而是使用一个或多个账户,且每个账户都有余额。账户模型可以让金融机构和商家精确记录个人账户的借入贷出情况,避免找零和选币问题。

账户模型的可靠性问题

账户模型的优势是以牺牲透明性和可审计性为代价的。审计所有银行账户中的美元总量是不可能的。

另外,大多数账户模型饱受退单和账户透支等问题的困扰。由于比特币交易必须引用要被花费的UTXO,无效交易不可能被添加到区块链上。

UTXO模型的隐私问题

UTXO模型为用户提供隐私优势。比特币用户可以将每个UTXO存储在不同的地址中分别处理。通过这种方式,用户可以隐藏其持有的UTXO之间的联系,避免暴露在公众视线中。对于区块链观察者来说,确定哪些UTXO属于哪些用户会变得更有难度。

比特币的设计极大降低了生成新地址的难度。账户模型系统使得生成新账户变得非常麻烦,甚至不可行,迫使用户将全部或大部分资金存放在一个账户中。

链分析公司试图通过各种方法破坏比特币的隐私性并确定UTXO的所有权。然而,这些方法靠的是假设和间接证据,而非严格的逻辑。

相关术语

交易

交易是比特币从一个地址转移到另一个地址的记录。所有交易都记录在区块链上的区块中。

UTXO集

UTXO集是某一时间点存在的所有UTXO的集合。所有UTXO的总量就是比特币的当前供应量。

交易ID

交易ID是标识特定交易的一串字母和数字。这个字符串只是对交易进行二次SHA256计算得到的哈希值。

多重支付

所谓的多重支付,就是有人将同一笔钱花了不止一次,并让一方或双方相信他们已经拿到了钱。比特币利用去中心化账本和带有时间戳的区块链解决了双重花费问题。

稀缺性

货币稀缺性指的是货币很难被找到或创造出来。虽然货币普及很重要,但是一旦货币可以被轻而易举地创造出来,会对经济产生负面影响。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-3:930ms