前言
短短 1 年的时间,全链互操作性协议 LayerZero 他再次以 30 亿美元的估值筹集了 1.2 亿美元,是上次估值的三倍,投资者包括a16z, ChristiesInc 和红杉资本等。
全文研报一万字,将全面梳理跨链赛道的主流模式、layerZero 的技术原理、详解跨链生命周期、综合分析其协议优缺。
本文系上篇,重在讲述 LayerZero 的技术方案以及评价其优缺点。
LayerZero 是一个提供无需信任的跨链通讯协议。它的本质是利用了轻节点的技术原理,设计了超轻节点的机制,通过中继者和预言机将中间的置信环节一分为二,从而以更低的费用换取更好的安全性
注意, LayerZero 主打的不是资产跨链,而是更上层的消息跨链,作为底层协议与资产跨链的应用层是个包含关系,更具体的资产跨链是同样由 Layerzero Labs 开发的 Stargate。
跨链之间的通讯环节主要是通过外部验证或链上轻节点来完成。首先轻节点是一种节点运作模式,同样的还有全节点(Full Node)归档节点(Archive Node)。同一个链的不同节点则是该链信息的删减版,轻节点只保存历史所有区块头,并不存储区块内的具体交易信息。
有了区块头的多个Merkle Root就可以借助默克尔树验证来确定一笔交易是否真实存在于这个区块。
以太坊的 EVM 虚拟机架构图 来自官方 GITHUB
通过轻节点上链运行验证的收益是,完全剔除了公证人的外部角色干扰,依据链本身的安全性实现高度的去中心化从而更安全。
但这样一来跨链成本将会高的无以复加,最终都将分散到跨链需求的用户上。笔者曾经在 NFT 存储元数据估算按 KB 为单位的成本。
可拓展阅读:【源码解读】你买的 NFT 到底是什么?
超轻节点 Ultra-Light Node (ULN) 其实很简单,对比轻节点而言,超轻节点会执行与链上轻节点相同的验证,但不是按顺序保留所有块头,它们由分散的预言机按需流式传输。
其收益便是,不依赖轻节点从头开始的区块头数据流。
其代价则是,缺乏历史顺序数据流,那一旦预言机和中继者同时作恶即可通过验证,让导致恶意的信息被执行。
一定程度安全性的损失对应极大程度成本的降低,孰是孰非就看大家基于自身场景如何权衡了,参考 lens 这样社交协议的设计,社交关注的信息的价值不会太大,那么在做好应用层隔离的情况下乐观的做元交易,乐观的先执行后追溯也十分可取。
在下图的 LayerZero 官方白皮书中,绿色的部分便是承担两条链之间信息传递的关键角色,分别是 Oracle 和 Relayer。
LayerZero 官方白皮书 来自 官网
简单来说,Oracle(预言机)的主要作用是让目标链上的合约知道什么时候验证和验证的答案是什么。而 Relayer(中继器)则负责提供验证交易所需的证明过程以及跨链信息的具体内容。
笔者在上篇 4337 的研报中也有提及,目前 4337 合约还需要接入链下的预言机价格服务,才能真正实现多币种支付交易手续费的功能:
拓展阅读 以太坊账号抽象 ERC 4337 的过审方案解读
总之,Oracle 就是 LayerZero 跨链中的公证人角色,可能是出于这样的作恶动机评估,预言机的安全性几乎等同于链上 Defi 的价值,太多的借贷产品依赖预言机提供价格,如果他愿意作恶,那么有更高收益率的事情可以做。
预言机的作用是:将源头链上跨链请求所在的 Blockhash和 Block Receiptsroot 传递到目标链上。
Blockhash 区块哈希,告知目标链上的合约哪个区块里有用户的跨链请求。
Block Receiptsroot 是为了用来验证交易中继器传递的消息。
中继器的作用是:将跨链消息所在的 Receipt 和 Merkle Proof 所需的路径信息传递到目标链上的合约用以验证。
其中 Receipt 收据是指交易回执信息,其中主要包含着交易执行结果、交易哈希和交易事件日志。
交易执行结果:源链上交易本身是否成功。
交易哈希:每一笔交易的全局唯一哈希。
交易事件日志:理解成跨链信息的具体内容。
这里的路径信息就是下图的红色箭头,比如将中继者依次将 L2 -> Hash 0-0 -> Hash 1 信息告诉链上节点后。比对预言机给出的 TopHash,以及基于中继者给出的信息合约进行二次计算后一致则说明中继者是正确的。
在理解了中间区域跨链角色的工作后,咱们来从 ChainA 跨一笔交易到 ChainB 吧。下图中左右两个框均是与在各自链上端点合约(EndPoint)交互。
LayerZero 官方白皮书 来自 官网
整体流程概述如下:
一个交易从用户应用程序(UA)启动一个交易(即在链上执行某些操作)开始。然后,通过预言机和中继器在 LayerZero 端点的协助下,将这个交易分解成多个部分(证明和区块头)。一旦预言机和中继器在目标链上发送各自的信息(签署交易上链),并且 LayerZero Endpoint(合约)验证了信息的正确性,消息就会被转化并在目标链上执行。
展开详细步骤如下(对照上图看):
步骤 1 :用户应用程序 UA(如 Stargate 桥) LayerZero 的通信器(Communicator)发送请求,包括交易标识符 t、从 A 到 B 转移的数据(payload 有效负载)、或指向 Chain B 上用户应用程序智能合约的标识符或者中继器(relayer_args)等交易信息。
步骤 2 :通信器将这些数据以 LayerZero 数据包(packet)的形式发送给验证器(Validator)
步骤 3 :验证器将交易标识符和链 B 上智能合约的标识符等发送给网络层(NetWork)。网络层的工作也被触发,有待传递的信息需要通过 oracle 将源链 A 的区块头发送到目标链 B。
步骤 4 :验证器将此信息(packet)转发给中继器。中继器被通知后则取交易证明(第 7 步的 Proof)链下存储,并将其发送到 Chain B(第 11 步),chainB 的端点亦可发起申请要求获取指定块哈希的结果(第 10 步)。
步骤 5 :网络层将 Chain B 上智能合约的标识符和交易块的块 ID 一起发送给预言机。当预言机被通知则获取 Chain A 上当前块的块头(第 6 步)并将其发送到 Chain B(第 8 步)。
可以看到这时候其实 6、 7、 8、 10、 11 的部分都内嵌在中继器和预言机的环节执行了。
步骤 9 :网络层将获取到的区块哈希发送到验证器(触发超轻节点的验证)。
步骤 12 :验证器通过查看网络层存储的交易证明和块头来确保交易有效且已提交。如果块头和交易证明匹配,则将交易信息(Packet)发送到通信器。
步骤 13 :通信器将信息(Packet)转发送到 Chain B 上的用户应用程序中,执行任意功能。
整体跨链是在源链上执行首笔交易的时候收取的 Gas 手续费,到了目标链上则是对应 3 笔,构成是中继器 预言机 Layer Zero: Executor(某个 EOA 账号)。
如果只有一个 relayer 或者一个预言机那可能确实有危险(已经不是协议本身的管理范畴了),但是目前 layerZero 实现的是任何应用均可自定义自己的 relayer 乃至于选择不同的预言机来支持自己的系统。
哪怕部分 relayer 宕机或者处于某种目的不工作、错误工作,在逐步的市场竞争中,会形成多对多的选择格局,在各自的博弈间会雷同矿工机制一样形成去中心化的互相监督。
即使预言机 1 和中继器 A 恶意勾结,这也是一个孤立的风险,因为只有同时使用了预言机 1 作为预言机和中继器 A 作为信息的应用程序将受到影响。
并且 LayerZero 只是最底层的传递信息的机制,至于信息传递后,上层应用如何使用则是可以单独定义和做安全加固的。对于协议本身而言他并不存储资金,也不存储数据,这会降低他本身受到攻击的可能性。
因此,由于资金是分散,让黑客攻击成本变得更高回报更小。
目前,LayerZero 已经经过 30 多个版本的正式审核,包括 Quantstamp、Zokyo、Zellic 和 Trail of Bits 等等。此外,他当前通过 ImmuneFi 主持 1500 万美元的漏洞赏金,这是整个行业最大的实时漏洞赏金计划!,迄今为止 LayerZero 已向已进行披露的白帽子奖励近 100 万美元。
同前文的结论一致,极低的跨链安全性验证成本是一大亮点,同样损失的则是高度信赖预言机的安全性,在抛除安全性因素之外(毕竟可以在应用层加固),通用性以及对于开发者极低的协议接入成本是笔者看到的一大隐形优势。
更强的通用拓展性
在如今在协议层跨链的,还有 Cosmos 生态的 IBC 协议以及波卡生态的 XCMP 跨链协议,之所以说他们在拓展性上有局限是指,对于以太坊验证其他公链的交易,则必须在以太坊上部署对应的轻节点。这样高昂的 Gas 成本导致众多 EVM 兼容链(ETH/BSC/Polygon/L2等等)很难对 IBC 协议进行支持,大大限制了 IBC 协议的通用性,因此目前其依然只能在相对小众的 Cosmos 生态链之间运行。
更低的开发者接入复杂度
从一开始底层协议的工作量就是放在极简的合约接入设计上,而消息跨链的需求场景上限极高,比如跨链借贷、收益聚合和交易只是开始。因为便捷好开发,所以协议目前已经在 30 多个链上 Dapp(包括去中心化交易所 PancakeSwap、SushiSwap、TraderJoe 和 Uniswap 等)传递了超过数百万条消息,并且其上的应用桥等已经锁定了超过 70 亿美元的总价值(发文近期 TVL 为 4 亿美金)。
解除多链碎片化的兼容性
前面提及的锁定铸造模式中,生成的包装代币,便是一种对多链资金的碎片化现象,而 LayerZero 使用非封装资产方式、可以支持 EVM 和非 EVM、统一的流动性层,以及在资产跨链时能够将原链兑换、桥接、目标链兑换、质押等复杂的交易捆绑起来。
跨链方案解读:https://research.web3 caff.com/zh/archives/7592
跨链是多链格局下的重要投资赛道之一,未来确定性高,商业模式清晰,在市场仍未成熟的阶段已有高额营收,作为通信协议内嵌到各类 Dapp 的基础代码内,协议本身也就成为乐高积木中最下盘之一。
【下篇预告】
上篇是 LayerZero 的技术方案实现与优缺。
下篇则进一步会展开 LZ 在市场的状况对比,全面评价主流各大跨链模式,已投稿在Web3 Caff 平台的 research 频道(头部付费研报平台,正在进行十四君粉丝联合活动,可使用"shisi"为推荐码延长 15 天会员期)。
阅读原文: https://research.web3 caff.com/zh/archives/7592
附录资料
https://medium.com/layerzero-official/layerzero-an-omnichain-interoperability-protocol-b 4 3d 2 ae 975 b 6
https://blog.li.fi/layerzero-a-deep-dive-6 a 46555967 f 5
https://layerzero.gitbook.io/docs/
https://github.com/LayerZero-Labs/Audits/tree/main/audits
https://blog.li.fi/navigating-arbitrary-messaging-bridges-a-comparison-framework-8720 f 302 e 2 aa
https://web3 caff.com/zh/archives/37040
https://foresightnews.pro/article/detail/1322
https://mp.weixin.qq.com/s/Ji-3 XKfquPlP 7 upnUWEaHQ
https://stargate.finance/overview
https://blog.ethereum.org/2015/11/15/merkling-in-ethereum
https://layerzero.network/pdf/LayerZero_Whitepaper_Release.pdf
https://github.com/LayerZero-Labs