cBridge 公布 2.0 升级计划,速览新版设计取舍及优化



cBridge 2.0 拓展了状态守卫者网络的功能,支持两种不同桥接模式以满足不同类型用户偏好,新版计划从 10 月开始分阶段启动。

撰文:Celer Network

自 cBridge 1.0 版本上线以来,我们的跨链资金总量持续每周成倍增长,在上线第一个月,我们只处理了 $10M 的跨链转账金额,而在接下来的一个月中,cBridge 跨链资金总量上涨到了 $170M,每日跨链资金也稳定突破 $10M 关口。cBridge 节点的流动性提供者,在没有任何额外激励的情况下,仅仅从跨链手续费上,就能获得 45% 的年化收益。这确实令人激动,但,这只是一个开始。

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图1

今天我们高兴地宣布 cBridge 2.0 的升级计划,并对这个充满创新的升级做一个简要的介绍。

cBridge 2.0 的技术架构将带来目前市场上最优的跨链交易体验,这将基于向用户提供更好的流动性深度、向 cBridge 节点和不想运行节点的流动性提供者(LP)提供最高效和易用的流动性管理方式,并向开发者提供广义跨链消息传递功能,以支持跨链 NFT、跨链 DEX 等更多应用。cBridge 2.0 所有功能的实现都是基于对 CELR 质押驱动的状态守卫者网络(State Guardian Network,以下简称 SGN)的升级,进而进一步增强 SGN 网络的价值捕获。

本文内容简要:cBridge 2.0 实现了怎样的优化?

对于不想太关注技术实现细节的读者,下面简要介绍 cBridge 2.0 的升级与优势。

对于用户:

  • 更好的流动性深度:支持更大的单笔跨链交易。
  • 更简便的使用流程:提供一键转账功能。
  • 支持转账为原生手续费代币 (gas token):例如 BSC 上的 WETH 可直接跨链转为 Arbitrum 上的原生 ETH,用来支付 Arbitrum 上的手续费。
  • 对多链和 token 的拓展及支持。
  • 桥接节点服务质量保障机制:对于选择使用桥接节点的用户,新引入服务质量保险机制,我们将对掉线节点进行惩罚并对用户进行赔偿。

对于流动性提供者(LP)和 cBridge 节点:

  • 提供流动性不一定要运行节点:在 cBridge 1.0 当中,提供流动性的唯一方法就是去运行一个 cBridge 节点。在 2.0 中,我们增加了一个新的模式,在这个模式中,SGN 本身将作为一个 cBridge 节点存在。流动性提供者可以将流动性代理给 SGN 所运行的这个共管节点,在获取跨链手续费的同时不需要自己再额外运行 cBridge 节点。
  • 最优的流动性管理体验:比起其他跨链方案,cBridge 2.0 的 LP 不需要铸造合成 token,不需要强行加入一个高波动性的 AMM 流动性池,不需要承受高额无常损失。只需要简单地提供单币流动性,并且可以灵活掌握自己的流动性分布从而进行套利。
  • 极高的流动性效率:比起其他跨链方案,cBridge 2.0 不需要额外的双倍流动性锁定,从而提高流动性的单位价值和效能,最大化优化 LP 收益。
  • 合理的流动性重平衡设计:cBridge 2.0 通过 SGN 对流动性统一共管,根据供需支持和生成最优非对称 AMM 曲线,从而激励套利者和 LP 维护整体网络的流动性充足和对称稳定。
  • 最优的自管模式 cBridge 节点调度:对于那些选择自运行并管理 cBridge 节点的流动性提供者,SGN 将进行统一的最优化用户体验调度。

对于在 SGN 中质押 CELR 的用户和验证人节点:

  • 价值捕获:由于 SGN 的质押人和验证人为 cBridge 2.0 提供了不可或缺的服务,SGN 中的 CELR 质押人将会直接通过 cBridge 跨链手续费和流动性挖矿奖励来捕获网络价值。
  • 协议治理:各类系统参数,比如价格曲线、费用比例等等都是通过一个基于 CELR 质押的分布式协议进行治理的。

对于开发者:

  • 前端 SDK 的白标:允许各类多链 dApp 在本地整合 cBridge 的功能,让用户直接在其 dApp 内部进行跨链。
  • 提供跨链消息传递功能以支持 NFT 跨链等其他应用:能够让开发者开发相比简单的资产跨链更加复杂的应用,如跨链 NFT 和跨链 DEX 等等。

那么,我们是如何在 cBridge 2.0 中实现所有这些新的功能和特性的呢?

答案:Celer 的状态守卫者网络-SGN。

在 cBridge 2.0 中,我们拓展了 SGN 的功能,以支持两种不同的桥接模式,同时满足不同类型用户和 LP 的偏好。在本文中,我们将进行对系统整体架构的介绍。

状态守卫者网络回顾

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图3

状态守卫者网络(State Guardian Network,SGN)是 Celer 整体架构的核心组成部分。在 Celer 的总体系统架构中,SGN 是一个特殊的 PoS 链,用于监控与 L2 状态相关的 L1 事件,并在需要时忠实地将第 2 层信息传递回第 1 层。

Celer 状态通道 中,SGN 帮助存储通道状态,并在需要时响应 L1 上的恶意结算。在 Celer layer2.finance Rollup 链中,SGN 扩展为一个去中心化的出块网络,将 call data 和 state roots 传递回 L1 。在 Rollup 的运行模式中,即使整个 PoS 共识失败,任何 SGN 节点仍可以将 fraud-proof 上链以保证系统安全。

CELR 持有者可以通过成为 SGN 验证者或通过委托的方式将 CELR 质押到 SGN 中,并积极提供上述服务。 CELR 质押者通过提供上述服务以获得质押奖励和对应服务费用。

SGN 作为 cBridge 节点网关和服务水平协议 (SLA) 仲裁者

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图5

cBridge 1.0 的节点设计选择和限制

在 cBridge 1.0 中,当 cBridge 节点加入网络时,它会向一个网关服务注册各种信息,例如费用表和流动性状态。该网关将持续监控 cBridge 节点的状态和性能。当发出用户请求时,它被定向到网关。网关根据流动性可用性、历史桥接成功率、费用等评估注册节点。然后它为该请求建议最合适的桥节点。在 1.0 中,我们选择使用中心化网关来快速学习各种调度策略的操作经验。

1.0 网关提供给用户的实际上是「仅供参考」 的建议去使用某些 cBridge 节点。尽管 cBridge 1.0 是采用非托管架构构建的,用户永远不需要为了他们的资金安全而信任节点,但确实存在与「节点可用性」相关的用户体验问题。举个例子,如果用户向一个节点发送了条件转账(HTLC 的第一部分),但该节点在两步 HTLC 转移完成之前下线,用户将不得不等待条件转移超时,而掉线 cBridge 节点不会因此而受到任何惩罚,用户也得不到任何对等待时间的赔偿。

我们通过 SGN 在 2.0 中解决了这两个限制。

通过 SGN 进行去中心化和高效的 cBridge 节点调度

在 2.0 中,我们首先将所有中心化网关逻辑,作为分布式服务迁移到分布式的 SGN 上。cBridge 节点将根据其费用偏好、流动性可用性等向 SGN 注册,而不是向中心化网关服务注册。

当用户提出请求时,正常的系统流程如下:

  • 用户查询 SGN 的当前状态以获得估算的交易费用和流动性可用性。
  • 如果估算的费用是可以接受的,用户发送 HTLC 转账的前半部分,并指定最大费用容忍度。
  • SGN 监控并接收交易。它根据节点调度规则为交易分配一个或多个 cBridge 注册节点。这个交易分配被写在 SGN 链上,也在被标记在用户的 HTLC 转账中。
  • 被分配的节点接受分配并通过完成剩余的条件转账来进行响应。
  • SGN 继续监控和跟踪改交易,一旦交易成功完成,与此交易相关的状态将从 SGN 链中清除。

基于此,将实现更具可扩展性的 cBridge 节点增长以支持共识和无偏见节点的选择过程。但将 cBridge 节点迁移到 SGN 的好处不止如此。

桥节点 SLA 保证金和罚没机制

与 1.0 的网关不同,在 SGN 作为调度层(网关)的架构下,SGN 监控跨链交易的全过程。作为去中心化的 PoS 链,SGN 现在可以提供的不仅仅是「仅供参考的建议」,它还可以对无法「按照承诺」完成分配的跨链转账的 cBridge 节点实施处罚。

当 cBridge 节点向 SGN 注册时,它可以在池合约中放置与某些服务水平协议(SLA)承诺(例如可用性、费用水平和流动性储备)相关联的「SLA 保证金」(即一堆具有价值的代币)。如果 SGN 确定该节点违反了 SLA,例如节点在未完成转账时下线,SGN 可以罚没其保证金,作为对用户体验下降和流动性机会成本的补偿。(注意, 这里永远不存在用户资金损失的可能性,上述补偿只是针对「资金卡住」造成的机会成本损失。)

在节点选择期间,SLA 保证金的可用价值是节点调度分配过程中考虑优先级的关键因素。诚实可靠的 cBridge 节点有很强的意愿去质押保证金,以增加他们在桥接过程中被选中的机会。另一方面,不太可靠的节点将被赶出系统或者作为优先级最低的选项。

通过分布式的「SGN 网关」支持的 SLA 保证金功能,cBridge 节点可进行高质量 SLA 运行。这旨在为希望保持「自托管流动性」的流动性提供者提供一个健康、快速增长和去中心化的 cBridge 节点运营商网络。

有些人可能会说,由于 PoS 共识存在失败的可能性,SLA 保证金可能会被错误地罚没,因此设置 SLA 保证金就不能称为 100% 自托管。

我们想强调的是,SLA 保证金只需要占总流动性的很小一部分,即可高效确保流畅的用户体验和有自我修复能力的 cBridge 节点运营商生态系统。这是一个非常值得的取舍,最重要的是,整个跨链过程,从用户角度而言,始终是「非托管」,不存在任何资金风险问题。

节点调度规则

节点调度规则设计的原则是优化用户体验。我们构建了一个「节点质量得分」的经验公式,以结合多个因素,例如节点 SLA 中的参数(费用、响应时间)以及历史性能(例如成功率、平均响应时间)。在为用户请求选择节点时,我们根据这个分数对节点进行优先排序。我们希望这个公式能够通过协议治理,通过经验式操作经验随着时间的推移进行迭代和优化。

这种模式相比同样是自托管架构的 Connext 新推出的 nxtp 协议来说,cBridge 的用户交互更简单,延迟更小,成本更低,无需复杂的多节点拍卖过程,并且能切实保证节点服务水平,保护用户利益。

SGN 作为共享流动性池管理器

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图7

无需运行 cBridge 节点即可提供流动性

前文所述的改进更多是为能够自己运行 cBridge 节点的自托管 LP 设计的。但是,我们认识到有大量 LP 和用户想要提供流动性但不想自己运行 cBridge 节点,同时他们也对 SGN 与 CELR staking 的 PoS 共识提供的安全级别感到满意。此外,通过共享流动性池模型,可以轻松启动整个网络的流动性,从而更快地促进更好的用户体验。

因此,在 cBridge 2.0 中,我们引入了一种全新的操作模式: SGN 作为一个整体来管理多条链上的共享流动性池合约。这其实就是将 SGN 这个本身就是分布式的 PoS 链,及其管理的流动性池这一个整体视为单个「节点」,并为 LP 提供了一个选项,使其可以轻松地向 SGN 委托流动性,获取跨链手续费收益,同时不需要运行任何节点。

那么,该模型能提供什么样的安全保证?

PoS 级安全和去中心化治理

在 cBridge 2.0 的这个模式中,共享流动性池合约通过 SGN 的 PoS 共识进行管理。转移池合约中的资金需要 CELR 质押加权多重签名。只有当超过 ⅔ 总权益的节点是恶意的,资金池才会有风险。我们要强调的是,随着 cBridge 跨链交易数量的增加和 cBridge 网络捕获总价值的增长,任何节点试图恶意行为都会自然而然地增加难度和成本。 这和其他利用 TSS 多签的解决方案从安全性上面有本质区别,因为 TSS 本身不绑定任何代币质押,所以其安全性也无法随着网络价值的增长而增长。

SGN 中的验证者治理模型是开放的和去中心化的:SGN 允许新的验证者被选举出来并通过 Staking 治理过程加入验证者集合,而无需任何特殊的协调过程。

简洁的流动性提供者(LP)体验和高流动性效率

那么在这个模型中 LP 是如何管理他们的流动性的呢?现有的解决方案比如 Hop Protocol 和 Thorchain,要求 LP 将代币流动性与另一种协议控制的结算代币一起放入链上 AMM 池中。但是这种模型有一些缺点:

  • 比如 Thorchain 要求 LP 使用高度不稳定的结算代币 Rune,因此必然会使 LP 遭受重大的无常损失。
  • 即使在通过原生的流动性代币铸造合成代币的情况下,LP 在跨多个链添加、移除和重新平衡流动性时仍然面临复杂的运营开销。
  • 比如 Hop Protocol 在需要「bonder」提供流动性的情况下,流动性效率较低,因为任何跨链转账对流动性的实际需求是其必要流动性的两倍。

cBridge 2.0 通过全新设计解决「流动性归属问题」,提供简单的 LP 体验和高流动性效率。为了更好地理解我们的系统设计,我们将首先解释「流动性归属」的含义。在任何多链桥接系统中,当用户从源链向目标链发送资金时,LP (或聚合池)本质上是向目标链上的用户支付资金,同时从源链上的用户接收资金。现在,假设有一个 LP 为链 A 上的系统提供流动性。当用户从链 B 向链 A 发送资金时,LP 的流动性本质上是「重新分配」的:他们在 A 链上的流动性减少了,他们在 B 链上的流动性增加了。流动性归属问题被定义为「系统如何让每个 LP 知道他们所有的流动性在哪里」以及「如何有效管理流动性以优化交易费用收益率」。

基于 AMM 池的解决方案通过在 AMM 池中分配结算代币和原生代币来隐式跟踪 LP 的流动性。桥接结构(例如 TSS 验证器或 L2 到 L1 消息传递协议)仅管理跨链结算代币的铸造和销毁。用户将始终需要为从结算代币到目标链上的原生代币的 AMM 交换支付费用;有时甚至在源链上也是如此。当网络中发生流动性失衡时,将流动性从流动性充足的链转移到流动性稀缺的链以套利滑点是有意义的。套利者将有动力通过将资金从流动性稀缺链发送到流动性充足链来重新平衡流动性。

同时 LP 有更强的动力来平衡流动性,因为他们不需要支付额外的过桥费来收获套利收益。但是,LP 的重新平衡过程非常复杂。例如,如果我们将流动性稀缺链表示为 S,将流动性充足链表示为 A,LP 将需要采取以下步骤:

  • 从 S 的 AMM 池中移除流动性。
  • 将结算代币从 S 移至 A。
  • 将结算代币以溢价出售给 A 上的 AMM 池换回原生代币。
  • 将原生代币移回 S。
  • 在 S 上购买结算代币。
  • 将流动性添加回 S 的 AMM 池。

上述步骤不仅会造成一定操作费用,还会造成显著的交易和时间成本。

在 cBridge 2.0 中,我们认为桥接结构(在我们的例子中是 SGN)可以高度优化,与链上智能合约操作相比,从根本上降低成本。因此,在 cBridge 2.0 中,系统中每个 LP 的流动性都被明确跟踪。添加流动性超级简单:只需通过一笔交易将原生代币添加到流动性池合约中,SGN 就会在 SGN 的链状态中记录每个 LP 的流动性金额。本质上,SGN 在其链状态中维护了一个 (chain_id, LP_address, token_type, balance) 表。

在处理跨链转账请求时,SGN 将使用整个池的流动性来计算滑点和定价(下一节将详细介绍),然后 SGN 将 LP 视为「虚拟 cBridge 节点」,并根据 LP 的流动性分配转移请求。一个简化的概念理解是,对于每个转账请求,每个目标链的 LP 流动性余额将与其可用流动性成比例地减少,而它们在源链上的流动性余额将增加。当然在实际工程实现中,我们使用随机采样和近似算法等方法最小化状态变化和成本,同时保持 LP 之间的统计公平性。这部分在我们的技术文档中有更详细的体现。

这样的架构同样适用于基于套利者的流动性平衡,这种设计还为 LP 在管理其流动性时提供了最大的灵活性。每个 LP 都可以清楚地看到在任何给定时间内他们的流动性是如何分配的。这使他们能够在选择移除或增加任何链的流动性时充分了解当下情况。这将流动性重平衡过程从 6 个步骤简化为 3 个步骤,且没有 AMM 交换成本:

  • LP 直接在 A 中移除原生代币的流动性。由于系统中的滑点,在这第一步中,LP 就已经锁定了滑点套利收益。
  • LP 将原生代币从 A 移动到 S。
  • 在 S 的池中添加原生代币。

LP 仍然可以从单个链或特定链的任何组合中移除所有流动性。在 cBridge 2.0 中,这样做的方式是触发内部跨链转账,并将 LP 视为用户,将其流动性转移到所需的链上,然后移除流动性。、请注意,在这种情况下,LP 将承担跨链转移的系统滑点。然而,这与直接为基于 AMM 的链上解决方案交换结算代币没有什么不同,实际上成本更低。

更重要的是,cBridge 2.0 中,LP 直接使用原生代币流动性,因此不会遭受高额的无常损失。尤其是对比 Hop Protocol,cBridge 无需任何额外的 bonder 流动性锁定要求,从而达到最高的流动性效率,获得最佳的流动性费率收益。

跨链桥接定价以激励平衡的流动性

在跨链桥接系统中,同一原生代币的流动性存在于多个链上。随着不同链对相同原生代币的需求发生变化,不同链上相同代币之间的固有定价也会动态变化。这是基于使用原生桥在不同链之间转移的潜在成本以及这些不同链上流动性的供需平衡。

对于任何桥接解决方案来说,能够通过设计适当的联合曲线(bonding curve)捕捉这种固有的价格变化非常重要。这为 LP 创造了重要的激励,以利用「规模经济」重新平衡多个链的流动性,来维持一个具有充足且平衡的流动性的网络来处理所有用户请求。

继续秉持我们「智能架构」的设计原则,我们在 SGN 内部建立了一个受 Curve 稳定币 AMM 启发的联合曲线定价机制。当用户将代币从一条链转移到另一条链时,SGN 将根据源链和目标链上的可用流动性计算收到的代币。除了定价本身外,还会从交易中扣除固定费用作为支付给 LP 的费用。

具体来说,对于任何一对链 i 和 j,让 xi和 xj 的链上的余额 i 和链 j 分别是给定代币。那么当我们计算链之间代币转移的滑点时,以下不变量应该始终成立 i 和链 j:

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图9

  • A 是每个链对的常数。对于同一个链对, A 所有代币的都是相同的。
  • D 是一个变量。初始 D。 可以通过针对求解三次方程来获得 D 给定两条链上的初始流动性,之后, D。 应根据流动性状态迭代更新 。
  • wi和 wj是两条链的相对权重,用于控制转移的滑点不对称性。请注意,权重的配置是针对每个链对的,并且应满足 wi+wj=2 。

