layer 同步调用_针对Layer 2协议审查攻击的研究,Vitalik称同步99%容错共识或是解决方案...

Ryuya Nakamura:我们提出了一种审查特定交易的攻击策略(例如Layer2 协议中的欺诈证明),而想要识别出攻击者会是很困难的。

即使用户可通过社区协调的软/硬分叉从攻击中恢复,我们也无法在不惩罚诚实验证者的情况下去惩罚攻击者。

背景

基于欺诈证明的Layer2协议(如Plasma、Optimistic Rollup以及状态通道)的安全性,取决于以下假设:如果运营者/参与者claim无效链外状态,则可以在预定义的时间段内向链提交欺诈证明并将其包含在链中(脚注1)。最近,@gluk64提出了这些协议的安全性,然后在Twitter和ethresear.ch上进行了讨论。

粗略地讲,攻击者可通过在这样的Layer2 结构中,使用51%攻击来审查欺诈证明,以此实现获利,使整个系统(包括Layer1)不兼容激励,特别是因为协议内的奖励补偿了攻击者运行验证器的成本(脚注2)

主要对策是:

1、我们可通过“反DoS攻击”来增加此类审查攻击的成本。(参见@adlerjohn的评论)

TL;DR: 在以太坊的智能合约模型中,如果不实际执行交易,就不知道在执行交易时调用了哪些合约,因此可以通过向攻击者发送一堆交易来对审查进行DoS攻击;

2、我们可以通过软分叉从攻击中实施恢复,也可以“消灭”攻击者在PoS链中的权益。(参见@vbuterin的评论)

而在这篇文章中,我们描述了一种新的审查攻击策略,而以上这些策略都无法解决这种攻击,此策略适用于除Layer2协议中欺诈证明之外的任何交易。

攻击的描述

我们假设一个PoS系统,比方说以太坊2.0 信标链(脚注3),其中区块提议者创建一个区块,验证者委员会在每个slot周期(6秒)为一个区块投票,这些投票也被解释为Casper FFG投票以确定区块。我们期望类似的策略也适用于其他共识协议或PoW系统。

攻击者的能力

在这篇文章中,我们假设一个攻击者控制了大多数的权益(例如55%)。因为这样的攻击者控制了超过1/3的投票,所以Casper FFG无法完成攻击者所不喜欢的区块。

攻击者的策略

1、如果主链并不包含欺诈证明,攻击者将投票给主链。

2、如果主链中包含欺诈证明,攻击者将创建冲突链并为其投票,以分叉欺诈证明。

2.1 攻击者少数的验证器会投票给包含欺诈证明的链。(这些其实是“伪装投票”(alibi votes),其使得攻击者的验证器行为类似于诚实的验证器,另外,这种“伪装投票”数必须是足够少的(比如slot投票数的5%),这样区块在分叉选择中就无法获胜)

攻击者在创建区块时以一定的概率选择以下任一项。

3、创建一个没有欺诈证明的区块,其充满了攻击者自己制造的交易(例如,在攻击者控制的帐户之间传输token的交易)(脚注4);

4、创建一个包含欺诈证明和自制交易的区块。

4、1 攻击者在下一个区块被发布后,紧接着就发布此区块,以便大多数诚实的验证者不会投票给该区块;

4、2 攻击者为该区块发布“伪装”投票(例如slot投票的40%);

此外,攻击者还有一个策略,它可以鼓励诚实的验证者在没有欺诈证明的情况下创建区块。

5、 攻击者经常以高昂的费用广播其自制交易;

为什么说攻击者是安全的

抵抗“反DoS攻击”

当攻击者创建一个区块时,他并不包含其他人创建的任何交易。因此,攻击者只验证诚实验证者区块中包含的交易(要求是全节点),因此,攻击者并不会遭受上述的DoS攻击。

攻击的不可检测性

在上面提到的策略中,攻击者不会生成含糊其辞或无效的消息。攻击者和诚实验证者之间的区别,仅仅在于它们如何创建、发布和投票给包含欺诈证明的区块。为了减少创建具有欺诈证明的区块的投票率差异,攻击者增加了“伪装投票”(策略2.1和4.2),并减少诚实验证者对攻击者制造的欺诈证明进行的投票(策略4.1)。

除此之外,策略2和4.1利用了分布式系统的特性,即活跃性(liveness)故障不能从根本上与网络故障区分开来。此外,还会有各种的网络层攻击,通过这些攻击,攻击者可以延迟诚实验证者的区块和投票,使得诚实验证者看起来和攻击者相似。

因此,尽管我们必须改进策略(例如,通过参数化攻击者的stake、网络条件)以使这些论点更为正式,但我们推测,在不进行错误指控的情况下,很难去识别出攻击者的验证器。

用软分叉、硬分叉惩罚攻击者

如果用户们协调一次软分叉从审查交易中恢复,攻击者可以很快加入新链,以避免被检测到或遭受对liveness(活跃性)失败的任何惩罚。因为用户很难确定攻击者到底是谁,所以我们能做的就是用类似于“惩罚双方”的理念,在惩罚诚实验证者的同时,去惩罚所有可疑的验证者。

抵押

而确保只有攻击者一方受到惩罚的一种方法,是强迫任何人去存款成为Plasma/Opistic Rollup的运营者或参与通道,并通过欺诈证明罚没抵押品。

如果我们假设社区协调的软分叉很可能成功,并且抵押品是足够多的,那么这样的Layer2协议可能实现激励相容性,同时权衡更高的进入壁垒。如果我们想避免因诚实的错误而对欺诈行为进行过多的惩罚,在这种情况下,欺诈证明可顺利提交而不会遭到审查,我们可以限制惩罚的默认金额,在遭到审查攻击的情况下,我们可以用硬分叉对攻击者进行大量惩罚。

脚注

OTOH,分片中的无效状态根的欺诈证明使链无效而不包含在链中。这篇文章提出了一个聪明的技巧;

请注意,攻击者不仅可以从单个 Layer2构造中获益,其还可以同时从多个Layer2构造中获益。这就是为什么对非链上(off-chain)资产价值设定上限并不能解决这个问题;

在以太坊2.0中,Layer2系统将部署在分片链上,而不是在信标链上,因此最佳攻击策略可能会有所不同。我们把它留给以后讨论;

此类自制交易的费用将归攻击者所有;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值