所以我正在浏览一些关于如何实现PoW Blockchain
的资源(link),并重申了这一点:
如果块44中的数据从“DESERT”变为“STREET”,则全部 必须更改连续块的哈希值。这是因为 块的哈希值取决于previousHash的值(其中) 其他事情)。
当工作证明是时,这是一个特别重要的属性 介绍。区块链中的区块越深,它就越难 是修改它,因为它需要修改每一个 连续阻止。
那么,考虑一个长度的私人区块链,比如 7 ,有人修改第5块有多难?
答案 0 :(得分:0)
取决于你所说的“困难”。从技术上讲,它并不困难,您需要做的就是重新计算修改后的所有元素。这很简单,也很便宜(如果你曾经使用过git,那么如果你做了5次提交的rebase就会发生这种情况)。
当然,这会给你五个新的哈希,所以每个人都立即注意到有人操纵了区块链。 “坏人”试图做的是操纵区块链,但保持哈希值不变。使用良好的哈希算法, 非常困难并且计算成本昂贵,以一种方式为您提供相同的哈希和,这种变化在某种程度上是有意义的(即对他们有利) 。
更新: 如果您可以为一个哈希执行此操作,则可以操纵整个链,因为后代仅依赖于该哈希。因此,无论您想要篡改哪个元素,都是同样的努力。 (但这可能与实现有关)。