上下文

Babylon 提供 比特币质押协议,允许比特币持有者在比特币链上质押 BTC,以保护任何 PoS 链。质押是无需信任的,因为 BTC 位于原生比特币网络上的自托管保险库中,而无需在其他地方进行桥接。

OP 堆栈链可以与 Babylon BTC 质押协议集成,以获得比特币安全性。这带来了以下好处。

  • 更好的经济安全性: 有原生 BTC 质押来保护汇总并提高其经济安全性。这对于采用较少的新 OP 堆栈链来说更为重要。此外,质押的 BTC 实现了 可削减安全性,这是一种强大的安全属性,即使 L2 序列器中的多数派持有相同的质押,L2 序列器的质押也会被追究责任,BTC 质押也是可削减的。
  • 快速终结:改进的经济安全性将使 OP 堆栈链受益,实现快速终结。如果用户愿意信任由 BTC 质押支持的投票,那么用户可以确认交易并做出决策,而无需等待乐观汇总中漫长的挑战期。
  • L2 交易的重组弹性:一旦交易被大多数 BTC 支持的终结性提供者签名的 L2 区块中包含,序列器就不能在 L1 上的同一高度发布不同的 L2 区块。

比特币质押的无分叉汇总 博客文章提供了更多详细信息。

系统架构

下图描述了系统架构。“→”箭头表示数据流;例如,X→Y 表示“Y 从 X 查询数据,数据从 X 流向 Y”。

系统组件

设计涉及以下主要组件:

  • 最终性小工具合约:CosmWasm 智能合约,用于维护从 OP-stack 最终性提供商提交的所有最终性签名。
  • 它将部署在 Babylon 链上。
  • 它将查询 Babylon 以确定最终性提供商的状态和投票权。
  • OP-stack 最终性提供商:守护程序,接收 BTC 质押并将最终性签名提交给 Babylon 上的最终性小工具合约。
  • 它连接到 Babylon 节点以查询自身的投票权。
  • 它连接到 Babylon 节点中的最终性小工具合约以提交最终性签名。
  • 它连接到 OP 节点以获取 L2 区块元数据。
  • 带有最终性小工具的 OP 节点:OP 节点将进一步配备一个最终性小工具,用于统计所有最终性签名、确定 L2 区块的最终状态,并仅将最终确定的 L2 区块通知给 OP-geth。
  • 它连接到 Babylon 节点,用于查询最终性提供者的投票权。
  • 它连接到 Babylon 节点中的最终性小工具合约,用于查询最终性签名。
  • 它连接到以太坊 L1 节点,接收批量数据以派生 L2 区块。

关键工作流程

  • 最终性提供者:不断向最终性小工具合约提交 L2 区块的最终性签名。

在 OP 堆栈链中出现新的 L2 区块时,

  • 获取 L2 区块元数据。
  • 查询 Babylon 链以确定其自身是否在此高度具有投票权。
  • 如果是,则签署最终性签名并将其提交给最终性小工具合约。
  • 最终性小工具合约:验证传入的最终性签名并识别模棱两可之处。

在最终性签名后,最终性小工具合约对其进行验证并检查其是否冲突。

  • 如果有效且与任何现有签名不冲突,则接受。
  • 如果无效,则拒绝。
  • 如果有效但与现有的最终性签名相冲突,则发出事件,以便任何人都可以削减最终性提供者及其下的 BTC 质押。
  • 具有最终性小工具的 OP 节点:持续统计从 L1 派生的 L2 区块,以了解最终性签名和最终性提供者的投票权分布,并确定 L2 区块的 BTC 质押最终状态。派生管道经过修改,因此它仅输出 BTC 质押最终化的 L2 区块。

在从 L1 派生出新的 L2 区块时,OP 节点执行以下操作

  • 查询最终性小工具合约以获取此 L2 区块的所有最终性签名。
  • 查询 Babylon 以获取此消费者的所有最终性提供者/BTC 委托,并使用 L2 区块的时间戳来确定此区块时的投票权表。
  • 统计最终性签名并确定 L2 区块是否获得法定人数。
  • 如果此 L2 区块获得法定人数,且其前缀为 BTC 质押完成,则将此 L2 区块标记为 BTC 质押完成,并将其输出到派生管道中。

实施

我们已经完成了 MVP 的实施。代码库包括

展望未来,我们将实现以下功能:

  • [ ] 削减模棱两可的最终性提供者
  • [ ] BTC 质押者和最终性提供者的奖励机制

原文:https://www.notion.so/BTC-staking-integration-for-OP-stack-chains-1-pager-f0574cd4e624475eb00d64912698a38c#cb340004c6cf48e2b9c9656bc5e59d8b