【问题标题】:Why is Proof of Work necessary in Blockchain?为什么在区块链中需要工作证明?
【发布时间】:2021-09-24 19:19:51
【问题描述】:

我的问题很简单,为什么网络中的每个节点都不能按照相同的原则来验证交易:

  1. 检查交易是否具有唯一 ID
  2. 使用汇款人的公钥检查数字签名是否正确
  • 没有人可以假冒代表他人汇款,因为 他们没有那个人的私钥,因此无法创建 该交易的有效数字签名。没有人可以复制 具有有效数字签名的先前交易并广播到 其他节点,因为 ID 必须是唯一的。

  • 这也将消除“链”中“块”的概念,并导致 到一个简单的分类帐。

我知道区块链已经实现了这个简单的数字签名系统。我不明白的是,通过工作量证明进一步验证的必要性是什么?有人怎么可能创建一个需要进一步安全层的非法块(带有一个或多个非法交易)?我在这里错过了什么?

【问题讨论】:

    标签: cryptography blockchain digital-signature bitcoin cryptocurrency


    【解决方案1】:

    你错过了双花问题。如果您有一定数量的货币,您可以创建无限数量的有效交易。你怎么知道哪个是正确的?

    这就是实施工作量证明的原因。它允许节点检查哪些交易是有效的,哪些尝试双花。

    【讨论】:

    • 如果用户向您发送无效交易(他们负担不起),为什么不直接丢弃当前区块中用户的所有交易?当然,没有其他人可以构造出无效交易,因为 ID 必须是唯一的,并且数字签名必须是正确的。我仍然不明白工作证明的必要性。希望进一步澄清。
    • @BillBaits 无效交易是什么意思?在我的示例中,交易始终有效,它们是由拥有私钥的同一个人生成的。每个新交易都有不同的 ID,因为 ID=hash(tx)。想象你是网络中的节点。你收到了 2 个区块,block1 中的 transaction1 从 Bob 的账户向你发送了一些货币,block2 中的 transaction2 从 Bob 的账户向 Alice 的账户发送了相同数量的货币。鲍勃试图向你买东西。你如何确定哪个区块(和底层交易)是正确的?
    • 好的,我现在明白你的意思了。 Bob 将 transaction1 发送给一个矿工,将 transaction2 发送给另一个矿工。他们都构建了不同的块,现在存在差异。我一定没有掌握完全去中心化网络所带来的问题类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多