1. 引言
前序博客:
- Rollup去中心化
- Rollup Decentralization
Aztec Rollup中Sequencer角色的主要职责为:
- 1)从mempool中选取pending交易
- 2)将选中的pending交易排序打包到L2区块中
- 3)验证所有private交易proof以检查其有效性,执行所有public交易以检查其有效性
- 4)计算ROLLUP_BLCOK_REQUEST_DATA,其中包含了:
- private state database updates
- public state updates
- KZG blob commitments:详细见EIP-4844: Shard Blob Transactions
- 5)计算L2与L1之间message交互 相应的state updates:详细见L1 <–> L2 communication
- 6)通过proof pool,将ROLLUP_BLCOK_REQUEST_DATA广播给prover network。proof pool可提供并行计算。
- 7)根据proof pool中的completed proof构建一个rollup proof。
- 8)将pending L2 block打上upgrade signal标签,以促进forks
- 9)将completed L2 block+proof 以ETH交易的方式提交到以太坊。
当前第一个里程碑为:
- 实现去中心化Sequencer选举
相应的提案应满足如下要求:
- 1)去中心化:
- Sequencer选举 应可抗女巫攻击。
- Sequencer选举 大玩家和硬件好的玩家 应不具有优势。
- 运行sequencer的硬件配置 应与 运行以太坊validator 的硬件配置 相当。
- 2)liveness:
- L2网络参与者应提前知道 某特定time slot的sequencer是谁。
- 即使在交易不活跃的情况下,应在每个slot创建rollup,以减低网络延迟。
- 3)抗审查:
- 确保sequencer选举流程是抗审查的。
- 确保源自特定sequencer的交易打包是抗审查的。
- 4)隐私:
- 支持sequencer在选举和L2 block提交时,可选择匿名。
此外,还应满足高效、低复杂度、灵活性等要求,以及其它潜在要求:
- 与共享sequencer方案兼容
- 在执行层,将排序和打包区块 分离
- 使用L1而不是在L2层运行sequencer选举协议
- 将proposer和builder分离(PBS:Proposer/Builder Separation)。详细见V神博客Endgame 以及 Alchemy博客What is Proposer / Builder Separation (PBS)?。
参考资料
[1] Request For Proposals: Decentralized Sequencer Selection
Aztec系列博客
- Aztec Hybrid Rollup:混合zkRollup,而非zkEVM
- Proof Compression
- Aztec Connect即将主网上线
- Aztec connect bridge代码解析