长程攻击

3年前更新 0 0

在PoW中,使用最长链选择规则可以获得令人非常满意的属性:除非恶意攻击者控制了全网超过 50% 的算力,不然无法逆转已确认一段时间的区块。

收录时间:
2023-01-06

在PoW中,使用最长链选择规则可以获得令人非常满意的属性:除非恶意攻击者控制了全网超过 50% 的算力,不然无法逆转已确认一段时间的区块。

但是在 PoS 中没有这种特性。尤其是当区块生产者建完块且拿回质押的代币后,对他们来说,用于创建区块的密钥再也没有价值了;这时候攻击者可以尝试以远低于创建区块时质押的代币金额去购买这些密钥。与 PoW 不同,因为 PoS 没有出块之间强制延时的机制,所以买到密钥后,攻击者能够在数分钟内造出一条长于主链的伪链,并被分叉选择规则所接受。

要求全网节点周期性地检查最新的区块,并拒收那些 “重组了过分久远的记录” 的区块。只要足够频繁地检查区块,使得在释放质押代币的时间段中,肯定包含一次以上的检查,那么节点就永远不会选择攻击者创建的最长链,因为敌手从取出保证金的验证者处购买的私钥,必定只能从 “过于久远” 处开始创建区块(因此节点会拒绝掉这些区块)。

弱主观性方法的不足之处在于,虽然已经存在于网络中的节点不会被攻击者欺骗,但是对于首次加入网络的节点来说,他们没有足够的信息来判断哪条链是先被创建的,因此新节点会倾向选择攻击者创建的较长链。为了避免这种情况,新节点需要以某种方式在链下了解关于主链的知识,这在本质上就是要求他们选择信任网络中的某个主体。

还有一种方法是要求区块创建者在出块后,在极短的时间内或立刻销毁他们用来建块的密钥;可以在每次建块时创建新的密钥对,或是通过 前向安全密钥 结构(该结构允许在公钥保持一致的情况下,改变私钥)来完成。

这个方法仰赖于节点是诚实的,并且严格遵守协议。因为一旦区块创建者知道未来的某个时间点,可能会有人要买他们的密钥,则密钥价值不为零,区块创建者就没有动机去销毁密钥。且不说要求在某个特定时间点,会有大比例的区块创建者愿意修改他们的文件且移除私钥并不现实;这种仰赖大多数参与者 诚实配合 的协议,与仰赖大多数参与者是 理性 的协议,两者间所带来的安全保障并不不同。PoW 就是建立在大多数参与者是理性的且不会进行勾结的前提之上的,其分叉选择规则和抗女巫攻击也都依赖这个假设。

相关导航