主页 > 苹果手机imtoken怎么下载 > 了解比特币 UTXO、地址和交易

了解比特币 UTXO、地址和交易

苹果手机imtoken怎么下载 2023-04-03 06:05:57

2021-09-30 理解比特币的UTXO、地址和交易

标签:|

比特币中的UTXO(Unspent Transaction Output)类似于以太坊中的账户模型。 在比特币中,一笔交易的每笔输入输出实际上都是UTXO,输入的UTXO就是上一笔交易的剩余部分,更准确地说,是上一笔交易的输出UTXO。

除了coinbase交易(挖矿奖励)不输入UTXO外,其他交易都有输入和输出,可以是多个。

下图来自《白话区块链》一书

理解比特币的 UTXO、地址和交易

上图中有3笔交易:

第一笔交易来自挖矿,没有输入,输出是Alice的地址,可以简单理解为UTXO。 第二笔交易是爱丽丝给鲍勃的转账,输入是爱丽丝的地址,输出是鲍勃的地址和爱丽丝的地址。 三笔交易都是Bob给Lily的转账,和之前的交易类似

结合现实世界的使用,用户可以创建任意多个地址,并可以通过地址接收转账,或向他人转账。 那么,地址和UTXO是什么关系呢? 可见该地址是可以重复使用的。 每次使用它时,它要么用作输入,要么用作输出。 如果作为输入,未使用的余额会自动输出到地址比特币白皮书翻译,就是变化的过程。

每笔交易的输入输出都是UTXO,输出产生UTXO比特币白皮书翻译,输入使用UTXO。

例如:Alice 有一个 Bob 和 Lily 分别给 Alice 转账的地址。 转账后,Alice 实际上有 2 个未使用的 UTXO 可以使用,而不是一个。 比特币永远不会将 UTXO 合并到一个地址中。 UTXO,每一个UTXO都可以追溯,知道从矿工那里挖出来的coinbase交易。

虽然,我们在使用钱包或者交易所的时候,可以在地址下看到该地址的所有余额。

那么,看完上面的例子图,是不是觉得所有的交易都会连成一条链呢?

我们来看看比特币白皮书中的交易是如何关联的。

我们将电子硬币定义为数字签名链。 每个所有者通过对先前交易的哈希和下一个所有者的公钥进行数字签名并将它们添加到硬币的末尾来将硬币转移到下一个。 收款人可以验证签名以验证所有权链。

理解比特币的 UTXO、地址和交易

所以,看了白皮书中的图片之后,你会进一步感受到,所有的交易都会连成一条链。

但是仔细一想,就会发现不对。 每个区块都会产生比特币,而产生比特币的coinbase交易显然没有之前的交易。 所以很明显,每条区块链的第一笔交易,也就是coinbase交易,都会是一条交易链的头部(只是头部,因为一个交易可能有多个输入)。

下图摘自比特币白皮书

理解比特币的 UTXO、地址和交易

如果你看下面的图片,可能会更清楚:

理解比特币的 UTXO、地址和交易

我们来看看比特币地址

比特币地址是通过公钥处理的,不可逆。 因此,无法通过地址提取公钥。 地址是公开的,任何人都可以查到地址上有多少比特币。 但是,只有拥有生成地址的公钥的人 拥有对应私钥的人才能使用地址中的比特币

那么,我们再仔细看看一笔交易的内容:

理解比特币的 UTXO、地址和交易

输入和输出中可以有多个输入或输出。 在上面的例子中,只有一个。 previous tx表示输入的UTXO是哪笔交易产生的,产生的序号(Index)是多少。 因此,这是定位A之前的输出UTXO作为本次输入。

scriptSig 包含两部分,交易中某些字段的签名和它的公钥。 签名用于验证消费UTXO的人是否真的拥有对应的私钥; 公钥用于验证输入UTXO的地址是否属于这个公钥。 钥匙。

这里有必要再说明一下:你需要花费一个UTXO,那么你需要提供一个签名和公钥,验证你对UTXO的所有权的过程如下:

通过公钥计算出地址,然后与UTXO地址进行比较,保证一致性,证明你提供了地址,并通过公钥验证了签名。 如果通过,证明你有对应的私钥

这样,通过验证后,你就可以证明你对该UTXO的所有权,你就可以花费UTXO。

在输出中,对应每一个输出的UTXO,包括输出的比特币数量,以及scriptPubKey,也就是收款人的地址。 不要以为这里是收款人的公钥。 发件人不知道收款人的公钥。 的。

综上所述,如果你想花费一个地址中的余额,你实际上可能会花费多个 UTXO,而这些细节是对用户隐藏的。

发表于 2018 年 6 月 2 日

分类:

技术要点:

相关文章: