【问题标题】:How to indicate if UTXO is already spent, without examining the entire blockchain?如何在不检查整个区块链的情况下指示 UTXO 是否已被使用?
【发布时间】:2018-11-17 15:51:53
【问题描述】:

假设我想检查某人是否在某个区块链中拥有UTXO。此人可以向我发送包含他的UTXO的所有交易的地址。但我需要确定所有这些 UTXO 还没有被使用。为此,我应该从第一个用户的 UTXO 开始检查整个 区块链。有什么方法可以实现 UTXO 池,以便在我需要验证某人的交易时不检查区块链?

【问题讨论】:

  • 我投票结束这个问题,因为这是关于blockchain

标签: cryptography blockchain bitcoin cryptocurrency


【解决方案1】:

在 Bitcoin-core 中,如果你同步你的节点一次(这需要一些时间),之后你就不需要使用整个区块链来验证 UTXO。这是因为一个单独的数据库只保留了 UTXO。这使得 UTXO 验证更加高效,因为它只需要搜索大约 1/10 的数据量。

如果您不首先验证它们(通过同步节点),则无法确定交易是否有效,因为您不知道它的祖先是否有效。通过保留一个专用的 UTXO 集,节点对整个区块链进行一次验证,但之后,它可以通过删除已使用的 UTXO 并保存新的 UTXO 来更新 UTXO 集。

【讨论】:

    猜你喜欢
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多