本文重在讲述LayerZero的技术方案以及评价其优缺点。
前言
短短1年的时间,全链互操作性协议LayerZero他再次以 30 亿美元的估值筹集了 1.2 亿美元,是上次估值的三倍,投资者包括a16z,ChristiesInc和红杉资本等。
全文研报一万字,将全面梳理跨链赛道的主流模式、layerZero的技术原理、详解跨链生命周期、综合分析其协议优缺。
本文系上篇,重在讲述LayerZero的技术方案以及评价其优缺点。
1、LayerZero技术原理
1.1、概述
LayerZero 是一个提供无需信任的跨链通讯协议。它的本质是利用了轻节点的技术原理,设计了超轻节点的机制,通过中继者和预言机将中间的置信环节一分为二,从而以更低的费用换取更好的安全性
注意, LayerZero主打的不是资产跨链,而是更上层的消息跨链,作为底层协议与资产跨链的应用层是个包含关系,更具体的资产跨链是同样由Layerzero Labs开发的Stargate。
1.2、什么是轻节点?
跨链之间的通讯环节主要是通过外部验证或链上轻节点来完成。首先轻节点是一种节点运作模式,同样的还有全节点(Full Node)归档节点(Archive Node)。同一个链的不同节点则是该链信息的删减版,轻节点只保存历史所有区块头,并不存储区块内的具体交易信息。
有了区块头的多个Merkle Root就可以借助默克尔树验证来确定一笔交易是否真实存在于这个区块。
【以太坊的EVM虚拟机架构图 来自官方GITHUB】
通过轻节点上链运行验证的收益是,完全剔除了公证人的外部角色干扰,依据链本身的安全性实现高度的去中心化从而更安全。
但这样一来跨链成本将会高的无以复加,最终都将分散到跨链需求的用户上。笔者曾经在NFT存储元数据估算按KB为单位的成本。
1.3、什么是超轻节点?
超轻节点 Ultra-Light Node (ULN) 其实很简单,对比轻节点而言,超轻节点会执行与链上轻节点相同的验证,但不是按顺序保留所有块头,它们由分散的预言机按需流式传输。
其收益便是,不依赖轻节点从头开始的区块头数据流。
其代价则是,缺乏历史顺序数据流,那一旦预言机和中继者同时作恶即可通过验证,让导致恶意的信息被执行。
一定程度安全性的损失对应极大程度成本的降低,孰是孰非就看大家基于自身场景如何权衡了,参考lens这样社交协议的设计,社交关注的信息的价值不会太大,那么在做好应用层隔离的情况下乐观的做元交易,乐观的先执行后追溯也十分可取。
2、LayerZero的跨链核心角色
在下图的LayerZero官方白皮书中,绿色的部分便是承担两条链之间信息传递的关键角色,分别是Oracle和Relayer。
【LayerZero官方白皮书 来自 官网】
2.1、Oracle和Relayer的定位
简单来说,Oracle(预言机)的主要作用是让目标链上的合约知道什么时候验证和验证的答案是什么。而Relayer(中继器)则负责提供验证交易所需的证明过程以及跨链信息的具体内容。
笔者在上篇4337的研报中也有提及,目前4337合约还需要接入链下的预言机价格服务,才能真正实现多币种支付交易手续费的功能:
拓展阅读 以太坊账号抽象ERC4337的过审方案解读
总之,Oracle就是LayerZero跨链中的公证人角色,可能是出于这样的作恶动机评估,预言机的安全性几乎等同于链上Defi的价值,太多的借贷产品依赖预言机提供价格,如果他愿意作恶,那么有更高收益率的事情可以做。
2.2、Oracle和Relayer的分工
预言机的作用是:将源头链上跨链请求所在的 Blockhash和 Block Receiptsroot 传递到目标链上。
Blockhash 区块哈希,告知目标链上的合约哪个区块里有用户的跨链请求。
Block Receiptsroot 是为了用来验证交易中继器传递的消息。
中继器的作用是:将跨链消息所在的 Receipt 和 Merkle Proof 所需的路径信息传递到目标链上的合约用以验证。
其中Receipt 收据是指交易回执信息,其中主要包含着交易执行结果、交易哈希和交易事件日志。
交易执行结果:源链上交易本身是否成功。
交易哈希:每一笔交易的全局唯一哈希。
交易事件日志:理解成跨链信息的具体内容。
这里的路径信息就是下图的红色箭头,比如将中继者依次将 L2 -> Hash 0-0 -> Hash 1 信息告诉链上节点后。比对预言机给出的TopHash,以及基于中继者给出的信息合约进行二次计算后一致则说明中继者是正确的。
2.3、LayerZero的跨链生命周期
在理解了中间区域跨链角色的工作后,咱们来从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账号)。
3、如何评价LayerZero协议的优缺点3.1、依赖预言机就很危险吗?
如果只有一个relayer或者一个预言机那可能确实有危险(已经不是协议本身的管理范畴了),但是目前layerZero实现的是任何应用均可自定义自己的relayer乃至于选择不同的预言机来支持自己的系统。
哪怕部分relayer宕机或者处于某种目的不工作、错误工作,在逐步的市场竞争中,会形成多对多的选择格局,在各自的博弈间会雷同矿工机制一样形成去中心化的互相监督。
即使预言机 1和中继器 A恶意勾结,这也是一个孤立的风险,因为只有同时使用了预言机 1作为预言机和中继器 A作为信息的应用程序将受到影响。
并且LayerZero只是最底层的传递信息的机制,至于信息传递后,上层应用如何使用则是可以单独定义和做安全加固的。对于协议本身而言他并不存储资金,也不存储数据,这会降低他本身受到攻击的可能性。
因此,由于资金是分散,让黑客攻击成本变得更高回报更小。
目前,LayerZero已经经过30多个版本的正式审核,包括Quantstamp、Zokyo、Zellic和Trail of Bits等等。此外,他当前通过ImmuneFi主持1500万美元的漏洞赏金,这是整个行业最大的实时漏洞赏金计划!,迄今为止LayerZero 已向已进行披露的白帽子奖励近 100 万美元。
3.1、对比协议层跨链产品的优势
同前文的结论一致,极低的跨链安全性验证成本是一大亮点,同样损失的则是高度信赖预言机的安全性,在抛除安全性因素之外(毕竟可以在应用层加固),通用性以及对于开发者极低的协议接入成本是笔者看到的一大隐形优势。
更强的通用拓展性
在如今在协议层跨链的,还有Cosmos 生态的 IBC 协议以及波卡生态的 XCMP 跨链协议,之所以说他们在拓展性上有局限是指,对于以太坊验证其他公链的交易,则必须在以太坊上部署对应的轻节点。这样高昂的 Gas 成本导致众多 EVM 兼容链(ETH/BSC/Polygon/L2等等)很难对 IBC 协议进行支持,大大限制了 IBC 协议的通用性,因此目前其依然只能在相对小众的 Cosmos 生态链之间运行。
更低的开发者接入复杂度
从一开始底层协议的工作量就是放在极简的合约接入设计上,而消息跨链的需求场景上限极高,比如跨链借贷、收益聚合和交易只是开始。因为便捷好开发,所以协议目前已经在 30 多个链上Dapp(包括去中心化交易所 PancakeSwap、SushiSwap、TraderJoe 和 Uniswap等)传递了超过数百万条消息,并且其上的应用桥等已经锁定了超过 70 亿美元的总价值(发文近期TVL为4亿美金)。
解除多链碎片化的兼容性
前面提及的锁定铸造模式中,生成的包装代币,便是一种对多链资金的碎片化现象,而LayerZero 使用非封装资产方式、可以支持 EVM 和非 EVM、统一的流动性层,以及在资产跨链时能够将原链兑换、桥接、目标链兑换、质押等复杂的交易捆绑起来。
3.3、总结
【跨链方案解读:https://research.web3caff.com/zh/archives/7592】
跨链是多链格局下的重要投资赛道之一,未来确定性高,商业模式清晰,在市场仍未成熟的阶段已有高额营收,作为通信协议内嵌到各类Dapp的基础代码内,协议本身也就成为乐高积木中最下盘之一。