Rollup 需要进行标准化,以打破以太坊不同 Rollup 层之间的孤岛效应。

原文标题:《消灭天价 Gas 费,一文了解以太坊 Rollup 互联解决方案
撰文:barryWhiteHat,以太坊开发者
编译:洒脱喜

对于以太坊当前高昂的 gas 费问题,Vitalik 明确提出短期应通过 Rollup 方案解决,然而,Rollup 会面临明显的孤岛问题,这与 DeFi 的可组合性而言是对立的,那如何去解决这一难题呢?对此,以太坊开发者 barryWhiteHat 提出了一种 Rollup 与 Rollup 之间的交互解决方案,据悉,这将涉及到一套 Rollup 标准,以打破以太坊不同 Rollup 层之间的孤岛效应。

以太坊 Gas 费居高不下,打破孤岛效应的 Rollup 或是解决之道图片来自:pixabay

以下是该方案的译文:


对于 Rollup 技术来说,一个不容忽视的问题便是用户锁定。随着以太坊 gas 价格持续上涨,越来越多的人会持有一些小额的资金,而他们又无法将其撤回到第一层(layer 1)。

例如,目前 Rollup 中的一笔转账成本约为 0.01 美元,而提币成本则至少为 0.4 美元,这意味着,如果用户存入 1 美元,然后他给别人转了 0.4 美元,那么除非 gas 价格下跌,否则双方都无法提出这些资金,但他们可以在 Rollup 内进行内部交易。

这真的很可怕,因为用户会被锁定在某个 Rollup 中,在接下来的 6 个月中,我们不太可能构建出最好的 Rollup 版本,我们可能会有多个不同版本的 Rollup,这对不同的用例而言是有好处的,如果用户的资金被锁定在这些 Rollup 当中,那么这对于这些用户及社区来说都可能是一个问题。

这里我们描述了大规模迁移方案,其中用户可通过批处理代币转移+链上 gas 成本的方式,从 layer 2 转移到另一个 layer 2。

这篇文章是建立在 [op/zk] rollup / mixers / MACI 的基础之上的。

那它会是什么样的呢?

以太坊 Gas 费居高不下,打破孤岛效应的 Rollup 或是解决之道

我们有一个源 Rollup 和目的地 Rollup,我们希望用户从其中一个 Rollup 提币,并转移到另一个 Rollup。因此,源协调器使用大规模迁移方案将多笔传输组合在一起,这样就可以在一笔交易中发送总量。

在目的地端,迁移由目的地 Rollup 的协调器验证,这包括:

  1. 证明数据是可用的(这对于无需信任的大规模迁移而言是必需的);
  2. 检查转移的余额 == 每个叶子的余额之和;
  3. 在这些检查之后,可以将大规模迁移合并到目标状态树中;

转换(Translation)

如果两个 Rollup 都遵循相同的标准,则可以像上面那样进行大规模迁移。

但如果双方是不同标准的,我们将需要在大规模迁移和验证之间添加一个额外的转换步骤。在此步骤中,协调器将从一种格式转换为另一种格式。

需要一致的东西有:

  1. 签名;
  2. 公钥索引映射,就是如何将 from 索引映射到公钥 ;
  3. 哈希函数;
  4. 叶子格式;

例如,从 ZK Rollup 迁移到 Optimistic Rollup,可能就需要这种转换。

激励措施

当用户大规模迁移时,他们需要支付源 Rollup 和目的地 Rollup 的费用。在源 Rollup 上,他们像在其他交易中那样,直接向源 Rollup 协调器支付费用。

目的地 Rollup 只允许使用一笔预定义的 ETH 费用进行大规模迁移,此费用在大规模迁移时直接从源 Rollup 协调器处支付。然后,目的地 Rollup 协调器可以验证大规模迁移,以便包含交易并接收费用。

这里存在 gas 价格波动的风险,并且源 Rollup 中定义的大量迁移费用将不足以支付验证成本。注意:多想想这个问题。

Orbits (链接有效性+数据可用性)

如果有一个 Rollup 想要:

  1. 加速大规模迁移(仅限 Optimistic Rollup);
  2. 使大规模迁移的花费为 o(1);

他们可选择「orbit」 为源 Rollup,而 orbit 意味着你:

  1. 对叶子(leaf)、签名、公钥可用性使用相同的标准;
  2. 信任源 Rollup 的有效性,对于 ZK Rollup,这意味着信任 zkSNARK、可信设置以及智能合约的安全性。对于 Optimistic Rollup,这意味着如果源 Rollup 回滚,则返回到上次接受来自该源 Rollup 的大规模迁移的历史记录点。

这种 orbit 模式,意味着你可以在源 Rollup 完成大规模迁移(即代币已转移)之前,在目的地 Rollup 一侧进行大规模迁移。这也是一个很好的升级模式,你可以允许用户从旧的 Rollup 链迁移到新的 Rollup 链,而成本大约是一次转移的费用。

结论

为了有效地进行大规模迁移,我们需要在 Rollup 之间进行标准化,最好先把原语标准化,因为 ZK Rollup 和 Optimistic Rollup 并没有使用相同的原语。但是,标准化组件和大规模迁移的努力,可能会在一个更加健壮的解决方案生态系统中获得未来收益,在这种解决方案生态系统中,网络效应并不是全部。

目前,Rollup 会自然形成一座孤岛,重要的是,我们必须用一种经济的退出方式来为用户构建 Rollup。建立完美的解决方案还为时尚早,相反,我们应尝试以一种允许用户随技术的发展,而升级和改变的方式进行构建。

用户锁定,这是一个我们必须要去关注的大问题。

来源链接:ethresear.ch