本文讨论了Based Rollup 的预确认(preconfirmation)机制,允许用户在交易执行前获得确认,从而提升用户体验。
特别感谢 Dan Robinson、Mike Neuder、Brecht Devos 参与详细的设计讨论。
概要:我们展示了 Based Rollup(和基于有效性证明 validium)如何为用户提供交易执行的预确认(简称“preconf”)。基于 preconf 为基于排序 sequencing 提供了具有竞争力的用户体验,延迟约为 100 毫秒。
构造
基于 preconf 需要两个链上基础设施:
L1 提议者可以通过选择加入以下描述的两个 preconf 惩罚条件来成为 preconfer。Preconfer 向用户发布签署的 preconf 承诺 preconf promises,并从用户那里获得 preconf 小费 preconf tips 以履行承诺。
Preconfer 根据他们在提议者前瞻中的 slot 位置被赋予优先权——slot 编号越小,优先级越高。
来自下一个 preconfer 的 preconf 承诺的交易可以立即被该 preconfer 之前的任何提议者包含并在链上执行。然后,预计 preconfer 将使用包含列表在他们的 slot 上履行任何剩余的承诺。
有两种类型的承诺故障,都是可惩罚的:
安全性故障是完全可惩罚的,因为诚实的 preconfer 永远不应触发安全性故障。用户和 preconfer 共同商定的 preconf 活性惩罚金额可以根据意外活性故障的风险以及 preconf 小费金额来定价。
由非 preconfer 包含在链上的非 preconfed 交易不会立即执行。相反,为了使 preconfed 交易优先于非 preconfed 交易执行,引入了一个非 preconfed 交易的执行队列。链上包含的非 preconfed 交易将被排队,直到第一个 preconfer slot 未被错过。届时,所有交易都会执行,preconfed 交易优先于排队的非 preconfed 交易执行。
承诺获取
想要让他们的交易被 preconf 的用户应该争取从提议者前瞻中的至少下一个 preconfer 获得承诺。此过程首先是用户向下一个 preconfer 发送承诺请求。
用户获取承诺的链下机制不受链上 preconf 基础设施的约束。存在一个开放的设计空间,其中有几个与任何 preconf 基础设施相关的考虑因素,而不仅仅是基于 preconf。
端点 endpoints:Preconfer 可以公开宣传点对点 API 端点,以接收承诺请求并返回承诺。以延迟为代价,可以使用 p2p gossip 渠道代替点对点端点。
延迟 latency:当用户和 preconfer 之间使用点对点连接时,preconf 延迟可能发生在 100 毫秒 的数量级上。
引导 bootstrapping:必须有足够的 L1 验证者作为 preconfer,才能在展望中至少有一个 preconfer 具有高概率。信标链 beacon chain 在展望中至少有 32 个提议者,因此如果 20% 的验证者是 preconfer,则存在 preconfer 的概率至少为 1 - (1 - 20%)32 ≈ 99.92%。
活性回退 liveness fallback:为了实现针对承诺活性故障的弹性,用户可以并行地从多个下一个 preconfer 获取承诺。如果第一个 preconfer 触发了活性故障,用户可以回退到来自第二个 preconfer 的承诺。
并行化 parallelisation:不同类型的承诺可以具有不同的 preconf 条件。最严格类型的承诺提交到 L2 链的执行后状态根,从而为承诺发布创建顺序瓶颈。一种较弱的承诺形式仅提交到执行状态差异,从而解锁跨用户的并行承诺发布。甚至可能存在更弱的基于意图的承诺(例如,“此交换应至少收到 X 个 token”)。最弱的承诺形式,仅承诺由 preconfer slot 包含交易,可能与某些简单的转移有关。
重放保护 replay protection:为了避免 preconfer 的重放攻击,例如通过交易重新排序进行夹击,建议将交易有效性与 preconf 条件相关联。这可以通过新的 L2 交易类型来实现,无论是使用账户抽象还是本机交易类型。
SSLE:使用单秘密领导者选举(Single Secret Leader Election, SSLE)仍然可以发现展望中的 preconfer。实际上,preconfer 可以(链下和链上)宣传零知识证明,证明它们是各自 slot 的 preconfer,而无需透露有关其验证者公钥的更多信息。在用户和 preconfer 之间进行中介的 Preconf 中继可以屏蔽任何一方的 IP 地址。
委托 preconf delegated preconf:如果发布承诺的带宽或计算开销对于 L1 提议者来说太高(例如,家庭运营商),则可以将 preconf 职责(全部或部分)委托给单独的 preconfer。Preconfer 可以以无需信任的方式为承诺安全性故障提供抵押品。活性故障是 L1 提议者和 preconfer 的双重责任,并且可以由 preconf 中继进行仲裁。
公平交换 fair exchange:承诺请求和承诺存在公平交换问题。给定一个承诺请求,preconfer 可能会收集 preconf 小费,而不与用户共享承诺。一个简单的缓解方法是用户强制在发出新的承诺请求之前公开承诺(例如,实时流式传输)。此缓解措施解决了除最新 preconf 承诺之外的所有承诺的公平交换问题。用户和提议者互相信任的中继也可以解决公平交换问题。最后,可以使用纯粹的密码学针锋相对签名公平交换协议。
小费定价 tip pricing:我们预计对于许多交易,可以相互商定固定的 preconf gas 价格。一些交易可能必须支付相应更大的小费,以补偿提议者可能提取的预期 MEV 的任何减少。例如,在 preconfer 的 slot 之前几秒钟 preconfed 的 DEX 交易可能会减少 preconfer 的预期套利机会。互相信任的中继可以帮助用户和 preconfer 协商适当的预确认小费。
负小费 negative tips:Preconfer 可能会接受负小费,例如,对于使链上价格偏离链下价格的 DEX 交易,从而增加 preconfer 的预期套利机会。
分析 BFT 和提议者承诺的预确认 Analyzing BFT & Proposer-Promised Preconfirmations
基于提议者的承诺 - 以太坊的提议者承诺市场 Based proposer commitments - Ethereum’s marketplace for proposer commitments
- 原文链接: ethresear.ch/t/based-pre...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!