速览无状态Rollup的优势与潜在问题
注:原文来自OneTrueKirk在ethresear.ch发布帖子。
这是我第一次在这里发布主题帖子,如果在任何方面有所冒犯,我深表歉意。我一直在思考这一想法(Stateless Rollups),主要是针对我们的借贷协议的专用 rollup, 但希望它可以普遍适用,感激所有反馈。
TLDR:
只发布状态根,不发布calldata。
(MarsBit注:Calldata是合约交易中的数据部分的值,不能被修改。)
细节
如果不使用以太坊作为数据可用性层,通过将完整状态作为calldata发布,而只将状态根发布到主网,会怎么样?主要好处是减少存储在以太坊上的数据量,从而减少用户在L2上交易的成本。即使有EIP-4844,blobace也不是免费的。
主要的风险是数据保留攻击(Data Withholding Attack),即提议者发布一个有效的状态根,但从其他rollup节点扣留完整的数据,以垄断未来的区块生产或挟持资金。为了防止这一情况,诚实的节点必须质疑任何没有对等方可以提供数据的状态更新。Arbitrum式的互动欺诈证明可以用来迫使提议者在主网上披露完整的状态,但如果根是有效的,仍会导致挑战失败,因此,即使在失败的情况下,挑战的成本也要低。
(MarsBit注:数据保留攻击(Data Withholding Attack)是指攻击者在访问受保护的数据时,故意不返回全部数据或者返回错误的数据,以达到欺骗或者破坏的目的。
如果挑战失败的成本很低,那么即使诚实的提议者正确地点对点传播了状态数据,也可能会强迫他们支付将所有状态数据发布到主网以防御挑战的费用,从而使诚实的提议者感到痛苦。发起挑战的成本必须与防御成本成正比,以确保无法以这种方式攻击诚实的提议者。
在最坏的情况下,如果攻击者可以花1美元让诚实的提议者损失1美元,他们可以迫使提议者放弃,让他们的区块恢复。随后,一个新的诚实的提议者可以竞标,除非攻击者可以对所有潜在的诚实提议者重复攻击,其中包括所有有资金的人,否则他们不能造成永久停机。有可能增加另一个条款,当一个有效区块被敲定后时间过长,挑战的成本就会上升。这样一来,挑战一个不诚实的提议者很容易,但不可能长期停止状态转换。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。