不再深奥的跨链桥:一文全解
- 资讯
- 2024-11-16
全文 7050 字,预计阅读时间 17 分钟
文章速览 01/ 为什么需要跨链 02/ 跨链发展的五个阶段 03/ 3种基本运作原理 04/ 3种验证机制 05/ 链桥主流分析维度 06/ 链桥安全性分析 07/ 第三方桥代表项目 08/ 黑客事件分析 09/ 总结与展望
为什么需要跨链
跨链桥的存在其实是基于对未来出现多链生态格局的核心假设,跨链桥存在意义在于推动资产以及信息在不同区块链上流动。
以太坊的设计使得建立在其上的应用和协议彼此受限、且不可避免地竞争底层资源,导致 Gas 费用高和交易速度慢。因 ETH2.0 需要一定的时间完成研发落地,让 2021 年有多条“以太坊杀手”的公链在市场上吸纳资金/ 建立生态,如 Avalanche,Solana。多链生态的起势一定程度上分担了以太坊的压力,但实际上也在蚕食其领先地位。
尽管在熊市下,以太坊回归到相对合理的Gas费用和交易速度,削弱了资金外流的动力。但透过 Defi Llama 7月份的数据,以 TVL 锁仓量统计各公链的市场占有率,以太坊(蓝色部分)从2021年初的98%市占率,下降到2022年7月份的62%。尽管在5月份时,因为Terra 的分崩离析,以太坊市占率从最低点的55%回升到64%,但以太坊市占率还是逐渐下降,短期看起来多链生态还是一个不可逆的趋势。当中 Tron 在熊市中凭借着 JustLend 协议,让市占率节节上市,值得进一步关注。
中长期来看,用户流向与各条链生态的整体质量密不可分。最终用户会用其资金投票,使链间的竞争关系达到相对均衡。多链生态繁荣与否,不是单纯看项目数的多少,而需要综合评判用户的活跃度和资金的持续性。
跨链的五个发展阶段
Composable Finance 提出了跨链互操作性的五个发展阶段:
0-20%:实现最基本的跨链通信和链间代币移动;
20-50%:用户能够在不同链上为资产提供流动性,借此实现收益最大化;
50-75%:类似 Aave 这样的项目,使得用户能够在一条链上存入抵押品,同时在另一条链上进行借贷。即实现不同链的应用间通信;
75%:单个应用将其不同部分部署在多条链上,使每个部分都在最高效的链上运行。这些不同链的后端包将相互通信,以确保用户体验的持续性;
100%:生态系统不可知论,提供广泛的 Web3 生态系统的接口。传统开发者能够任意在链上部署由 Web3 工具支持的应用,而不需要复杂的区块链编程——抽象掉其中的所有复杂性。
跨链桥主要的3种运作原理
原子交换 Atomic swaps
当用户 A 有跨链需求,跨链桥会在目标链上撮合/ 寻找另一个用户 B 的对应相反的需求,双方进行点对点匹配,以及资产的交换,当中用了哈希时间锁的方法实现,同时保障资金的安全性。
以下以用户 A 的1 BTC,与用户 B 的 20 ETH 进行兑换,具体的步骤如下:
用户 A 生成随机密码 r , 并计算出 r 的哈希值 m=hash(r) ,将 m 值发给用户 B
用户 A 发起一笔有条件的交易,向用户 B 转 1 BTC,须用户 B 在预设的时间出示密码 r 才能成功,否则交易自动失败
用户 B 发起一笔有条件的交易,向用户 A 转 20 ETH,须用户 A 在预设的时间出示密码 r 才能成功,否则交易自动失败(用户 B 创建这样一个以出示 r 值 为成功条件的交易,并不需要拿到密码 r 的值,只需要知道 m 值即可创建。哈希运算是不可逆的,知道 m 无法推算出 r)
A 出示密码 r 接收 20 ETH,同时 B 获得密码 r 获取 1 BTC
优势: 使用哈希时间锁的机制使得资金不可能被窃取,安全性高 无需达成通用共识,无需外部验证节点 跨链的速度較快
劣势: 应用比较局限,不能支持链间的通用数据传递,其状态性较差 成本比较高,每次跨链交易可能都需要部署一个哈希时间锁的智能合约 交易双方必须同时在线,如果当刻找不到对手会有较长的等待时间 不适合大额的交易,未必找到对手提供足够的流动性
锁定 + 铸造/ 销毁 Lock + Mint/ Burn
跨链桥在原链锁定用户资产,并在在目标链铸造/销毁等量的合成代币并转移到用户在目标链的账户中,进而完成资产价值的跨链转移。典型的例子就是 Ethereum 上的封装 BTC。
优势: 对于流动性没有要求
劣势: 资产安全依赖于网络验证节点,如有验证节点作恶,或被黑客控制,会造成严重经济损失 封装资产本质上和原生资产是有差异的,资产流通性差,封装资产有潜在价格崩盘的可能性
流动性置换 Liquidity pool
跨链桥在目标链上部署源链的智能合约,将目标链改造为源链的侧链,实现跨链双方的信息传递。项目方会在不同链上建立流动性资金池,一方面用户可以透过资金池直接兑换在另一条链上的原生资产。另一方面 Liquidity provider 也可以透过提供代币作为流动性资金,来交换部分跨链转帐手续费或APY收入。
优势: 统一的流动性池为用户提供原生资产,减低了用户收到封装资产面对的潜在風險。 绕开了锁定铸造机制中的效率问题,提高跨链速度 与用户共建流动性资金池,潜在跨链币种较多
劣势: 安全性依赖项目方在不同的区块链上部署的智能合约,合约中可能会有漏洞 部分流动性池可能缺乏深度,潜在流动性池割裂的风险
跨链桥主要的验证机制
每一个区块链都有自己的通信协议、共识规则、治理模型和原生资产,跨链的核心就在于达成共识,让一个区块链能够访问另一个区块链的状态,推动信息、资产可以在区块链之间传递。现在主要的验证机制有3种,分别是外部验证,本地验证以及原生验证。
外部单点 / 多点验证 Externally Verified
依赖于单点/多点的外部验证者达成共识并对交易进行签署。
签署方法主要为多签(multi-sig)和多方计算(MPC),多签机制需要验证者拥有完整的私钥对交易进行签署;多方计算消除了单个私钥的概念,需要验证者共同形成一个私钥以完成交易验证。
部分跨链桥要求验证人进行质押才能运行节点为交易验证提供服务,保证用户资产不受损失。质押模式亦分为两种,Insured 以及 Bonded,当中 Insured 的跨链桥对用户而言安全性更高,当节点作恶时,验证人质押的资金被返还给用户作为补偿。而 bonded 的跨链桥在验证人作恶时质押资金只会被销毁,对用户的资金保障较低。
外部验证存在安全隐忧,用户需要对相信项目方,以及外部验证人不作恶。2022年6月份,Harmony Horizon Bridge 被黑客盗取了1亿美元,主要是黑客盗取了多签参与者中2个人的私钥,并用盗取的私钥完成了签名,创建了提取1亿美元的交易。
本地验证 Locally Verified
在相关区块链中,该跨链行为的相关方才会参与验证。本地验证把复杂的多方验证变成双方验证,由双方互相验证对方的交易。
原生验证 Natively Verified
由目标链和源链的底层验证者负责验证,跨链桥在目标链上部署源链的轻节点智能合约,将目标链改造为源链的侧链,实现跨链双方的信息传递。中继器(Relayer)将源链的信息传送给目标链的轻客户端,原生验证节点将会验证该信息的正确性并触发相应的智能合约。
最近讨论比较多的 Layer Zero项目,在原生验证的基本上引入了极轻节点(Ultra light node) 以及预言机(Oracle),当中预言机和中继器(Relayer)独立工作,以提高整个系统的安全性和降低成本。
当用户想从区块链 A 发信息到区块链 B,信息由区块链 A 的终端发出, 通知用户程序的预言机(Block ID, 区块链 B 的智能合约 identifier)、中继器(通知全部信息)。预言机转发区块头到区块链 B 的终端,中继器随后提交交易证明。交易证明在区块链B链被验证后,信息被转发到目的地址。用户最后透过 Stargate Finance 构建的流动性聚合池获取目标链上的原生资产。
区块头改为由去中心化的预言机按需流式传输,而不是保留所有的区块头,以降低成本。
预言机和中继器独立工作,预言机采用了独立第三方Chainlink,增加了预言机被黑客攻击的难度以及成本。即使预言机被攻破了,还有中继器验证,增加了安全系数。
跨链桥主流分析维度
与区块链一致,跨链桥亦受限于经典的不可能三角:安全性,互操作性,去中心化。现时的跨链桥在不同性能的维度上进行取舍,满足各自要解决的用户痛点。现时主流分析跨链桥的有以下几个维度。以下引用了 Zonff Partners, Lewis 的定义。
安全性(Security): 信任和有效假设、对恶意行为者的容忍度、用户资金的安全性和反身性
速度(Speed): 完成交易的延迟,以及最终性保证。通常在速度和安全性之间进行权衡
连接性(Connectivity): 为用户和开发人员选择目标链,以及集成附加目标链的不同难度级别。连接性好即对公链的兼容程度很高,不容易受不同公链共识算法和数据结构差异的限制
资本效率(Capital efficiency): 系统安全所需的资本、转移资产的交易成本
状态性(Statefulness): 转移特定资产、更复杂状态和/或执行跨链合约调用的能力
跨链桥安全性分析
在各维度中安全性是重中之重,跨链桥的安全漏洞已经造成上数十亿美元的资产被盗,详细安全漏洞可参考本文的第 4 部分,当中主要在于智能合约存在漏洞,其次是因为使用外部验证时的多签技术时被黑客获取过半数的验证节点及私钥。总体项目方需要就智能合约进行审计,提升技术水平,确保智能合约的安全性。
总体在跨链桥的设计上,有以下安全性的排序:
◾ 安全性从原生验证,本地验证、多点验证至单点验证递减。 ◾ 在多点验证中,要求外部验证者进行质押的桥比没有质押的桥更安全。在需要质押的跨链桥中,当中 Insured 的跨链桥比 Bonded 的跨链桥对用户而言安全性更高,当节点作恶时,验证人质押的资金被返还给用户作为补偿。 ◾ 在资产跨链时,收到原生资产比封装的合成代币更安全/低风险。
如 Wormhole 的跨链桥,应用了锁定 + 铸造/ 销毁的跨链方式,用户在原链资产的锁定相当于是给新的链上封装资产进行担保,但如果原链资产被盗,那用户新的链上封装资产就可能会失去价值。
另外,尽管 Insured 的跨链桥会把作恶验证人质押的资金返还给用户作为补偿,但如果跨链桥安全性出现风险,验证者抵押的代币一般也是该桥的原生代币,如果币值大跌,也会对用户带来大的影响。
在实际跨链操作时,还是根据自己的资金量大小,然后去选择不同的跨链策略。资金体量大基于安全性的考虑,还是建议到币安或者 ok 交易所兑换到对应链的那个原生资产,然后再提出来到这些链上面作 swap 换成对应的币种。
如果资金体量少的跨链,可以考虑 Gas 费较低、速度更快、没有出现过风险的跨链桥进行交易。跨链聚合器可以协助用户筛选出最优的跨链路径和成本的服务。
第三方桥代表性项目
数据采集自Defi Llama 2022.07
Multichain
简介:是目前资金池最深、支持区块链数量最多的桥共识机制:采用多点外部验证模式,由安全多方计算系统(MPC)运行门限签名进行验证跨链模式:非目标链原生代币→源链锁定,目标链铸造,跨回燃烧;原生代币→ 流动性置换(V3版本中在多条链上部署流动性池)安全性:需要完全信任外部验证器,目前节点30+;未导入质押机制,安全性一般速度: <30min费用:源链 Gas+0.3%手续费可扩展性:可扩展性强,目前支持36条区块链,可向项目方申请NFT跨链合约部署
cBridge
简介:cBridge1.0 采用原子交换的点对点交易,保证了安全性的同时造成了流动性割裂,导致其可扩展性差;升级为 2.0 后转为流动性置换,提升了可扩展性共识机制: 采用多点验证模式,由侧链 Celer 状态守卫者网络(简称 SGN)的节点进行验证跨链模式:流动性置换安全性:需要完全信任验证节点,SGN 采用 DPoS 验证,目前质押数量多,较为安全速度: <20min费用:源链 Gas+0.04% 手续费;源链为 L2Rollup 源链时,手续费提升至0.1%~0.5%可扩展性:升级后可扩展性变强,目前支持20条区块链
Hop Protocol
简介:牺牲了流动性提供者、验证节点与套利者的资产安全性,以保障用户的资产安全;同时也让用户支付了更多的手续费以激励其他几种角色共识机制: 采用多点验证模式,由白名单节点 Bonder 质押资产后参与验证交易跨链模式:流动性互换安全性:采用 Rollup 技术,安全性依赖于底层链,不需要信任任何人,因此较为安全速度: <5min费用:源链与目标链上的Gas+流动性提供者费用+0.06%到0.25%的验证节点费用可扩展性:在EVM兼容的链上可扩展性强,但目前也仅支持采用了Rollup方案的L2
Connext Bridge
简介:基于 NXTP 流动性协议,已实现智能合约的跨链共识机制: 采用多点验证模式,基于 NXTP 协议完成验证跨链模式:原子交换安全性:点对点交易,NXTP 设置了内部验证架构,无需信任任何人,安全性极高速度: <5min费用:Gas+0.05%手续费可扩展性:NXTP协议架构可扩展,目前支持16条区块链,并且支持智能合约跨链调用
Stargate
简介:基于 LayerZero 的桥,实现了不同区块链的流动性共享共识机制:LayerZero 超轻节点原生验证跨链模式:流动性置换安全性:实现了预言机、中继机与目标链UA的三重安全保障,安全性较强速度: <1min费用:Gas+约0.2%手续费可扩展性:根据官方描述,可扩展性较强,目前支持7条区块链,仅支持稳定币
Barter Bridge x MAP Protocol
预计2022年9月上线
简介:基于底层跨链基础设施 MAP Protocol 的跨链桥共识机制:MAP Protocol 轻节点+中继链原生验证跨链模式:流动性置换安全性:通过部署在各链的轻节点智能合约保证区块链级别安全速度:< 1min, 取决于目标链和源链的出块速度费用:源链 Gas + 约0.2%手续费可扩展性:可覆盖支持智能合约的目标链缺点:前期开发难度较大,需要根据链的本身不同结构进行轻节点智能合约开发
消息来源Lee - Barter Netowrk联合创始人 MAP Protocol核心开发者
注:预计9月份 launch 的底层跨链基础设施 MAP Protocol 的跨链桥,核心解决跨连桥的不可能三角,如果想了解更多详细信息,请关注 Buidler DAO 研报更新。
重点黑客事件分析
在各维度中安全性是重中之重,跨链桥的安全漏洞已经造成上数十亿美元的资产被盗,当中主要在于智能合约存在漏洞,其次是因为使用外部验证时的多签技术时被黑客获取过半数的验证节点及私钥。
我们会着眼于黑客利用合约漏洞的方式,对目前为止发生过的具有代表性的跨链桥黑客事件进行分析。总体项目方需要就智能合约进行审计,提升自身技术及风控水平,以及把合约代码开源,确保智能合约的安全性。
Poly Network
时间:2021/8 金额:$610m 背景: EthCrossChainData 合约中管理着公钥列表,用于验证对面链的链上数据; EthCrossChainManager 是一个特权合约,其有权向其他链上的合约发送指令; 任何人都可以调用 verifyHeaderAndExecuteTx 函数,发起跨链交易; 使用 _executeCrossChainTx 函数,可以调用任意合约; 过程:黑客使用 EthCrossChainManager 调用了 EthCrossChainData 合约,并利用哈希碰撞找到了 sighash(用于调用目标函数),将私钥换成了自己的,并从合约里把币转走了。 主要问题:Poly Network 没有设定机制以防止调用 EthCrossChainData 合约
Ronin Network
时间:2022/3 金额:$600m 背景:Ronin 链共有9个验证节点 过程:黑客控制了5个节点,从金库中转走了锁住的 ETH 主要问题:中心化管理导致的51%攻击
Wormhole
时间:2022/2 金额:$320m 背景: Guardians 是 Wormhole 在 Solana 链上合约中的一部分,负责对交易签名 收到跨链请求时,Solana链上会调取post_vaa函数,并由post_vaa函数调取verify_signatures函数 verify_signatures函数会向Guardians索要签名集,并调取secp256k1程序对交易进行验证 secp256k1程序执行时需要使用Solana的内置函数load_instruction_at,但在Wormhole部署合约前,Solana将load_instruction_at函数替换成了load_instruction_at_checked 过程:黑客创建了与 load_instruction_at 所属的 Sysvar 具备相同指令集的程序,并将其用于验证签名,将自己伪装成了系统账号,从而规避了 Guardians 的验证,在以太坊链上铸造了ETH。 主要问题:未及时验证load_instruction_at函数的有效性
Harmony Horizon Bridge
时间:2022/6 金额:$100m 背景 Horizon 使用由5个地址组成的多重签名验证交易 只要5个地址中有2个以上完成签名,交易就会被执行 过程:黑客盗取了多签参与者中2个人的私钥,创建了提取1亿美元的交易,并用盗取的私钥完成了签名。 主要问题:中心化管理导致的51%攻击
Chainswap
时间:2021/7 金额:$8m 背景 Chainswap 的使用方式https://www.tuoniaox.com/news/p-500806.html用户在提交 Deposit 申请时,会获得多个节点签名 而在目标链调用 _receive 函数进行 Withdraw 的时候,只需要一个签名 调用 receive 函数需要消耗签名者配额 authQuota 为了加强去中心化,签名者配额在用完后会自动增加 过程:黑客使用 _receive 函数将 Token 转给自己的地址,并用生成的多余签名进行签名 主要问题:关于节点签名数量的合约未能正确初始化,没有机制检查签名有效性
Multichain
时间:2021/7 金额:$7.8m 背景 AnySwap Multichain Router V3采用非托管的跨链模式,由安全多方计算系统(MPC)验证交易 ECDSA 属于非确定性的数字签名算法,其会引入随机数k,并通过k算出R值 当两个签名具有相同的R值时,则可以碰撞出相对应的随机数k 过程:黑客发现 AnySwap Multichain Router V3 在 BSC 链上的 MPC 账户下,有两个具备相同 R 值签名的交易,从中反向推出了MPC账户的私钥 主要问题:MPC 设计漏洞
Meter Bridge
时间:2022/2 金额:$4.3m 背景 Meter 一共有两种存款渠道,分别是 ETH20 的底层入金函数以及 depositEth 在存入链上的原生包裹货币时,Meter 不会销毁/锁定包裹货币,而是会将其解除包裹状态后交给相关的合约 当调用 depositEth 函数存款时,合约会验证货币的价值与 calldata 中的金额是否相符,并传送给存款函数 而当使用 ETH20 的底层入金函数时,金额的正确性并不会得到验证 过程:黑客调取了 ETH20 的底层入金函数,在 calldata 中填入了与货币价值不符的数字并传送给了存款函数 主要问题:缺乏对于 calldata 的验证
总结和未来展望
总结
总体现阶段跨链桥因为潜在的安全性问题,还需要进一步完善,加强用户在使用跨链桥时对资产安全性的信心。从用户出发,除了安全性以外,亦要提供顺滑的跨链体验,包括一键跨链,便捷的跨链速度,直接兑换成原生资产等。多链生态在未来是一个不可逆的趋势,跨链桥亦是底层核心的基础设施,期待未来跨链桥的发展。
未来展望
跨链桥如单纯做资产的跨链,总体天花板明显。从市场角度看,Top 100的项目里较少是单纯做跨链桥的项目,跨链桥的未来边界拓展很重要,如信息跨链,NFT跨链。
流动性置换成为跨链桥主要资产跨链方式。在各个区块链上部署流动性资金池,提供目标链的通用资产,绕开了锁定铸造机制,提高跨链速度,同时减低封装资产流通性差的影响。
在跨链桥中嵌入其他服务,如跨链 + Defii 去提高资金利用率,Aave 在 V3 版本中提出的跨链 + 借贷方案,Li.Finance 也在推行跨链 + 交易的方案。另外如跨链 + NFTfi 将 Flow 链上的NBA TopShot (NFTs) 发送到ETH的NFT抵押贷款市场进行抵押借贷。
单个应用将其不同部分部署在多条链上,使每个部分都在最高效的链上运行。这些不同链的后端包将相互通信,以确保用户体验的持续性。应用场景如Gamefi,把跨链的功能植入到链游,在流量很大/ 出现拥堵的时候,无感顺滑的让用户进行分流,优化用户的体验。
作者:Tommywong.eth | 投研公会-研究员 -WeChat:tristewong Chasey | 投研公会-研究员 菠菜菠菜 | 投研公会-研究员
来源:bress
本文链接:http://www.bqcjw.com/read/39942.html