http://www.7klian.com

一文看懂智能合约的4种审查进攻:分叉、闪躲、滋扰及速攻

闪躲:矿工谋害(或被行贿)在出块时不打包正常的挑战。

速攻指的是,进攻者宣布大量的断言,使得其他人来不及在挑战窗口期内查抄所有断言。

原文标题:《概念 | 如何防御对智能合约的审查进攻?》

这种设计模式在实践中会碰着的问题是审查进攻(censorship attack)——进攻者阻挠其他人在时间窗口内提出挑战。在交互式 Rollup 协议中,进攻者大概会提出虚假的「断言」,同时阻止其他人在窗口期提倡挑战,最终导致虚假的断言反倒成为正当的。

所以应对闪躲进攻的步伐是确保挑战窗口期足够长,使得进攻乐成概率低至用户能接管的范畴;假设你能接管的进攻乐成率为 r,进攻者至多能节制 f 的算力,则安详的挑战窗口期为 log(r)/log(f) 个区块。

分叉进攻

这里引出第一个问题:审查进攻对付傍观者来说,是否易于察觉?为了证明分叉进攻是显而易见的,我模仿了分叉。假设进攻者节制了 60% 的算力,在前三十个区块中,呈现三条分叉链,长度别离是 1、6、5;这和一般的区块链完全差异。我又做了一次模仿,这次进攻者节制 55% 的算力,这时候一个较早期的分叉可长达 48 个块。按照简朴的数学模子预测,当把持了 60% 的算力,则每 2.5 块会产生一次分叉,分叉导致的孤链平均长度为 5 ;当把持了 55% 的算力,则每 2.2 块会产生一次分叉,分叉导致的孤链平均长度为 10。

原文翻译:IAN LIU & 阿剑,喜好者

关于分叉范例的审查进攻则很难阐明;因为某种水平上来说,乐成的分叉进攻会留下明明的证据,证明该链上存在算力把持者,而这些算力把持者会更愿意采纳其他更快得到收益的进攻——好比双花。任何存在算力把持的区块链都已经病入膏肓,那又何须为这种环境下的审查进攻而劳神呢?

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。