【问题标题】:How do unsigned transactions propagate when network compromised?当网络受损时,未签名的交易如何传播?
【发布时间】:2019-11-20 15:46:09
【问题描述】:

如果我的应用程序相对较新并且节点较少,则可能容易受到 51% 攻击。

示例:

A 人 - 100BTC

B 人 - 50BTC

个人 C - 0BTC(恶意用户)

如果人 C 以某种方式控制了网络,则创建了最长的链并具有无效交易的块,即 A 发送到 C 80 BTC 和 B 发送到 C 50 BTC,而 A 和 B 并没有真正使用私钥签名(无效C) 创建的交易。

这里的问题是棘手的网络受到损害,因为交易不是由原始所有者签署的,C 能够使用它们吗?共识在这里被折腾了吗?如果我在某处错过了诀窍,请指出。

【问题讨论】:

    标签: blockchain ethereum bitcoin


    【解决方案1】:

    C 不能花别人的钱,除非他可以访问别人的私钥并签署交易。即使他尝试这样做,该区块也不会被视为有效,因为我们租用的交易是由硬币所有者签署的。

    【讨论】:

      【解决方案2】:

      所有参与者都知道的规则说,交易必须经过正确签名。这些规则与说明一笔交易转移多少比特币的规则完全相同。因此,如果交易没有正确签署,它不会转移任何比特币。

      让我再说一遍:有一些规则可以让你确定一笔交易转移了多少比特币。这些相同的规则说交易必须正确签名。因此,未正确签名的交易不会转移任何比特币。

      比特币网络中的节点互不信任。发送的每条消息都经过有效性检查,如果无效,则必须忽略它,因为它没有任何意义。未正确签名的交易不是交易,它只是垃圾。节点可以向您发送它们想要的所有垃圾,但您永远不会处理任何垃圾,因为您不能。您的代码根本没有规则来理解垃圾。

      【讨论】:

        【解决方案3】:

        经过详细研究,我得到了答案,希望它有意义。

        C 人不能花 A、B 钱。他所能做的就是反向交易并造成双花情况,他可以在制作最长链的过程中擦除 A、B 交易,但不能从其他钱包中花钱,因为私有网络而受到损害/公钥。

        【讨论】:

          猜你喜欢
          • 2022-08-13
          • 2011-07-29
          • 2021-12-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多