长程攻击(Long-Range Attacks)来源于用户不得不撤回保证金的权利。这意味着攻击者可以从任意长度的距离建立一个分叉而不用担心被削减。一旦保证金被解除绑定,激励不从某个高度区块前进行长距离投票就被取消了。换句话说,当超过2/3的验证者解除了绑定,那么他们就可以恶意地创造包含之前验证者集的第二条链,这可能导致任意的交易。
解决方法如下。
•忽视从那些当前没有保证金存款的节点发出的共识信息,能够解决或规避长程攻击问题。解除绑定保证金必须要经过一个“解冻”期。解除绑定之后,代币需要数周到数月的“解冻”时间,用以实现“同步性”前提(即延迟的消息)。
•禁止在N个块之前恢复,其中N是保证金的长度。该规则可使任何长程分叉无效。
此类攻击仅针对PoS共识。
相关知识: