科普:比特币的 UTXO 模型

提要

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

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

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

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

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

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

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

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

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

Gate.io将于今日上线OXT、SAND交易:据官方公告,Gate.io将于2月20日(今日)12:00上线 Orchid Protocol (OXT) 交易,并于14:00上线 SAND (SAND) 交易。风险提示:请务必注意价格变化,提前调整市场挂单,切勿追高。[2021/2/20 17:33:13]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

金宝趣谈

XRP数字人民币为何无法替代第三方支付

移动支付网消息:数字人民币正在更加清晰,同时也出现了新的疑惑。 近日,中国人民银行发布了《中国数字人民币的研发进展白皮书》(以下简称“《白皮书》”),回答了很多人们的问题,同时也带来了更深的思考。 不过依旧很多人对数字人民币与支付宝、微信支付有何区别有不解,毕竟前端体验上并没有太大差别。但从产业和业务逻辑上,我们能够看出其中不同。

XLM科普:什么是侧链和rollup?他们有何区别?

Infura 现已支持以太坊之外的网络,包括 Arbitrum、Optimism 和 Polygon。 这三个项目都是全新的区块链网络。相比以太坊,它们提供了更低的交易费和更快的交易确认速度。关键是,它们还提高了以太坊的易用性,因为用户原本放在以太坊上的资产也能拿到这几个网络中使用。 这种扩展方法被称为「链下协议」。

USDC详尽解释隔离见证

比特币的可扩展性问题是其面临的主要问题之一,也是许多人努力的方向。比如说,有个设想是 “闪电网络”;但是,要在比特币网络中实现闪电网络,条件似乎还不具备,因为比特币自身的一些缺陷。另一个解决方案 “隔离见证(Segregated Witness)” 也致力于提高可扩展性,但它同时也解决了许多问题,包括闪电网络实现所需修补的一些缺陷。

ADA元宇宙:用“分身”定义自我的勇敢新世界

你知道“元宇宙’吗? 1992年,美国著名科幻作家尼尔·斯蒂芬森(Neal Stephenson)推出了自己的小说《雪崩(Snow Crash)》。 在书中,尼尔·斯蒂芬森描述了一个平行于现实世界的网络世界,并将其命名为“元界”。所有现实世界中的人,在元界中都有一个“网络分身”。 这个“元界”,英文原著中叫“Metaverse”。

[0:15ms0-7:458ms