跨链终局之战
本期SeerLabs(Twitter:@seerlabs_crypto)将带你走进跨链终局之战
前序:
在讨论本文的话题之前,我们需要声明本文只代表作者个人的意见和想法。且分析时切入点为产品和技术设计并无资本运作,市场营销等其他方向的考量。所以本文并非投资建议,也非做空报告,本期所主要讨论的问题更偏基础设施,这类赛道往往具有原子性,要么符合需求极快起飞,要么方向错误无人问津。因此,文中所提的项目更不可以作为作者提供的投资参考。纯属产业研究。希望大家一起来讨论。
Synthetix的L1和L2数据兼容所引发的信息跨链思考
本篇研报的起因是于今年7月以及12月分别发布的于synthetix社区的sip156和sip165.链接贴于此:
https://sips.synthetix.io/sips/sip-156/
https://sips.synthetix.io/sips/sip-165/
目前这两篇提案依然处于Feasibility的阶段,这意味着虽然还没有实际实施但是可行性已经得到了一定程度的认可。这两篇提案的主要原因是希望解决Synthetix的layer2和Layer1的数据兼容问题。看过我在10月份所做的合成资产研报的用户应该都了解。Synthetix作为以太坊社区最复杂的DeFi项目,于今年正式部署在了Optimism这个layer2解决方案上。但是多链竞争的格局逐渐形成,虽然layer2和layer1之间可以完成一定程度上的跨链通信,但是这种通信暂时还无法扩展到其他侧链甚至是solana这种异构链上。导致Synthetix所采用的全局债务无法同步。这造成了极大的“流动性浪费”。
这种“流动性浪费”正是当下这个群雄逐鹿的公链战国时代,各类DAPP所面临的最大的问题之一。尤其是像Synthetix这样子的全局债务项目(采用类似pool 2 user的共享风险的项目都会遇到同样的问题)。在采用多链部署时就不得不将多链的流动性互相割裂。并且从零开始重新激励流动性的产生。
以经常被我们鞭尸的“DeFi For All”基金举例,Polygon通过这个计划引入了Aave,Curve,Sushi,最近又引入了Uniswap。但是这些头部项目依然需要重新在Polygon上激励流动性并且沉淀资金。
也许你会说,对于矿工来说,新的经济激励越多越好,但对于有实际需求的用户来说,会造成很大的困扰,如Aave的其他链的版本上支持的抵押品和存款品的种类要远低于ETH,Sushiswap在其他链上流动性较好的资产也依然远低于以太坊。
再从项目方的角度来说,如果我希望在某个体验较好的异构链或者Polygon这种EVM的侧链上部署我独创的抵押借贷协议。那么我会面临一个很大的问题,那就是可采用的抵押品种类不足,因为该链上拥有足够流动性可以支撑大规模清算的资产并不多。
还有,目前多个链上都会有一些主流的代币交易对AMM池,以ETH举例。截稿时,该资产在Uniswap V3上的总TVL为1.41B,在Pancake V2上的TVl大约为0.3B。而在进行同一笔ETH的交易时,在Pancake上交易所承受的滑点压力是Uniswap V3以太坊版本的近5倍。金额越大,滑点差距越大。这也是为什么目前交易聚合器的采用率越来越高,甚至跨链交易聚合器的采用率也越来越高的原因。
再举一个例子,用户使用不同链的Aave进行抵押借贷时所承担的利率是不同的,这是由于各个链上的数据无法互通,合约在计算利率时只采纳了该链原生的数据。用起来可能看着差别不大,但换个说法,这就好比,你在用本市的银行存款时的利率为4%,但是你跑到其他大城市发现存款利率居然为6%。同样的银行,同样的币种,这种情况在传统金融市场是无法不可能出现的。但是由于区块链的数据孤岛问题,导致类似的情况屡见不鲜。
因此,引发了我们的思考:
既然多链博弈,兼容并存的生态已成定局,未来的战火甚至有可能更加混乱。那么链间的信息通讯是否是下一个即将迎来爆发的赛道。
为此,我和团队的开发者集中对当前各种类型的解决方案展开了研究(主要挑选了一些有代表性的方案,其他较为同质化的方案并不在此次报告的范围内)。希望能够从各个不同的方面来分析各种解决方案的优劣。
以下内容涉及到多种技术原语,我们会尽量使用浅显的语言帮助大家理解。基础设施赛道听起来非常“技术”但实际上,区块链的解决方案本质上是组织形式和生产关系的哲学问题,了解了基本的流程和逻辑不需要看懂代码也可以明白这些基础设施的实现意义。
现有的一些跨链通讯基础设施
(一)轻量级的插件型通讯协议——LayerZero
LayerZero是SeerLabs今年八月份接触到的一个跨链通讯的基础设施,当时引起了我的注意,但是后续因为一些其他事情错过了对其的投资(遗憾)。后来就看到这个协议获得了包括Binance, Mulitcoin, Delphi Digital的投资,再去找就不理我了。
1、方案简述
LayerZero主打一种轻量级的基于通信层的解决方案。主要针对的是各个链上DAPP。帮助他们解决链间信息的互通问题。
LayerZero的白皮书大概这样描述这个方案(我尽量翻译)
上图说明了有效传递单个LayerZero消息所涉及的步骤,图中每个黑底的数字代表了一个步骤。
步骤1:链A(AppA)上的用户应用程序作为事务t的一部分执行一系列的动作。我们通过交易标识符t来唯一标识事务T,t的格式可能会根据链A的类型而有所变化。事务T中包含的一个步骤是通过LayerZero传输有效传递。为了说明目的,并且不丧失一般性,我们假设在这个场景中Appa使用我们的模版中继器。AppA向LayerZero通信器发送一个包含以下信息的请求:
t:代表唯一的事件识别符
dst:代表指向链上智能合约的全局识别符
payload:代表链A应用希望传送给链B应用的任何消息数据
relayer_arge:代表在链A应用希望采用图中所示的模版中继器(layerZero提供的一个可自定义的中继器)时所提交的支付信息的一些参数
步骤2:通信器(Communicator)构造一个包含dst和payload的