对话Celer董沫博士:如何构建更好用的跨链桥

BlockBeats
2021年11月28日 18:22
收藏
Connext 是一种互操作性协议,可在兼容 EVM 的区块链之间实现快速、非托管的跨链传输和合约调用。

来源:律动研究院


随着今年各个新公链生态的逐渐崛起,公链间跨链交互的需求突然开始爆发式增长。然而当前各种官方桥的使用体验一言难尽,除了支持的跨链对象单一,跨链流程复杂、转账时间慢等各种问题依然困扰着许多用户。

律动 BlockBeats 专访了当前第三方跨链最主流平台之一 Celer cBridge 的负责人董沫博士,让我们听听他对当前跨链市场的看法,以及 cBridge 在进行了 2.0 升级后,为用户带来的最新功能。


cBridge2.0 如何保证资金安全


律动 BlockBeats:我们看到在刚刚上线的 cBridge 2.0 中已经针对普通用户开放了流动性提供界面,而对于一个想要成为流动性提供者(LP)的普通用户来说,最关心的还是资金安全问题。那么在 cBridge2.0 中,都有哪些机制可以保证流动性池的资金安全?

董沫博士:我们需要从两个维度去谈这个问题。第一个维度是从整个系统架构上来看,就是这些资金池是谁来管,用什么样的方式来管。第二个维度更多是从工程细节上来讲,我们在整体的安全上做了哪些工作。

我先说第一点。从目前 cBridge 2.0 的整体架构来说,共享流动性池是由状态守卫者网络(State Guardian Network, 简称 SGN)控制的。这个状态守卫者网络本身是一个特殊的 PoS 链,其安全性本身是靠 CELR 质押所决定的。这个和 Polygon 或者任何一个其他 PoS 链是没有本质区别,都是靠这种经济安全性来保证整个网络中的资产和系统安全。

比如说在整个 PoS 链中,只要 2/3 以上的节点没有作恶的话,那么整个系统就能正常运行;如果在 1/3~2/3 之间,系统会出现停顿;如果大于 2/3 的节点作恶,整个系统便会出现风险,这就是整体的系统安全性。这种安全性本质上来说和通过 n 分之 x 多签钱包保证资金安全在概念上是类似的,他们之间的主要区别有点类似于区块链当中 PoA 和 PoS 的区别。

相较于一些使用简单多签解决方案的跨链桥(即每一个节点都有一个私钥,只要控制了足够多的节点,就会有巨大的安全问题),我们的 cBridge 系统是有较高的经济稳定性和经济安全性的,即使有一些小的作恶节点,系统也会立刻把这些出了问题的节点排除出去,并且把他们质押的 CELR 没收掉。在这个过程中,通过 CELR 质押以及罚没机制,会很快剔除掉问题节点。

因此从架构上面来说,cBridge 和其他解决方案很不一样的一点,就是我们非常接近一个公链的安全性,比其他 PoA 或者简单多签的方案有很大的安全优势。

第二点,从工程细节上来说,首先我们整体在安全方面做了许多工作,我们的整个合约层一共进行了三次独立审计,并且没有发现任何可以导致资金损失的漏洞。

我们在上线之前对整个工程团队进行了交叉审阅,基本上每一个核心关键代码至少都有两个不同的团队互相进行互查和审阅。在互查审阅的过程中没有发现任何会导致资金损失的重大问题。

更重要的是,我们在上线的机制中,采用了分阶段推出的计划。可以看到我们虽然于 11 月 18 日上线了 cBridge2.0,但是流动性主要还是通过 1.0 的一些 LP 迁移过来的。我们并没有直接开启流动性挖矿等活动。我们希望给系统一两周的时间,让它有一段磨合期。当我们确定在磨合期中没有出现意外后,我们才会开启流动性挖矿等用户激励活动。

此外,在整个系统中我们也做了一些比较创新的解决方案以保证资金安全。比如我们在一开始逐步上线的时候会有一些流量控制,比如对每半小时跨链资金进行一定限制。同时我们有一套完全独立的监控系统,去实时监控整个系统的流量,然后去审查这个系统中是否有任何的「不变量」被违反。

这里所谓的「不变量」,就比如说有一笔资金要从链上发出去,它必然得先从一个地方进来。通过对链上状态的整体监控,我们可以实时监控整个系统的情况。一旦发现有问题出现,我们系统会迅速通过治理模式暂停所有链上合约,保证整个系统的安全性。

