跨链桥不是一个新话题,市面上的文章从桥的基本要素、跨链技术等对跨链桥进行了全面的分类和解读。但是目前文章对于跨链桥的分类使人眼花缭乱,阻碍了人们对跨链桥性能的宏观理解。
Dr.DODO旨在基于对 16 个跨链桥的调研,对桥的各方面性能进行分析和比较。通过比较,人们可以更直观的体会到桥与桥之间的差异化,以及致力于解决的问题是什么,从而反映出跨链桥未来的发展趋势。这篇文章的重点在于比较跨链桥的性能,而不在于对跨链技术本身作出深度解释,读者可以通过文中引用的参考对跨链技术知识进行普及。
一:Literature review
跨链桥的出现
根据 Blockchain Comparison 的统计,目前存在的公链达到115 条。不同的区块链之间存在不同的通信协议、共识规则和治理模型。Dragonfly Capital管理合伙人 Haseeb Qureshi 把每一条公链比做一个城市,无论以太坊上能建立起多少摩天大楼(Rollups)还是需要和其他城市之间连接,这样看来,跨链桥的出现成为了理所当然。同时新兴公链上蓬勃发展的DeFi、NFT和 Gamefi 鼓励着用户将资金在不同的公链之间流转,使跨链桥成为必然产物。
跨链桥作为链与链之间的桥接工具,使用户在链与链之间实现资产和信息转移,促进了多链生态之间的通信与兼容性。
根据 DeFi Llama 上的数据来看,截止 2022年3月锁定在跨链桥的加密货币高达 $21.8B,其中Wrapped Bitcoin 占市场份额最大,TVL 达 $10.2B,Multichain排第二,其 TVL 为 $7B。Arbitrum为以太坊生态中 TVL 最高的桥约占$6B,其次是Polygon约占 $5B。
然而,跨链桥成为公链丛生时期刚需的同时,也成为了黑客们的猛烈攻击目标。于3月23日,Ronin Bridge 被盗 173,600 枚以太坊和 25.5MUSDC,总价值超过$600M美元。可笑的是,团队在六天后才发现这一重大损失。紧接着,LayerZero 的热门项目 Stargate 跨链桥在稳定币TVL 高达 $3.6B时,被团队发现底层协议出现重大安全漏洞。
这些事件使人担忧,也确实并不是每个人都对跨链桥充满期待,VitalikButerin 在 Reddit 发文表示:
未来将是「多链」的(multi-chain),但不会是「跨链」的(cross-chain),因为跨越多个「主权区域」的桥的安全性存在根本限制。
跨链桥的未来将如何发展,未来是否会出现多链 vs. 多桥的博弈值得进一步探讨。但是就现阶段来看跨链存在的必要性源于三个方面:提升资产的利用率,拓展了协议的边界和开发新功能的可能性,为用户可开发者解锁更多玩法。
接下来让我们进一步看看跨链桥是什么,以及它如何满足以上三种需求。
跨链桥是什么
多数情况下,当用户要把资产从 A 链跨到 B 链时,需要先把资产存到桥在 A 链的指定地址中,接下来,当桥的检测者收到这一信息时,会在链 B 铸造等量的封装资产(wrapped token),或者通过在目标链建立资金池把跨链资产转换成目标链的原生资产,最后把钱打到用户在链 B 的账户中。
根据以上描述,跨链桥是一种帮助用户在拥有两种不同协议的区块链之间实现资产转移的工具,目前的跨链技术涉及两个不同的维度:资产和数据跨链,但本文将专注于对资产跨链的解释。接下来,让我们来了解一下在资产跨链过程中的几个重要角色和步骤:
- 检测者:谁来检测原链和目标链的状态,负责信息的传递?这可能是一个或者一群验证者(validator),或者中继/轻客户端(relayer/light-client),也有文章称之为预言机(oracle)。
- 共识机制:验证者之间如何达成共识?她们如何加密签署需要被传递到目标链的资产? 多签或是采用更高安全性的 MPC 门限签名机制?
- 奖惩机制:激励验证者正确传递信息的机制是什么?有的跨链桥奖励验证者部分交易费用,或是要求验证者质押治理代币,并在传达错误信息割去其质押的资金。
- 用户资产是否托管于桥?当用户把资产存放到源链的指定地址时,这个地址可能有桥的验证者监管,或者由智能合约掌控(即排除了人为干预的因素)。此外,跨链桥也可能通过在目标链部署流动性池,而实现资产跨链。当资产由智能合约掌控或是存储与流动性池的时候,本文将其称为资产非托管。
- 资产跨链模式:由于每一条公链有着各自原生资产的会计帐本,用户如何使资产脱离原始账本而在不同的记账体系中流转?在区块律动作者0x76@BlockBeats对跨链过程中,资产是否真的转移这一问题指出,其实跨链的并非资产本身,而是资产所代表的价值。本文将资产跨链模式称为“打钱机制”。
跨链桥的分类方法
目前市面上的文章对跨链桥基于以下几种方法分类:
1.@1kxnetwork 的研究伙伴Dmitriy Berenzon根据桥的服务目的把跨链桥分为四类:专注于做资产跨链的、做某两条链之间的跨链、专注于应用的跨链、普适性的跨链桥。
2.Dmitriy 又根据资产跨链验证机制/技术:单点多点验证,中继+轻客户端/原生验证,流动性网络。
3.市面上的文章对打钱机制有着各式各样的分类,本文选取 Arjun Chand 和 Andre Cronje 对打钱机制的解释:
Arjun Chand的文章将打钱分为三类:
- 锁定 + 铸造:这类跨链桥会锁定原链上的资产,并铸造等量目标链上的资产。
- 销毁 + 铸造 :这类跨链桥会销毁(burn) 原链上的资产,并铸造等量目标链上的资产。
- 原子互换:通过依赖于自我执行的智能合约实现资产兑换,原子互换的去信任化程度为三种最高。
- 根据Andre Cronje的分类,打钱方式分为四类:
- 余额变动:用户将资产锁定在源链的智能合约中以后,预言机通知目标链上的跨链合约,从而使目标链转移资产给到用户的接收地址。
- 锁定+铸造/销毁:当用户将资产锁定在跨链桥指定的地址或者智能合约中,跨链桥将会在目标链铸造等量的资产并转移到用户在目标链的账户中。
- 流动性置换/双向资金池模型:利用桥在目标链建立好的资金池,通过桥的跨链资产完成跨链, 例如 USDC (Ethereum)> anyUSDC 置换成 USDC (Fantom)。
- 打包+铸造/销毁:利用桥在目标链和源链建立好的资金池,进行两次置换,通过桥的跨链资产完成跨链,例如 USDC 置换成 anyUSDC (Ethereum) > anyUSDC 置换成 USDC (Fantom)。
为了统一打钱机制的分类,本文通过总结跨链桥的技术文档,把打钱机制分为三种:流动性置换(即需要部署流动性池)、锁定+铸造/销毁(无需部署流动性池)和原子置换。
4. 桥的安全性:根据 Dmitriy Berenzon 的文章中提到,“无需信任”的桥指的是桥的安全性基于底层的公链,为安全性最高的桥,比如 Arbitrum 和 BOBA 桥本质上是以太坊上的扩容方案 - Optimistic Rollup。“保险”桥作为安全系数第二高的桥,在验证者出错时用其抵押资金返还给用户作为补偿。这一机制比仅仅销毁验证者抵押资产而不提供补偿的“债务”桥赋予用户更好的体验。最后“需要信任”的桥通常涉及中心化验证交易和管理用户资产。
本文将桥的安全性由高至低排序:无需信任的桥(trustless) > 保险桥(insured) > 债务桥(bonded) > 需要信任的桥(trusted)。
5. 其他:关于桥的其它分类方式,Arjun Chand根据桥的功能进行了进一步的细分,但本文将不再赘述。
跨链桥性能
现在我们了解了桥的基本要素,也了解了根据桥的服务目的、验证方式、打钱方式、安全性的分类,我们可以看出不同的跨链桥有着不同的发展核心。Dmitriy Berenzon 从以下几个角度评估跨链桥的性能:
- 安全性:本文的判定是,安全性从中继、多点验证至单点验证递减;而在多点验证中,要求验证者进行质押的桥(PoS)比没有质押的桥更安全;此外,当资产托管于桥的时候,安全性降低。
- 速度:指完成交易的延时性,以及最终性保证。有的桥专注于特定的生态系统间的跨链(比如支持layer-2间跨链的Hop桥),促使更快的跨链交易。
- 可扩展性:开发者集成额外目标链的不同难度级别。
- 效率资本:指确保系统安全所需的资本和资产转移的交易成本,例如:cBridge 2.0的升级就是为了降低流动性提供的门槛,提高流动性深度。
- 状态性:能够转移特定资产、更复杂的状态和 / 或执行跨链合约调用。
二:跨链桥点评
- 跨链桥产品调研
通过调研跨链桥官网的 document,本段将基于本次研究的 16 座桥的共性做出综述,并且比较桥与桥之间的性能。需要注意的是,任何人在阅读 Whitepaper 和桥的 document 时都应该带着批判性思维,有时候一个新推出的跨链桥项目可能会为了突出自己的“特性”而用更复杂的语言来描述已经存在的技术和机制,本段旨在过滤去复杂的语言,直接的比较跨链桥之间的特性差异。
- Synapse: 现阶段为多点验证,进行多方计算(MPC)的验证人之间运行门限签名(TSS)达成共识,目前任何人或者项目可以向Synapse的社区提出申请成为验证人,而下一阶段将推出 PoS 质押机制进一步提高安全性。在打钱这一过程中,Synapse 桥通过在目标链部署资金池来保证用户获得原生资产。资产由 Synapse 智能合约控制,实现资产非托管。
- Multichain: 多点验证,共识由多方计算MPC运行门限签名(TSS)方案保证,目前还没有质押机制,打钱机制为锁定+铸造/销毁,资产非托管。此外,multichain V3 版本中加入了多链路由的跨链方式,用过在多条链上部署流动性池的方式完整资产跨链。
- deBridge: 为多点验证,由多签(multi-sig)达成共识,利用质押机制进一步保证安全;打钱机制为锁定+铸造/销毁;资产被锁在 deBridge 的智能合约中,判定资产为非托管。
- ShuttleFlow: 由联盟节点进行多点验证,通过多签达成共识;打钱机制为锁定+铸造/销毁;资产存放在由联盟成员监管的收款地址中- 判定为托管。
- Warmhole: 由19个 guardians 进行多点验证,由多签达成共识并由 guardian 的名誉保证安全性;打钱机制为锁定+铸造/销毁;判定资产为被托管。
- cBridge:多点验证(Celer State Guardian Network),由多签和质押达成共识并保证安全;打钱机制为原子置换;基于原子置换的机制,判定资产为非托管。
- ThorChain:多点验证,由多签达成共识,验证人需要 bond 足够多的治理代币 RUNE 才能运行节点,并且验证人会定期被更换以保证安全性;通过流动性池实现资产转移,以 RUNE 为中间资产;资产非托管。
- Hop:由 Bonder 运行节点进行多点验证,Bonder 需要质押资产从而参与验证交易;Hop 桥通过在目标链部署资金池来保证用户获得原生资产;判定资产为非托管。
- Polygon/MaticPoS bridge: 多点验证,由多签达成共识,实施质押来保证安全,打钱机制为锁定+铸造/销毁;用户资产为 Polygon 的 Predicate Contract 监管 - 判定为托管。
- Rainbow: 由轻客户端+中继验证完成,同时安全性得到保证;打钱机制为锁定+铸造/销毁;用户资产存储在 TokenLocker 合约中,资产非托管。
- BOBA:BOBA 作为一个 Optimistic Rollup,交易的验证由智能合约执行,打钱方式为流动性互换,其安全性等同于底层网络-以太坊;用户资产托管与 BOBA 网络监管的地址。
- Arbitrum:Arbitrum 为以太坊的扩容方案之一 - Optimistic Rollup,交易的验证由智能合约执行;其安全性等同于底层网络-以太坊;用户资产托管与 Arbitrum 监管的地址。
- xDaibridge: 由 TokenbridgeDAO 成员控制,由多签达成共识;打钱机制为锁定+铸造/销毁;资产被托管。
- Binance bridge: Binance 作为中心化交易所,可将用户资产通过余额变动的方式转移到不同的链上,用户需要将资产托管于 Binance。
- wBTC:wBTC 作为专注于做 BTC 封装资产的 DAO 中心化的验证用户信息和执行交易;打钱方式为锁定+制造销毁;用户资产托管于 wBTC。
- Stargate:建立于 LayerZero 上的跨链桥,“验证者”由两个角色承担:预言机和中继器,当两者提供的信息在目标链上匹配时则表示验证/跨链成功;打钱方式为通过统一的流动性池进行流动性之互换;资产非托管。
跨链桥性能对比
每个人对跨链桥技术文档的解读可能稍有不同,所以本文对跨链桥的分类和 Dmitriy Berenzon 的表格稍有出入。但是关于判定跨链桥的验证机制的逻辑是一致的,读者可以根据以下问题来一步步对桥的验证机制和安全性做出判定:
1)首先,跨链桥是中心化管理,多点验证,还是利用中继+轻客户端验证跨链信息?
2)如果是多点验证,验证人是否需要进行质押才能提供服务?此外,一旦验证人作恶,那么质押的资产是被销毁,还是补偿给用户从而保护用户不受损失?
3)用户在原链存入的资产是托管于跨链桥监管的地址,还是存入智能合约或者流动性池?
基于以上的问题和思路,本文接下来对 16座跨链桥进行性能上的点评和对比:
在这16个桥中,Synapse、Multichain、deBridge、ShuttleFlow、Warmhole、cBridge、ThorChain、Hop、 Polygon PoS bridge 均为多点验证。值得注意的是,在多点验证的共识机制中,多方计算(MPC)和多签(multi-sig) 的区别在于“私钥”的形成。
多签机制需要几名验证者拥有完整的私钥对交易进行签署,而多方计算消除了单个私钥的概念,需要验证者共同形成一个私钥以完成交易验证,这样一来验证者并不独立拥有完整的私钥,从而保证安全性。Alice Klocko文章中的对比图更是直观的展现了两种机制的区别。
在这 9 个桥中, deBridge、cBridge、ThorChain、Hop、Polygon 均要求验证人进行质押才能运行节点为交易验证提供服务,相对其余没有质押机制,或者利用验证人的“名誉”来进行担保的有着相对更高的安全性。
为了进一步提高用户体验,保证用户资产不受损失, cBridge、deBridge、ThorChain 被称之为”保险“桥。意思是当节点作恶时,验证人质押的资金不会被销毁 ,而是被返还给用户作为补偿。从用户的角度来看这样的机制,比验证人作恶时质押资金仅被销毁来说这类桥给予用户更放心的跨链体验。
而相对于多点验证,即用户还是需要相信验证者,Rainbow 桥采用的轻客户端+中继链完美的实现了去中心化。然而,在实现去中心化的同时,Rainbow 桥牺牲了可扩展性。由于在每条链上部署轻客户端的开发成本高, Rainbow 目前只能服务于以太坊和 Near 之间的资产跨链。
BOBA 和 Arbitrum 这两座“桥”相对特殊,因为它们均为以太坊的 Layer-2 扩容方案 - Optimistic Rollup,所以底层的安全性等同于以太坊。这样的桥虽然拥有者较高的安全性,但是当用户想从 Layer-2 跨链回 Layer-1 的时候需要经历 7 天的挑战时间。
相比之下,xDAI、Binance、wBTC 区别与其他的 13 座桥在于他们的中心化:从交易验证到对用户资产的托管。虽然很难相信 Binance 会违背自己的名声而故意作恶,但是中心化的管理某种程度上违背了 Web 3 中对去中心化的追求。
Stargate 是三月以来基于 LayerZero 基础协议上的当红跨链项目。为了使读者更加熟悉,从验证方法上来说,Stargate 类似于 Rainbow 桥,即通过部署轻客户端和利用中继链来完成资产/信息跨链。但是 Stargate 的创新之处在于它引入了 Oracle 和中继链两个验证主体,且两者之间无需主观达成共识,而是客观的 - 当两者提供的交易信息 匹配 时,则表明跨链成功。
同时它提出的“超轻客户端”大大降低了部署的难度和成本。更进一步的,0xivecott解释到 Stargate 通过部署统一的流动性池为用户提供原生资产,解决了用户收到封装资产的痛点,提升资本效率。
根据以上的总结可以看出,跨链桥的优劣势无法从某一角度进行评判的,有的桥专注于安全性和去中心化而相对降低对资产转移的速度和跨链可扩展性的要求,相比之下,有的桥为服务小额转账需求的用户则会优先考虑转账速度和接入的公链数量。
三:跨链桥的发展
跨链桥的项目的发展可能围绕着“互操作性不可能三角”,也可能基于文章前面提出的五个性能做出优化:安全性、速度、可扩展性,资本效率和状态性。但是需要写在前面的是,跨链桥的发展目标并不是统一的,比如 Multichain 的发展专注于可扩展性,现在接入的公链多达 33 条公链,并且在这一基础上 Multichain V3 优化了打钱机制,通过部署资金池使用户在目标链上的到原生资产,而不是封装资产。
而 Hop 桥专注于做 Layer1-Layer2之间资产转移,而不是和 Multichain 在可扩展性上一决高下。本文认为,每个桥有自己的发展核心,在奠定发展目标后,会对安全性,速度,资本效率等方面做进一步优化。
文章开头提到,Vitalik 对跨链桥未来的担忧来自于跨越主权区域时桥的安全性问题。确实,无论桥在服务目的上有着怎样的取舍,安全性是跨链桥研发团队想要不断优化升级的重要方向。
比如,Synapse 桥在项目提出随着项目进入发展的第二第三阶段将会要求验证人进行质押从而提升安全性;此外 cBridge 2.0 通过去中心化的验证人网络(SGN)来处理节点信息,相比 1.0 版本中唯一的 Gateway 角色,2.0 版本使安全性得以提升。
安全性的提升也可以从打钱机制上进行优化:大多数的资产跨链模式采用锁定+铸造/销毁,那么用户在目标链上得到的通常为跨链资产(wrapped token),比如 deBridge 的 deUSDT。由于封装资产的发行涉及三个阶段,风险系数也是由原生资产,跨链桥安全性,和封装资产稳定性迭加起来。这样看来换得封装资产的用户不仅承担了更多的风险,且资产流通性差。
而通过流动性池实现资产跨链则可以理解为比锁定+铸造/销毁的模式多了一步,即在目标链上部署流动性池,从而把桥的封装资产换为目标链的通用资产。这样的机制绕开了锁定铸造机制中的效率问题,提高跨链速度。比如,Hop 桥通过在 Rollup 上部署资金池,帮助用户把 Hop 桥的封装资产(HopETH)转换成 Rollup 上的通用资产(L2 ETH)。
通过流动性完成资产跨链看似方便,但也存在一定问题。通过流动性池实现资产转移的潜在问题可能在于流动性的深度,和流动性池割裂的情况。比如在 cBridge 2.0 的升级中,流动性提供者无需自行运行节点,而是允许流动性提供者将资金委托给 SGN 验证网络,并获取跨链手续费收益,这一机制降低了流动性提供的门槛,从而提升了资本效率。
站在用户的角度来看,跨链桥的最终优化落在是否能提供顺滑的跨链体验上,比如,跨链速度是否够快,是否有转账上限,是否能实现一键跨链,是否帮助用户预留/算清 gas 费用,得到的资产是否为目标链的通用资产等等。通过一览跨链桥产品对比图,用户可以根据自身的跨链需求,选择相应的跨链桥。
那么未来跨链桥的发展到底是怎样的?与其纠结于弥补跨链桥的短板,不如从用户做资产跨链的目的这一角度出发做前瞻性的思考:
- 跨链聚合:试想一下如果你想把资产从以太坊跨到 Arbitrum,通过跨链桥产品对比图,你知道 deBridge 和 Synapse 都接入了Arbitrum,但你无法确定用哪个跨链链桥实时跨链成本更低且速度更快。那么跨链聚合器可能会有着很好的前景 - 帮助用户免去 DYOR (Do Your Own Research),提供在几秒内筛选出最优的跨链路径和成本的服务。 Dr.DODO 的下篇文章将对跨链聚合器产品进行详细的比较,敬请关注。
- 开发者也可以考虑在跨链桥中嵌入其他金融服务,比如 Li.Finance 正在做的跨链 + 交易,以及龙头 DeFi 协议Aave在 V3 版本中提出的跨链 + 借贷方案,再或者Sushi 提案集成 LayerZero 推出的跨链桥 Stargate。这样一来用户在跨链的同时便可以完成 DeFi 的相关活动,而不用转至第三方平台。
- 此外,跨链项目 Multichain 最近推出的 anyCall 功能看起来也十分实用和抢眼。anyCall 是一个通用的跨链消息传输协议,它通过可以调用目标链上的原生合约来实现从 A 链向 B 链发送跨链消息。在实际的应用中,Curve抓住了这个先机,通过集成 anyCall更有效地帮助在不同区块链上的 veCRV 持有者分配 CRV 奖励的权益。具体来说,当 Curve 接入 anyCall 后,可以及时的计算用户在目标链上的奖励权重并铸造出相应的奖励。这样无需提前部署 CRV 奖励的流动性池,从而极大的提升了资金效率。
总而言之,虽然 Vitalik 对跨链桥持消极态度,但是我们认为跨链桥将会持续成为用户和开发者的关注点。毕竟如果因为安全问题而建立封闭的公链生态,那么自身将会走向萎缩。此外,从用户对 LayerZero 推出的跨链基建项目 Stargate 的热情来看 (目前 TVL 达 $2.5B),跨链桥可能会结合以上提出的两种功能向 Layer-0 发展,即作为公链的底层基础拥有强大的可集成性,并且通过统一的流动性池为用户提供原生资产和跨链及时性。