CHA:观点 | 最优化 Rollup 方案中的挑战期时长_cwv币官网

交互式Rollup方案,比如我们的ArbitrumRollup,通过让某个验证者断言执行结果、而其他验证者可以挑战断言的方式,来加速智能合约的执行。如果挑战期过去,而没有任何人提出挑战,则该断言就被认为是真的,然后系统就推进。一般情况下,断言都会是对的,挑战也是很少出现的,所以一条Rollup侧链就能比链上合约更快推进、开销也更低。

但,挑战期应该设成多长呢?在本文中,我将指出,有些因素会使我们希望有更长的挑战时间,某些因素正好相反。我会推导出一个旨在最小化侧链整体运行成本的最优挑战期公式。

长挑战期的好处

众所周知,更长的挑战时间就是更安全,因为审查攻击的难度会变得更高。恶意行动者可能会尝试报一个虚假断言,然后审查尝试挑战断言的交易,直到挑战期过去。但是,挑战期越长,这样的攻击就越不可能成功。

一种看起来可行的模型是定义挑战期时长为C,而审查攻击成功率随C的增长而呈指数级下降。如果整个Rollup侧链的价值是V,那么攻击者能盗取的价值预计为V·e^(-AC),A为常数。

那么,为了阻止这样的攻击,我们就需要断言者先存储,比如10V·e^(-AC),的价值,如果攻击失败,攻击者要付出的代价会远大于其攻击预期收益。

但这样就为诚实的断言者施加了同样的成本,他们也必须锁定同样规模的资金。如果协议设计良好而且底层链也活跃,那么一般来说恰好会有一位诚实断言者存储了这么多保证金。那么,单位时间内的成本就是保证金规模乘以一个名义利率。

挑战期越长,保证金规模就可以越小,所以——更长的存款时间可以降低侧链的运营总成本。

短挑战期的好处

要从侧链中取钱的人当然喜欢更短的挑战期,因为用户取款之后要等一个挑战期走完,钱才算真正回到了底层链上。从用户的角度来看,在挑战期中,他们的钱是完全被锁定的。

我们可以这样建模:假设在一个平均区块时间内,有比例为W的资金要退出。那么,在任一时间点,锁定的取款数量就是CWV,因此侧链用户的成本就是这个数值乘以一个利率。

因为这个成本也跟C成比例,因此更短的挑战期能够降低运营成本。

找出最优挑战时长

最优的挑战市场会是某种折中,即两项成本的总和是最小化的。有趣的是,两个方面的成本都是由资金锁定带来的,就是锁定的资金数量乘以假设的利率。因此,挑战期最优时长就跟利率无关了——只需最小化锁定资金的总数量即可。

从等式来看,任一时间点,锁定的资金总量是:

10V*e^(-AC)+CWV

因为V在两项中都有,所以它不会影响最小值点。最小值点会出现在10×e^(-AC)+CW最小的时候。只需对C求导,令倒数值为0,就可以解出最小值点处的C。

结果就是C=ln/A。

这个值对实践有什么意义?我们可代入一些还算可靠的数字,如上图所示。我们假设A使得攻击者在一个区块的时间内持续审查成功的成功率高达99%,即A=-ln(0.99)=0.01。再假设每天都有1%的资金要取出,那么按15秒的区块时间算,每个区块的取款比例约为W=0.000002。把这些假设代入公式,可得最优挑战期为C=1081个区块,约为4.5小时

那么成本到底有多高?在任一时间点,都有约等于侧链全部资产价值的0.2%以不同方式锁定。如果名义利率是5%,那么结果就是:总的锁定成本约为每年对侧链的总价值征收0.01%的税收。只需付出这么低的代价,你就能得到一条更快、Gas消耗量更小,更可扩展的侧链。

原文链接:https://medium.com/offchainlabs/optimizing-challenge-periods-in-rollup-b61378c87277作者:EdFelten翻译:阿剑

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

区块博客

[0:0ms0-8:800ms