主页 > imtoken苹果闪退 > 什么是比特币 UTXO 模型

什么是比特币 UTXO 模型

imtoken苹果闪退 2023-05-12 05:28:22

本文主要讲解“什么是比特币UTXO模型”,感兴趣的朋友不妨看看。 本文介绍的方法简单、快捷、实用。 下面就让小编带大家一起来了解一下“什么是比特币UTXO模型”吧!

ETH和账户模型

以太坊使用的账户模型比较容易理解,就好像我们每个人都有一个银行账户一样。 在以太坊的世界里,每个地址就像一个账户,每次扣款完成后,账户的余额都会记录在区块链中。 所以在验证交易时,只需要检查账户是否有足够的余额即可。 这种方法简单、直观,更有利于智能合约的开发。 如果你曾经在 Etherscan 上查看过你的交易记录,你也会发现一切都很容易理解。 输入您的交易 ID 后,您将看到此屏幕:

比特币UTXO模型是什么

简单的从A到B,这个只要能看懂英文应该就可以理解了。

比特币和 UTXO 模型

UTXO的全称是Unspent Transaction Outputs,未花费的交易输出,相比账户模型没有那么直观。

在比特币世界中,没有记录所有账户余额的账本。 那么你如何确定一个地址现在有多少余额呢? 简单的说,你要查看之前所有的交易,找到所有发送给你的比特币比特币UTXO,然后全部加起来就知道了。

交易中的输入和输出

比特币中的“交易”也更复杂。 假设今天,Fred给了Alice 2个BTC,Ted给了Alice 3个BTC,我们把这两个发给Alice,总和为5的BTC称为Unspent Transaction Outputs,即未花费的交易输出:也就是说,现在Alice有他签了两个 Unspent Transcation Outputs,可以作为他以后转账给他人的输入。

如果Alice现在想转给Bob 5个BTC,他需要用前两个总和正好为5的UTXO作为本次交易的输入。 矿工需要验证的是,在上一个区块中没有其他交易使用过这个 Unspent Output。 如果已经发送了相同的输出,则它不是未花费的,这就是比特币防止双重支出的方式。

比特币UTXO模型是什么

另一个条件是输出和输入的总数必须匹配。 事实上,在交易时,不可能总能找到两个输出加起来等于你要转账的金额。 就像上图比特币UTXO,如果 Alice 只想转 4.5 BTC 给 Bob,那么他需要多加一列输出,把多出来的 0.5 BTC 转给自己,这样交易就平衡了。

我们实际上可以看看比特币交易是什么样的。 如果我们想在BlockExplorer上观察自己的交易记录,就会发现它有以下优点:

比特币UTXO模型是什么

一笔交易包含大量的输入和输出,很可能是一笔交易的转账金额的记录,因此包含大量的输出。 左边的输入可能是大量转入交易所钱包的交易输出。

有趣的是,我们实际上无法“确定”一笔交易中的真实交易金额。 例如下面的记录,右边包含三个输出,我们无法确定0.2、0.03、56.38这三个输出中哪个才是真正的目的地。 可能 Alice 只有一个 56.61 BTC 的 Unspent Transaction Output,所以虽然他只想在这笔交易中转出 0.2 BTC,但他不得不使用他唯一的 UTXO,剩下的 56.38 BTC 还给自己。

比特币UTXO模型是什么

当然现在的比特币钱包已经帮我们搞定了这些事情,所以我们用的时候就像银行账户一样。 我们只需要输出目的地址,钱包会帮我们找到合适的未花费输出(UTXO)作为输入,完成交易。 但是如果你有空,或者你想做一些你不想让你知道的事情,你可以自己打包奇怪的输入和输出来增加匿名性。

UTXO的优缺点

因为UTXO没有账户,所以允许多笔交易并行。 如果你有很多UTXO,你可以同时进行多笔交易而不会被阻塞。 然后是匿名。 如上所述,您可以轻松隐藏您的交易目的。 此外,UTXO也被认为是相对安全和高效的,可以通过简单支付验证(SPV)快速验证和验证交易。

但是UTXO最大的缺点是它是无状态的,非常不利于在其上开发应用。 就像大家熟知的Qtum,虽然是基于UTXO的交易模型,但是Account Abstraction Layer依然会被设计成让应用开发更简单。

至此,相信大家对“什么是比特币UTXO模型”有了更深的认识,那我们就来实践一下吧! 这是易速云网站。 更多相关内容,可进入相关渠道查询,关注我们,继续学习!