最后,我们认为整个跨链是一个比较高危的领域,因为过去被攻击的跨链项目实在太多了,有的跨链桥还被攻击不止 1 次,多则 2~3 次。

但是你会发现所有这些解决方案,在事前都是没有漏洞奖励计划的。这其实非常不好,因为很多的区块链研究者也好,或者是白帽也好,他愿意去帮你去看整个系统的安全性,但是会希望有一些额外的奖励。

这个也是我们为什么在 cBridge2.0 上线时跟 Immunefi 一起发布了 200 万美金漏洞奖励计划的原因。如果一个黑客能从我们这个系统当中偷钱的话,我们就奖励 200 万美元。我们希望能把这个事情做在事前,而不是说事后我们再去跟黑客协商,让他把钱还给我们。

律动 BlockBeats:我们看到今年也出现了很多跨线桥的安全事故,那么 cBridge 相比于这些已经出过安全问题的跨链解决方案,在安全上有什么本质不同?比如 cBridge2.0 靠一条 PoS 公链来保障它的安全,这是不是 cBridge2.0 一个最大的优势?

董沫博士:是的,你说的没错。我们的经济安全性是内置的,这是一个很大的优势。

第二个优势是我们在链上的逻辑做到了极简,我们不像很多跨链解决方案依赖于 AMM 池,做一个所谓的结算 token,和跨链 token 之间进行转换结算等等,这些非常复杂的组合都是不存在的。

cBridge2.0 中有一个类似于公链的 PoS 链(即 SGN),区别于单纯依赖简单签名或多签的其他项目,我们把大多数复杂的逻辑都放在了这条 PoS 链当中去运行,不需要过多的在两边公链上设计复杂的智能合约,尽可能地降低系统复杂度。实际上我们整个系统的设计要比其他系统设计更加简洁,而简洁往往能带来更高的安全性。

律动 BlockBeats:我们知道 cBridge 不光可以跨链,还可以帮助用户在诸如 Arbitrum 与以太坊主网之间进行跨层资产迁移。用户之前如果使用 Arbitrum 官方桥向主网提取资金,需要锁定大约 7 天的时间以便系统完成欺诈证明。而如果通过 cBridge 提取资金却可以做到即时到账,那么如果这笔资金在 7 天后被证明存在欺诈等问题,相关的风险是否会变成由 cBridge 中的 LP 来承担?

董沫博士:这个问题问得非常好,对于像 Arbitrum 这类 OP-Rollup,特点是任何人都可以观察上面发生的事情是否正确,他的结果我们并不是盲信的。

我们整个 SGN 作为一个以链的形式存在的监控系统,会观察 OP-Rollup 在主链上所写下的数据(calldata),并且会通过 OP-Rollup 的 SGN 节点运行 OP-Rollup 的轻客户端,然后重新验证这些交易,以确保不会发生安全问题,然后我们才会去处理这个交易。

律动 BlockBeats:就是说我们在接受这笔资金的时候已经提前确认了,这笔资金肯定是没问题的,所以我们才会接受他的跨链申请?

董沫博士:你说的没错,我们在接受这笔资金的时候,一定是在以太坊主网已经出现了一个 Arbitrum 的状态根,而且这个状态根本身是没有错误的,这时候才会接受跨链申请。当然时间上肯定不用 7 天了,一般就是一两分钟的事情。


cBridge 的跨链方案


律动 BlockBeats:目前市场上的各类跨链解决方案基本可以分为三种:哈希时间锁、见证人跨链(Notary)、轻节点。cBridge 应该是基于第一种哈希时间锁,那么您怎么看待这三种方案未来的发展趋势,三种模式的跨链桥是会并存发展,各取所长,还是会向其中某一种解决方案演进?

董沫博士:首先我要稍微纠正一下,cBridge 在 1.0 的时候确实使用了哈希时间锁的方案,但在 cBridge 2.0 中,虽然我们还没有上线全部的功能,目前上线的共享流动性模式中,我们更类似于一个见证人和轻节点侧链类型的跨链解决方案。

在 cBridge2.0 中我们会验证 Arbitrum 中交易的有效性,然后整个 PoS 链(SGN)会统一做一个权重签名,有了权重签名之后,再从一个链跨链到另外一个链控制共享流动性池。也就是说共享流动性池是靠 PoS 链来控制的,因此 PoS 链本身就类似于见证人。

