“双重支出”和“51%攻击”——篡改区块链的可行办法

来源于我上课时的一个思考。

puzzle的答案是公布的,如果攻击者先拿到这个答案,再广播篡改后的区块怎么办?

在一个理想的情况下,矿工会选择延长最长(也即工作量最大)的链,这通常是最先被广播并得到最多节点确认的链。这是因为按照规则,最长链被认为是包含最多工作量证明(Proof of Work)的链,因此也是最可靠的。

理论上

  1. 攻击者需要极大的计算能力:即使攻击者知道某个问题(puzzle)的答案,他仍然需要有足够的计算能力去重新计算所有后续区块的工作量证明,并广播这个更长的新链来取代原链。这就是所谓的“51%攻击”,需要控制超过网络50%的算力。

  2. 攻击成本极高:执行这样的攻击需要极高的计算资源和电力,成本非常高。

  3. 网络确认延迟:大多数交易平台和节点会等待一定数量的确认(即新的区块加入),以确保交易不会因为双重支出或其他恶意行为而被逆转。

实际上

  1. 其他矿工也在工作:攻击者不是唯一在解决问题和创建新区块的人。其他诚实的矿工也在不断地添加新的区块。

  2. 社群和经济激励:执行成功的攻击会大大降低整个区块链网络的信誉,从而影响到攻击者自己的经济利益。

因此,尽管从理论上看,拿到问题答案后广播篡改的新区块是可能的,但从实际和经济的角度来看,这样做的难度和成本都非常高。这就是为什么区块链被认为是安全的。

 为什么要“去重新计算所有后续区块的工作量证明”

当一个区块被修改后,该区块的哈希值也会发生变化。由于每一个区块都包含前一个区块的哈希值(这样构成了链状结构),所以任何对一个旧区块的修改都会影响到该区块之后的所有区块。这就意味着,如果你篡改了一个区块,你必须也重新计算该区块以及所有后续区块的哈希值,以保持链状结构的一致性。

更进一步,由于每个区块的工作量证明(Proof of Work, PoW)都是基于该区块内容和前一个区块的哈希值的,如果一个区块被篡改,你就需要为这个区块和所有后续区块找到一个新的工作量证明(即解决一个新的数学难题)。

这样做的计算和时间成本是巨大的,特别是在一个活跃的区块链网络中,因为其他“诚实”的矿工会持续地添加新区块到原始链上。这就是为什么篡改区块链被认为是非常困难的:即使你成功地篡改了一个区块,你还需要有足够的计算能力去追赶并超过其他矿工正在建立的链,这几乎是不可能的。

因此,要“重新计算所有后续区块的工作量证明”实际上就是一种保护机制,它确保了区块链的安全性和不可篡改性。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值