- blobProposer_1blobProposer1 是一个无效的预确认,因此发布 B_1B1 回滚
- blobProposer_2blobProposer2 是一个有效的预确认,发布 B_2B2,并且
replaceUnsafeHead = false - 由于
replaceUnsafeHead为 false,blobProposer_2blobProposer2 的validatorProof证明 publicationId_{B_0}publicationIdB0 确实是在 blobProposer_0blobProposer0 的槽位中提交的 - 假设
validatorProof有效,publicationId_{B_0}publicationIdB0 被提升为safeHead,publicationId_{B_2}publicationIdB2 成为新的unsafeHead - Rollup 节点接收到
NewSafeHead事件并处理 B_0B0 以更新其本地 L2 状态
槽位 N+2
- blobProposer_3blobProposer3 是一个有效的预确认,发布 B_3B3,并且
replaceUnsafeHead = true - 由于
replaceUnsafeHead为 true,blobProposer_3blobProposer3 的validatorProof证明它不是 blobProposer_2blobProposer2 发布 B_2B2 时的槽位 - 假设
validatorProof有效,publicationId_{B_2}publicationIdB2 被 publicationId_{B_3}publicationIdB3 替换为unsafeHead - 由于没有新的
safeHead,Rollup 节点不更新其状态
槽位 N+3
- blobProposer_4blobProposer4是一个有效的预确认者,发布了B_4B4,并且
replaceUnsafeHead = false - 由于
replaceUnsafeHead为假,blobProposer_4blobProposer4的validatorProof证明publicationId_{B_3}publicationIdB3确实是在blobProposer_3blobProposer3的时段内提交的 - 假设
validatorProof有效,publicationId_{B_3}publicationIdB3被提升为safeHead,而publicationId_{B_4}publicationIdB4成为新的unsafeHead - Rollup节点接收到
NewSafeHead事件并处理B_3B3以更新其本地L2状态
假设
- 由于每个发布要么替换要么提升先前的
unsafeHead,为了给信标块根在链上可用留出时间,每个块只能添加一个发布 - 根据前面的假设,理性的L1提议者将确保只有他们的发布交易生效
- 发布必须至少每天进行一次,以确保连续的提议可以访问所需的信标块根(只有最后8091个可在链上访问)。