关于哈希时间锁和见证人这两个模式,其实在 cBridge2.0 的整个架构里是包含了这两种不同的方案的。后者的运行场景在于如果你不想去运行一个节点,只想做一个流动性提供者(LP),那你就把流动性锁在流动性池里面,这个流动性池由 SGN 作为见证人来进管理。

但是有些 LP 说我就是不愿意让别人控制我的流动性,我就是想要运行一个自己的节点。在这种 LP 独立运行节点情况下,SGN 就不会控制他的流动性,而是去分配跨链任务,这就是基于哈希时间锁完全无需信任的模式,不需要增加任何第三方。

我们在整个 2.0 架构设计上是同时支持这两种模式的,但是对于未来到底哪种模式更有优势,在哪种环境下可能会更加流行,需要一些时间检验。但从 cBridge 的角度来说,我们是支持所有跨链模式的。

律动 BlockBeats:我们看到在 cBridge1.0 中大概支持了 8 种 Token,而在 2.0 中目前只有 3 种 Token。那么 cBridge 后续是否会继续增加支持资产的数量,新增资产是有某种特定的流程,还是会实现最终无准入支持所有 ERC20 Token 的跨链?

董沫博士:我们在产品刚上线的时候还是会优先考虑稳定性,以免发生问题,后续支持资产的数量一定是会增加的。 

而增加资产支持种类的过程与无准入并不冲突,具体来说,当大家想要新增资产种类的时候,可以通过 Celer 的治理机制投票。投票通过后会先向大家开放提供流动性,一段时间之后跨链功能才会正式开启。

律动 BlockBeats:在看过 cBridge 2.0 的官方文档后一直有个疑问,因为之前一直认为在 cBridge 的跨链架构中是不包括 AMM 机制的。但是在 cBridge 2.0 的介绍里,我们发现作为流动性提供者,可能还要承担一定的无偿损失风险。所以 cBridge 是否在 2.0 里边引入了 AMM 机制?

董沫博士:事实上,AMM 这个概念已经被大家用烂了,所谓的 AMM 机制其实更多的是指一个价格曲线。我们在 2.0 当中确实使用了价格曲线的模式,但这个价格曲线我们并没有做在 cBridge 桥接的两条链上,而是做到了 SGN 里面,可以非常容易地进行调整优化。 

律动 BlockBeats:能透露一下我们采用的是哪种做市函数吗?

董沫博士:是跟 Curve 很类似的 stablecoin 的做市函数,不是 x*y=k 这种恒定乘积函数,而是相对比较复杂的 stablecoin 做市函数。 

律动 BlockBeats:也就是说我们如果在两边流动性大致相等的情况下,用户在跨链的时候是不会承担比较高的滑点?

董沫博士:是这样的,即便在两边流动性没有大致相等,只要没有相差得太多比如 1:10 或者 1:20 的情况下,都不会产生很大的滑点。 

对于流动性提供者来说,因为都是同质 token 互换,这个过程确实会有无常损失,但是他的无常损失跟 stablecoin 兑换平台中 LP 的无常损失的大小是类似的。

律动 BlockBeats:也就是说虽然会有一定的风险,但是在绝大多数情况下,LP 依然不用太考虑无偿损失的问题?

董沫博士:对,损失会很快的通过手续费赚回来。 

律动 BlockBeats:之前在使用 cBridge 1.0 产品的时候,用户有时候会遇到一种一边的流动性枯竭,导致跨不了链。那么在 2.0 里是不是理论上就不会出现流动性枯竭的情况?可能会把价格拉的比较高,然后来让市场去自动平衡双方的流动性,可以这么理解吗?

董沫博士:你说的太对了,流动性枯竭这个问题其实就是 cBridge1.0 里面的一个缺陷。但其实我觉得 cBridge1.0 里面更关键的一点是你要去自己运行跨链节点才能提供流动性,这个门槛比较高。 

但是在 cBridge2.0 里面,我们后续会上线流动性挖矿活动,将来当流动性足够多的时候,这样的问题也就自然不存在了。

律动 BlockBeats:可不可以这么理解,就是现在的 cBridge 2.0 产品,其实很像一个跨链版的 Curve?

董沫博士:非常正确。 

律动 BlockBeats:那么 cBridge 在今后有没有可能在跨链的过程中,甚至直接加入 stablecoin 兑换的功能,比如说我在这边跨的是 USDC,跨过去之后就直接换成 USDT?

