主页 > 以太坊钱包imtoken安装 > 《学概念找外人》双重支付攻击(一)

《学概念找外人》双重支付攻击(一)

以太坊钱包imtoken安装 2023-04-25 06:35:26

“力场”——公链挖矿第一社区。

马斯克叫停比特币买车 比特币跳水_比特币怎么比特币钱包_比特币如何解决双花问题

继续上一篇文章中的隐式共识,其实双重支付攻击也是一种破坏隐式共识的方式。 双重支付大家都很熟悉,也就是同一笔钱同时花两次,这在现实生活中是不可能的,但是在网络世界,尤其是本文所说的比特币世界,是完全可以的. 有可能发生,所以需要一系列的计算机技术来阻止这种可能性的发生。

攻击过程

现在假设员外看到天宇家里有几个特别精美的俑,但是价格很贵,所以他想通过双重支付攻击来骗取这些俑。 谈妥价格后,园外向天宇在自己比特币钱包中的比特币地址发起比特币交易,并向全网广播交易。 我们假设这笔交易是由下一个区块中的诚实节点创建的,并把这笔交易放入这个区块中。 现在有一个由诚实节点发起的区块,包括代外人支付天宇的交易。

回想之前说过的,一笔交易是一个数据结构比特币如何解决双花问题,包含了会员外部的数字签名,支付到天宇钱包地址的指令,以及哈希值。 这个哈希值代表一个哈希指针,指向上一笔交易的输出,也就是之前Waiwai收到并消费的比特币。 该指针必须指向已被所有区块批准的交易。

好了,继续说这个双重支付攻击,因为最新的区块是由诚实节点生成的,里面包含了远外支付比特币给天宇的交易记录。 天宇看到这笔交易被放到区块里,他会以为是远外已经给他付款了,然后把把柄交给了远外。 假设随机选择的节点在下一轮恰好被园外控制,那么园外可以提议在下一个区块忽略他之前包含支付给天语比特币的交易的区块,然后重新生成一个包含指向之前区块指针的区块。 同时,在这个区块中,远外还可以进行另一笔交易比特币如何解决双花问题,将之前转给天宇的比特币转入自己的另一个账户。 至此,一次完美的双重支付攻击到此结束。

因为两笔交易使用的是同一个比特币,最后注定只有一笔交易记录在区块链上,所以外人支付给天宇的比特币将失效,天宇将被双花。

判断攻击是否成功

员外在一次偶然的机会发动了这次双重支付攻击之后,他最想及时知道的一定是这次攻击是否成功了。 从理论上讲,成功与否取决于最后哪个区块会被纳入长期共识链,是工作人员转给天宇的区块吗? 或者转移到另一个账户所在的区块。 那么这两个块中的哪一个将被包括在内取决于什么? 在这个区块之后,诚实节点会选择哪个区块继续扩展自己的分支?

这个问题没有明确的答案。 目前,这两个分支的长度是相同的。 它们之间的唯一区别是最后一个块,并且两个块都是有效的。 选择下一个区块的节点可以决定在其中一个区块上建房,而这个选择决定了双重支付攻击的成功与否。

微妙之处在于:从道德的角度来看,这两个分支是完全不同的,一个包含支付给天宇的区块,另一个包含包含会员双花这些币到自己地址的交易的区块. 但这种区分只是基于我们知道元外先付天宇,然后再尝试双付的故事。 但从技术角度来看,这两项交易完全相同,而且都有效。 节点没有办法分辨哪一个是道德上合理和合法的交易。