首先,由于挑战者的存在,一旦发生分叉攻击,必然会被某个挑战者发现。而当大家发现所处的区块链存在算力垄断者(这是分叉攻击的前提条件),并且会为了利益不受约束的破坏规则时,对于这个区块链将会是毁灭性的打击,Arbitrum 是否采取挑战期设计模式已经无关紧要了。 拒绝服务攻击:矿工密谋(或被贿赂)在出块时不打包正常的挑战。 我们假设垄断者控制了 90% 的算力,挑战窗口期为 50 个区块,那么需要连续 50 个区块都由垄断者打包才能完成攻击,其概率为 0.9 的 50 次方,仅为 0.5%,而实际的挑战期远远多于 50 个区块,因此攻击成功概率极小。而在 Arbitrum 的设计中,每次攻击失败,攻击者都将支付大量的罚金,所以发起拒绝服务攻击对垄断者而言是相当不经济的。 阻塞攻击:攻击者通过传统的拒绝服务攻击(DoS),使得其他人无法提出挑战(无法发出包含挑战的交易) 由于只要出现一个正直的挑战者,攻击就会失败,所以攻击者必须阻止“所有”可能的挑战者,如果挑战者足够多,这是很难完成的。更进一步的,利益相关方可能会雇佣暗中监视者,它们作为后备方案,只有在参与方来不及或难以发出挑战时才介入,攻击者根本无法提前辨别这些潜伏的挑战者,自然也没办法对其发起 DoS 攻击。 饱和攻击:攻击者在很短的时间内提出大量的链上断言,让其他人来不及在时间窗口内对所有断言进行检查和挑战。 Arbitrum 防御饱和攻击的方法是对提出断言的频率进行限制,保证协议在设定的挑战窗口期内的任何时间点,全网都有足够的能力去检查待处理的断言和挑战。具体来说,会针对一条 Rollup 区块链的智能合约处理能力实施速度限制,使得即使存在某个能快速提出大量断言的人,最终也不得不慢下来。 综上所述,我们基本上不需要对分叉攻击过于担心,因为存在一个作恶的算力垄断者让这条区块链毫无吸引力;至于另外三种审查攻击,Arbitrum 都能够通过合理的设计和实践进行有效的防御。 Sequencer Mode 的优势和风险Sequencer Mode 是 Arbitrum 的一个可选特性,主网上线的初期,官方(Offchain Labs)会运营唯一的 Sequencer 节点。 Sequencer 被赋予权利,可以控制每笔交易在 Inbox 中的顺序,从而确保它可以立即确定客户交易的结果,而无须等待以太坊上 5 分钟左右的区块确认时间,甚至也不需要等待 15 秒的区块创建时间。 同时,一个正直的 Sequencer 可以有效的防御抢跑攻击(Front-Running Attack)。 因此,由官方运营一个中心化的正直的 Sequencer 节点,对项目早期的发展可能是非常有益的,可以减少很多麻烦,但安全风险也显而易见(虽然很难想象官方会去自己作恶)。所幸官方承诺,会在技术成熟后,尽快切换至去中心化的多 Sequencer 节点方案。 (责任编辑:admin) |