科普:比特币的 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 是怎么来的?

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 计算得到的哈希值。

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

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

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

链杂谈

币安app官网下载如何通过Solana集成CeFi与DeFi?

2020 「Defi summer」让人们看到了去中心化金融的魅力和潜力,也让DeFi、CeFi之争一度成为人们热议的话题。DeFi凭借着高收益、免许可、非托管俘获了很多加密用户,更有狂热支持者称「DeFi必定取代CeFi」。 两者虽有冲突,但短时间内我们所面临的一定不会是谁赢谁输的二元问题,而是如何取两者之长补两者之短为普通用户带来更普惠金融的问题。

LTC金色早报 | 预计美联储最终将发行自己的数字货币

头条 ▌达拉斯联储总裁:预计美联储最终将发行自己的数字货币 8月20日,达拉斯联邦储备银行总裁Robert Steven Kaplan周五表示,他预计美国联邦储备委员会(FED/美联储)最终将发行自己的数字货币,称这是支付系统数字化的“最后一英里”,这一进程目前已经开啟。

欧易交易所app下载NTNFT:当钱包能记录你的一生

你能想象,在多年后,你所经历过的一切都被记录在链上,你人生中每一个值得被记录的瞬间都永久地保留在了这个世上。 那么我们应该用什么载体去记录这一切呢?首先,若想这一切永久保存在世上不被监管、删改,我们需要一个去中心化系统基建。其次,每一个人的经历是独一无二的,所以我们需要具有唯一性的载体。最后,个人经历是无法转移给他人的,所以这个载体需要不具备可转移性。

比特币最新价格波卡的跨链是如何实现的?

“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第8期,了解一下波卡跨链的原理究竟是怎样的。

[0:15ms0-0:484ms