Celer cBridge: 面向Layer-1和Layer-2互联未来的高速低成本价值转移网络

Celer

    
    

图一: Celer cBridge架构示意图
    Celer cBridge,一个支持高速低成本的跨链支付网络。用户可以通过该网络在任何以太坊Layer-2系统、以太坊主链、以及其他Layer-1或Layer-2之内或之间进行价值转移。
    Celer cBridge的用例包括:
    

  • 在以太坊各个Layer-2之间的快速低成本支付而无需通过Layer-1。这些Layer-2网络包括 Optimistic Rollups(如Optimism, Arbitrum和Celer Rollup), PoS侧链(如Matic和SKALE);
  • 在Layer-1和Layer-2之间的快速资产转移,无需经历长延时;
  • 在无需通过主链的情况下,实现该条主链的Layer-2和另一条主链之间的双向桥接;
  • 与跨链路由的Celer状态通道网络无缝连接。

    cBridge为什么重要?
    我们正在迈向一个多链时代。越来越多的分布式应用和数字资产被部署在各种弱耦合的系统中。这些系统在安全、吞吐量、延时、易开发性和模块化之间有不同的取舍。它们包括不同
    的Layer-1(如以太坊、Cosmos、Polkadot)、这些Layer-1的分片,以及不同Layer-2扩容方案(如Optimistic Rollup、ZK Rollup、和侧链)。
    即便各自系统内部的操作和交易相对流畅,跨链交易或资产转移往往既贵且慢。以rollup为例,将资产转出rollup主链合约通常需要等待数天时间,而在不同rollup之间的支付转移则更加费时费力。
    为了让资金能够在不同系统中高效流动而无需长延时或基于信任的托管人,一个能够连接各个平行链并将不同层系统扁平化的通用价值网络显得尤为重要。
    cBridge Demo: https://www.youtube.com/watch?v=vY6eQ7qbBAE&feature=youtu.be
    cBridge便是这样的一个通用价值网络。如图一所示,一个Arbitrum上的客户可以向Polkadot上的客户通过多跳cBridge和Celer状态通道网络进行支付,途经Arbitrum cBridge,到以太网主网上多个状态通道节点,最终到Polkadot节点。这个过程只需要毫秒级延时与极低的成本。
    若要更进一步对比性能提升,我们可以看到在没有cBridge时进行上述操作需要半个月的时间,延时高达cBridge的一百万倍。在成本方面,cBridge具有状态通道的低成本而不是以交易计费。其费用与转账总量以及其流动性资金相关。这会成百上千倍地降低小额资产转移的成本。很明显,cBridge对广大用户在不同网络之内和之间进行统一的高速资产转移,具有极其重要的作用。
    cBridge如何工作?
    如上文图一所示,我们通过扩展Celer状态通道来实现cBridge,增强现有协议使其可以在多条链上同时运行。比如图一中的A可以同时存在于Optimism rollup, Arbitrum rollup, Celer rollup, 和以太主网。Node A连接了所有想在四个链之间桥接资金的客户,同时也对Layer-2和Layer-1之间的资产桥接提供流动性。这些多栖节点(如A)可以连接不同的状态通道主网,而这些多栖节点之间的连接构成了这个跨链网络的「骨干网」。
    
    

图二: Celer 跨链支付简化示例
    图二展示了一个chain-1的A节点向chain-3的D节点进行多跳跨链支付的示例。这些不同的链可以是任意的EVM兼容平台,如Aritrum/Optimism rollup、侧链、eth2分片、或其它layer-1主链。中间节点(B和C)为终端客户(A和D)提供状态通道资金流动性和支付转发服务。在上例中,B同时在chain-1和chain-2各运行一个节点,C同时在chain-2和chain-3各运行一个节点。
    如果所有节点都诚实合作,此次跨链支付会迅速即时结算。如果沿途任何节点不合作或作恶,其他节点可以在链上CelerPay合约中强行结算,从而保证所有诚实节点的资金安全。我们的在线架构文档详述了单链上的CelerPay合约(https://www.celer.network/docs/celercore/channel/pay_contracts.html)与支付协议(https://www.celer.network/docs/celercore/channel/pay_protocol.html)。为了实现多链平台上的跨链支付,我们需要在每条链上部署合约,在支付地址上增加chain-id标识,并且增加跨链时的支付转换协议。上面示例中的payAD, payAD*, and payAD** 拥有相同的发送和接收地址、支付价值、哈希锁,以及不同的本地token与合约地址。中间节点B和C负责跨链时的支付转换。
    cBridge有什么不同?
    cBridge是基于Celer的状态通道产品,该系统已经过具有百万用户游戏应用的实战测试。其他的解决方案包括一些跨链桥接合约,和其他Layer-2桥接系统(比如由我们的伙伴Connext实现的Vector)。下表是这些系统的特性对照。
    
    如何使用cBridge?
    Celer状态通道网络中已经加入了关于状态通道跨链支付的功能。若要测试该功能,需要先在每个EVM测试链上部署CelerPay合约,或在非EVM兼容的链上部署相应合约或插件(如Polkadot上的Celer Substrate模块)。此外,cBridge运行者需在每个链上启动节点,用我们提供的命令行工具(https://github.com/celer-network/goCeler-oss/blob/master/tools/osp-cli/README.md#config-crossnet-routing-info)将跨链支付所需要的信息配置(示例:https://github.com/celer-network/goCeler-oss/blob/master/testing/profile/crossnet/o6.json)写入相应节点数据库。代码中的本地端到端测试(https://github.com/celer-network/goCeler-oss/blob/master/test/e2e/e2e_crossnet_test.go)可以一定程度上作为示例来展示横跨三链的快速状态通道支付(如图二)。
    Celer cBridge可以立刻投入产品中,且无需进行任何CelerPay合约改动。随着Layer-2的进一步普及,我们之后会对广大用户提供友好的web界面。