董沫博士:这个其实不限于 stablecoin 兑换,任何资产兑换都可以。我们其实也不用自己去做 Swap,而是直接在两边去整合一些现有的 Swap。 

比如说将 Avalanche 上的 USBC 跨到 BSC 中的 BNB。那么我会将 USDC 先跨到 BSC,然后在跨链的支付上面带一个消息,告诉接收方需要将 USDC 兑换成 BNB,然后用户在 BSC 上收到的就会直接是 BNB。

就是说,在我们的整个系统架构当中,不光能做简单的资产跨链,更重要的是能够进行更丰富的用例拓展。我们整体的 SGN 架构,不局限于沟通你这边应该给那边多少钱,SGN 实际上是一个非常泛化的消息层,可以从一个链把消息带到另外一个链去,并且可以和相应的支付绑定起来,去执行相应操作。这在将来将是一套非常有用的东西,并且这部分将是我们未来的一个主要优势。

律动 BlockBeats:我们看到目前 cBridge 支持的还都是 EVM 兼容链的跨链,那么未来有没有计划继续支持比如 Solana 等非 EVM 区块链的跨链,或者与其 EVM 兼容层建立跨链的连接?

董沫博士:cBridge 与 EVM 层建立跨链联系是比较简单的。至于非 EVM 兼容链,我们现在已经计划去接入 Solana 和 Terra。这个在技术上是没有问题的,后续随着产品升级,我们会支持更多的非 EVM 兼容链。 


跨链技术的发展趋势


律动 BlockBeats:随着当前市场上的跨链桥越来越多,最近也出现了一些主打聚合的跨链项目。您觉得聚合会是整个跨链市场未来的一个发展趋势吗?

董沫博士:我觉得聚合肯定是需要的,无非是由聚合器来做,还是跨链桥自己来做。其实聚合还是相对比较简单的,但我觉得聚合器千万不能做成网站自己的 APP,这是不 work 的。他应该做成 SDK 的模式,基本上能够接入到每一个有跨链需求的 DApp 里边,这样的 SDK 本身是非常有价值的。

这种模式也会给整个跨链桥的生态带来更多好处,我们在这块其实一直有布局,实际上我们也在参与投资甚至孵化一些跨链桥的聚合器项目。

律动 BlockBeats:您觉得这些项目未来跟 cBridge 会是一个竞争关系吗?还是说我们 cBridge 未来就可能自己会做这种聚合跨链的工作?

董沫博士:我们还是会更专注于底层一些,聚合跨链更多是上层应用层的概念。聚合跨链无论是进行资产的聚合,或是对一些 DEX 进行聚合,底层都是可以用 Celer 的 SDK,因此我们也希望尽量去多地接入各种各样的聚合跨链应用。 

律动 BlockBeats:所以您认为不同的聚合跨链可能会给 cBridge 带来一些协同效应,而不是直接的竞争关系?

董沫博士:对,这些都会给 cBridge 带来一些流量。 

律动 BlockBeats:您有没有考虑过团队的盈利问题,或者说目前的 CELR 能否捕获 cBridge 所带来的商业价值?

董沫博士:这个问题问得很好,首先 CELR 在设计当中是直接捕获整个跨链桥的价值的。cBridge 的经济安全性实际上就是通过 CELR 在 PoS 链(SGN)当中的质押来保证的。在质押的过程中,因为给整个网络提供了安全服务,所以不管是针对 cBridge 也好,还是 layer2.finance 也好,又或者一些我们之后将推出的其他产品,都会收取一部分的手续费,这跟各种公链的安全模型其实是比较像的。 

律动 BlockBeats:现在看到越来越多的应用尤其是游戏应用,受制于公链平台的性能以及交易成本,都逐渐开始构建自己的应用链,您认为这会是个大的发展趋势吗?

董沫博士:这个有可能,但应用链本身需要具体看是什么模式。我仍然对整个 Rollup 赛道是比较看好的,Rollup 本身不管是 OP-Rollup 还是 ZK-Rollup,在未来都会有自己的位置,并不是说 ZK-Rollup 最后就一定会一统江湖,因为 ZK-Rollup 本身有证明成本的。如果你想去开发一些所谓的应用专有链的话,其实完全可以用 Rollup 的方案去获取以太坊的安全性,同时又能够极大的提升应用效率,我认为这是未来的一个必由之路。


链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界