区块链中的安全性来自一些属性。
1.挖掘块需要使用资源。
2.每个块包含之前块的哈希值。
想象一下,如果攻击者想要通过改变5个街区之前的交易来改变链条。如果他们篡改了块,则块的哈希值会发生变化。然后攻击者必须将指针从下一个块更改为更改的块,然后更改下一个块的哈希值...这将一直持续到链的末尾。这意味着块体在链条的后面越远,其变化的阻力就越大。
实际上,攻击者必须模拟整个网络的哈希能力,直到链的前端。然而,当攻击者试图攻击时,链继续向前移动。如果攻击者的哈希值低于链的其余部分(当攻击者拥有51%的哈希值时,他们可以使用有效事务列表重写网络历史记录。这是因为他们可以比网络的其他部分更快地重新计算任何块排序的哈希值,因此它们最终可以保证更长的链。51%攻击的主要危险是双重花费的可能性。这简单的意思是攻击者可以购买一件物品并表明他们已经在区块链上用任意数量的确认付款。一旦他们收到了该物品,他们就可以对区块链进行重新排序,使其不包括发送交易,从而获得退款。
即使攻击者拥有>50%的哈希值,攻击者也只能造成这么大的伤害。他们不能做诸如将钱从受害者的账户转移到他们的账户或打印更多硬币之类的事情。这是因为所有交易都由帐??户所有者签署,因此即使他们控制整个网络,也无法伪造帐户签名。