我们在 bonding curve 中使用这些权重参数的原因是为了捕捉某些链的固有不对称性。例如,转入 Arbitrum 和 Optimism 等 Rollup,比转出延迟 7 天要简单得多,成本也更低。因此,我们可以控制联合曲线中的权重来反映每条链所产生的这种固有差异。

cBridge 公布 2.0 升级计划,速览新版设计取舍及优化插图11

在上图带有蓝色对称参考线的红色不对称曲线中,我们可以看到,当不平衡发生时该曲线为从链 i 到链 j 转移创造了更多的滑点。如果 wi=1 ,wj=1 则简化为 Curve Finance 所用的曲线。

通用跨链消息传递

cBridge 2.0 创建了一个基于 SGN 的智能跨链结构。这种结构可以做的不仅仅是跨链资产转移,实际上更是一个通用的跨链消息传递框架,其中 SGN 监控源链上的任何事件,并在目标链上发布这些事件的共识公证,完成信息跨链过程。

我们将逐步向开发人员开放这一底层功能,作为 SDK 以构建用例,不仅用于链上桥接,还用于其他用例,如跨链 NFT、跨链 DeFi 聚合等。

网络价值捕获

与许多治理代币不同(协议代币持有者不承担协议的日常职能),很明显,CELR 持有者和状态守卫者网络是 cBridge 良好运营是必不可少的要素。

因此,cBridge 2.0 中的用户和 LP 需要向 SGN 支付费用以换取其服务。这些费用按比例分配给 SGN 中的 CELR 质押人。具体来说:

  • 在 SGN 充当桥接网关和 SLA 仲裁者的模型中,一部分跨链交易费用和罚没的保证金将转到 SGN 用于其调度节点和 SLA 仲裁的工作。
  • 在 SGN 作为共享流动性管理者的模型中,一部分跨链交易费用支付给 SGN,用于帮助处理所有跨链流动性转移的工作。

还有一些系统参数和配置需要基于治理的更新和调整,以确保系统的稳定和持续运行。 CELR 还将充当 Celer 生态系统中这个新组件的治理代币。

关于 cBridge 多链桥接设计取舍的结束语

最后这部分是关于我们对跨链桥接设计中的技术取舍的看法。我们认为跨链桥接设计最大的取舍取决于系统流动性的控制权归属问题。

有些人可能会说,自监管的桥接解决方案才是「最纯粹」和「最安全」的桥接设计。虽然我们承认这一论点的原则,但我们想强调的是,实际上并不是每一个人都可以运行 cBridge 全节点。当然,我们对这个模型的潜力充满信心,这也是我们设计「SGN 作为 cBridge 节点网关和服务水平协议 (SLA) 仲裁者」自托管模型的原因。

同时,我们相信我们的设计理念是能满足各个不同的用户与 LP 偏好,并以不带丝毫偏见的方式呈现所有可用选项,以便用户和 LP 都可以根据自己的偏好选择。这就是为什么 cBridge 2.0 还带有「SGN 作为共享流动性池管理器」的模型,这也是希望更快地引导流动性以实现 cBridge 被更广泛的采用。

毕竟,不管是白猫还是黑猫;只要能抓到老鼠就是好猫。

启动计划

区块链互操作性是新的领域,之前在这一领域频发的黑客事件证明了这一点。我们一直以最高标准对待系统安全性,并努力保留我们的网络安全启动记录不被打破。

所以,cBridge 2.0 将分阶段推出。

我们计划在 10 月推出「SGN 作为共享流动性池管理器」模式作为 cBridge 2.0 第一阶段测试网,对系统和智能合约进行至少两次安全审计。

在测试网和审计之后,我们将启动 100 万美元的漏洞赏金计划以及逐步推出 cBridge 2.0 主网。

之后,我们将进入「SGN 作为 cBridge 节点网关和服务水平协议(SLA)仲裁者」模式作为第二阶段。

聯系郵箱:0xniumao@gmail.com