团队的研究聚焦于 Fabric 和 Commit-Boost。感谢以太坊基金会研究团队、Nethermind、Espresso、Taiko、OpenZeppelin、Spire、ETHGas、Gattaca、L2Beat、Labrys、Luban、Puffer 和 Interstate 的反馈、贡献和审查。反馈、贡献和审查并不意味着背书。
摘要
- 由 Gwyneth 提出的 超级交易,通过利用区块顶部(ToB)的第一层交易执行、巧妙的跨域上下文切换和实时证明,为实现第一层和基于 Rollup 之间的同步可组合性引入了强大的设计。
- 由 Nethermind 提出的 同槽消息传递,通过信使合约实现了单个槽内的第一层到第二层通信,为原子第一层和第二层交易奠定了基础。
- Signal-Boost 结合了两种方法的见解,为现有的 Rollup 提供灵活的第一层同步可组合性,且对其技术栈的改动minimal或为零。
- 这使得以太坊可以立即为现有 Rollup 提供实用性,同时为随着基于 Rollup 生态系统的成熟而成为基于 Rollup 提供路径。
- 这不需要对以太坊进行协议内更改,而是将利用 PBS 管道、Commit-Boost 以及 Constraints / Commitments API。
- 最后,我们注意到选择成为基于 Rollup 的 Rollup 仍可以解锁超出 Signal-Boost 提供的以太坊额外收益。
- 可以在此处找到约 100 行代码的概念验证实现。
这显著提高了同槽位消息传递的实用性,通过解锁对实时L1数据的访问,而无需上游合约更改。然而,这引入了新的挑战:如果信号在槽位中途发生变化怎么办?L2用户如何响应或验证?
为了解决这些问题,Signal-Boost融合了Ultra交易的理念,包括EIP-7702智能账户用于委托执行和ToB包含以保证状态。
SignalBoost
合约
为了使同槽位消息传递更容易被采用,我们需要一种方法将L1数据转换为L2可信赖的可验证信号。SignalBoost
合约通过允许任何人查询L1视图函数并以下游L2合约可立即消费的格式在链上提交结果来提供此功能。
双重套利充分利用同一时隙消息传递和ToB执行:
- 在信号提升捆绑包顶部捕获L1套利
- 通过
SignalBoost
合约将更新的预言机数据从L1中继到L2 - 基于新可用价格捕获L2套利
使用意图进行即时L1↔L2交换
即使没有实时证明,也可以使用意图进行同一时隙消息传递的即时L1<>L2提款,如Nethermind所描述。
这些示例仅仅触及了表面,任何依赖及时访问L1数据的L2合约都可以受益。
这将如何在OP Stack上工作?
OP Stack没有SignalService
合约或锚定交易的概念,这些在同一时隙消息传递设计中使用。相反,OP Stack的派生管道读取通过CrossDomainMessenger.sendMessage()
函数传输的所有L1消息(L1存款/任意函数调用),并将它们插入L2区块顶部。
SignalBoost
合约可以被调整为使用signalRequestsRoot
值调用sendMessage()
,而不是写入SignalService
合约。不需要对添加锚定交易进行更改,因为OP stack已经支持类似功能。
此外:
- L2排序器必须是Signal-Boost捆绑器,因为派生管道期望blob交易由规范的
batchSubmitterAddress
提交。 - 要同步读取这些L1消息,L2排序器的
SequencerConfDepth
值需要设置为0
以实时跟随L1头。
总之,只需更改一个配置值并调整SignalBoost
合约
这会损害基于Rollup的价值主张吗?
不会。Signal-Boost有助于扩大同步可组合性的市场,但基于Rollup仍然具有独特优势:
- 对于基于Rollup,Signal-Boost更简单,放松了ToB或执行预确认要求。
- Ultra交易使用基于Rollup来实现最强大的同步可组合性形式。
- 共享排序对于同步跨集群L2 ↔ L2可组合性仍然是必要的。
- 新的Rollup可能更倾向于作为基于应用链启动,以避免运行集中式排序器的复杂性(即基础设施成本、可用性、监管风险等)。
- 使用验证者作为基于排序器提供最大可组合性
- 优先考虑可用性的WW3级Rollup将选择基于排序器。
采用Signal-Boost是否需要Rollup修改其现有堆栈?
不需要。Signal-Boost旨在低摩擦采用。Rollup不需要彻底改造其堆栈或主要升级其协议。排序器可以有选择地选择加入,并且仅在需要同步访问L1状态时构建捆绑包。
应该注意的是,根据它们当前处理L1输入数据和重组的方式,不同的堆栈将具有不同程度的摩擦。
(由于篇幅限制,只翻译了部分内容)