Aztec 最终确定Fernet (Fari Election Randomized Natively on Ethereum Trustlessly) 为其L2去中心化的Sequencer协议协议,它采用VRF通过一个随机的评分,获取分数最高的sequencer可以排序交易,生成区块,然后由证明者生成证明,提交到L1上。
Sequencers 首先需要在L1上质押来参与协议,每个sequencer 需要注册一个公钥,用到验证VRF.
采用VRF(Verifiable random function),利用sequencer 的私钥和公开输入(RONDAO)的值,来确定随机数。
整个协议包含三个阶段: proposal, reveal, proving 阶段。
Proposal 阶段
Proposers 首先提交L1 区块承诺,主要包含了去区交易排序的承诺,上一个区块的识别符和VRF 的输出。
Reveal 阶段
VRF得分最高的 sequencer 可以上传区块内容到L1或其它DA 层。在乐观的情况下,这个区块将被证明;若sequener 拒绝发布区块内容,协议将标记区块跳过,由下一个sequencer 继续在前一块的基础上构建区块。
Proving 阶段
由证明者生成证明并提交到L1上,完全区块的固化。至于Prover的选择策略,目前未定。
Batching
可以将多个块的生在一个聚合证明,以分摊费用,但是为延迟区块固化时间。
参考
https://hackmd.io/@aztec-network/fernet#Protocol-phases
https://medium.com/aztec-protocol/announcing-fernet-aztecs-decentralized-sequencer-selection-protocol-dd06194d572f