要点:
跨链设计领域还没有明确的赢家。我们希望在IBC/Layer Zero之后看到进一步的迭代。
本文比较了所有主流桥设计的成本、安全性和效率:
讽刺的是,中心化交易所 (CEX)仍然是最佳选择。
资产桥(Asset bridges)具有非原生包装的致命缺陷。
全链(Omnichain)DEX涉及中间链流动性锁定,这意味着更多的攻击和更高的费用来补偿节点和 LP。
(从资产转移转向广义通信)
IBC是一个没有外部信任假设的通用协议。IBC安全高效。唯一的缺点是部署成本高。
Layer Zero是IBC的一种变体,它在Chainlink的帮助下将部署成本转变为按使用付费的可变成本。L0针对不常见的用例进行了优化,但在高频通信中的可扩展性较差。
考虑到痛苦的权衡,我们相信设计迭代必将继续。在第四节中,我们将提出三个想法:
CLOBs : 让跨链流动性池更具资本效率
zk-SNARKs:降低链上验证成本
链级SDK集成: 消除对中心化外部“中继器”的依赖
文中提到的项目:以太坊2.0、Cosmos、IBC、Layer Zero、Solana、Serum、Optimistic Roll-ups、StarkNet、Terra、THORChain、Osmosis、Anyswap、 Wormhole、Ronin Bridge、Terra Bridge、Avalanche Bridge、Ren Bridge、Axie Infinity
在这一节:
多链现实将继续存在
跨链基础设施的价值和用例
跨链与L1战争的爱恨情仇
跨链协议的价值捕获:为什么它(并且应该)很少
在中短期内,我们将拥有更多的公链,而不是更少:
技术正在迭代:可扩展性的最终技术解决方案尚未成熟。可扩展性设计选择迭代必将继续。
资本正在攻城掠地:在顶级生态系统背后投入的大量资金意味着攻城掠地不会很快结束。
协议想要发行L1代币:实际上,发行Layer 1代币的诱人经济性意味着成功的应用层协议有动力推出用例链(例如:Axie Infinity和Ronin)。
跨链互操作性是结构上重要的设计空间:
货币互操作性:对于用户来说,货币就是货币。未连接的货币只是商店积分。创建互操作性会增加资产价值。
数据互操作性:Facebook和谷歌已经成为世界上最有价值的企业,它们可以从其他未连接的数据中获取价值。类似的数据现在被浪费在孤立的区块链数据库中。
用例:凭证、信用评分、元宇宙身份、奖励用户在另一条链上行为的协议
对于那些对L1之战感兴趣的人来说,跨链通信也与区块链可扩展性有着深厚的联系:
竞争性:如果跨链通信变得足够顺畅,它可能会将L1抽象掉。毕竟,只要Facebook的服务器能让我们无国界地与朋友交谈,谁会关心它呢?在边际上,更顺畅的跨链体验可能有利于较小的新贵链,而不是已建立的生态系统。
共生性:就像联合国和SWIFT不能没有主权国家一样,跨链协议设计和规范很大程度上取决于L1的设计选择。鉴于L1设计范式(高TPS、分片、Rollup、侧链、应用链……)的分歧,跨链空间的最关键参数仍未确定。现在站队还为时过早。
一个有价值的跨链协议应该是一个非提取的、无状态的、几乎没有防御能力的瘦协议,就像万维网的IP层一样。在我们看来,构建协议护城河的一些常见方法对跨链实用程序来说是次优的或价值破坏性的:
锁定流动性→碎片化、摩擦和成本
统一的流动资金池→巨大的攻击面和资本效率低下
包装的用户资产→系统性金融风险
信任链下中继器→提防跑路、垄断和审查制度
直接影响:跨链基础设施的主要投资驱动力可能是生态系统基金和既得利益的风险投资。公链可以提供跨链作为基本实用程序。在这种情况下,可信的中立成为一种罕见的美德——一个单独的感兴趣的话题,我们不会在这里展开。
因此,我们对跨链结构重要性的讨论并不一定意味着它们成比例的代币投资价值。
在这一节:
中心化交易所
资产桥
全链DEX
代币是最突出的Web 3原语之一。它们构成了大多数跨链用例。
历史类比:人们发现银行有助于促进两个原本孤立的主权国家之间的价值转移。
它就像在许多国家中存在的拥有货币储备的商业银行。一种简单、直观的方式,可以很好地服务于顶级用例——如果可以访问它的话。
好处
简单的用户界面/用户体验
最低成本——大多数交易所只对简单转账收取Gas费——没有复杂的链上计算。
限制
KYC和税收——许多人无法获得服务。
许可上币——大多数时候,一个人只能转移CEX上架的代币。
交易对手风险:我们信任的不是智能合约,而是币安的IT和诚信——尽管只是暂时的。比如,币安暂停狗狗币提款。
没有智能合约的可组合性。
它就像一张旅行支票(如果有人大到知道那是什么的话),一种在Web 3中称为wrapping的信用工具。
示例项目:Wormhole, Ronin Bridge, Terra Bridge, Avalanche Bridge, Ren Bridge
怎么运作
联盟桥在两条链上部署智能合约以锁定原生资产并赊账发行定制包装的资产。
例如,在以太坊上锁定100 ETH --> 在Solana上铸造100个wormhole-wETH
理论上,被包装的资产由另一条链上的锁定资产以1:1的比例支持。
此类桥已将链下验证者列入白名单。验证者观察链A上的原生资产锁定,然后在链B上发布打包资产。在Wormhole的情况下,“守护者网络”中有19个验证者,大多数守护者是顶级 Solana验证者。
好处
比CEX更无需许可——没有KYC
智能合约可组合性
没有因包装而导致外部流动性锁定
由于大多数计算是在链下完成,因此几乎没有额外的Gas
限制
对联合验证者的信任假设。经常受到攻击或跑路。
2022年2月,ETH-SOL Wormhole桥被黑3.25亿美元
2022年3月,ETH-RON桥被黑超过6亿美元
1、与链下联合验证者的交互引入了额外的网络层和智能合约漏洞。
2、包装流动性的碎片化(wETH/ETH/xyzETH是不同的代币),尤其是在多个桥竞争的情况下。Wrapping在去中心化(许多桥)和流动性效率之间产生了不受欢迎的权衡。
3、以协议的信用发行的包装资产(如SOL上的 wETH)永远面临黑客攻击和脱钩,限制了包装资产的信心和用例,并增加了系统性金融风险。
4、资产列表仍然受到桥接协议的许可。
我们可以去中心化商业银行吗?
是的。这是DEX链的实现。
示例项目:THORChain、Osmosis、Anyswap
怎么运作
Omnichain DEX为多条链上的原生流动性引入了流动性提供者。
Omnichain DEX引入专有代币(RUNE、OSMO、...)来桥接流动性:协议交换所有东西两次(ETH-RUNE-SOL)以促进长尾资产的交换。
通常,尽管不一定,Omnichain DEX会启动一个用于DEX计算的专用链。
好处
比CEX更无需许可——没有KYC。
智能合约可组合性。
统一流动性:所有链都使用同一个XXX-RUNE流动性池。即,BNB/ETH/LUNA - SOL都来自同一个RUNE-SOL池。
原生资产:一旦交换完成,不再信任DEX的完整性假设。从本质上讲,DEX将脱钩风险转移给了LP,而不是用户。
开放资产列表:任何人都可以向DEX添加流动性以允许新的资产对。
限制
没有立即确定性:由于多个链可能同时调用同一个RUNE-XXX流动资金池,因此在提交时不能保证交易可以以特定价格进行。这会在恢复/退款方面引入额外的摩擦。Stargate声称已经解决了这个问题。
中间链是单点故障。
多层费用和滑点:THOR和OSMO发行原生代币作为交易的一方面(也就是说,所有交易对都是THOR/XXX)。原生代币通常是维持运营专用链的经济激励所必需的。
XXX-THORChain桥接器和中继器仍然是中心化的。
我们不喜欢资产桥。被包装的资产不是主权的;它们是易受攻击的协议的非流动性票据(IOU)。
对于那些可获得服务(KYC、税收和希望转移资产)的人来说,中心化交易所仍然是最简单、最便宜的选择,只有短暂的交易对手风险。
在CEX之外,必须使用Omnichain DEX。它们具有原生资产和统一的流动性。用户将不得不支付多层协议成本:流动性成本、中间链验证成本或中继器-预言机成本、交换滑点等等。
在这一节:
IBC是第一个通用的跨链通信协议。最大的创新:它可以通过维护链上轻客户端来原生验证交易对手链上的交易。
Layer Zero尝试缓解IBC的最大问题:启用链上验证需要高gas费。Layer Zero涉及Chainlink 就信任、固定成本和可变成本做出不同的设计选择。
下一层跨链通信涉及广义通信。不难看出为什么广义的通信在结构上是有价值的:
随着Web 3原语的成熟,有比同质化代币转移更多的用例可以使用跨链通信:NFT、游戏、治理、凭证、原生多链dApp。
作为基础设施/API层,供更多最终用户应用程序构建和迭代全链DEX设计选择。
跨链通信之谜分为三块:
一些更多细节和讨论,如果不懂技术,可以略过:
Monitor & Alert:系统必须接收到一些信号才能开始处理通信请求。
在Web 2中,一个典型的实现是“监听器代码(Listener Code)”,这意味着服务器不断地(每毫秒循环一次)监听它的网络请求。这种范式对于Web 3来说是不可能的,因为拥有区块链循环高频计算的成本过高。
在Web 3中,需要通知自动运行的智能合约有什么事情发生了。当前的解决方案依赖于需要验证两条链的节点——“中继器” 。我们将在下一节讨论它们的作用。
数据:关于交易的详细数据(称为“有效负载”)必须在系统之间进行通信。
在Web 2中,这个问题是微不足道的。谷歌可以通过物理互联网基础设施向Facebook发送任何内容。
在Web 3中,需要关注的是我们需要在计算方面保持经济。幸运的是,由于以太坊的一些智能设计,我们不必发送整个区块:要描述交易并证明它发生在以太坊区块上,只需发送小于以太坊区块0.1%的数据(参见:Patricia-tree)。在IBC和Layer Zero中,中继器负责传输数据。
验证:接收方需要确信数据是由正确的发送方授权传输的
在Web 2中,这个问题同样简单明了。Facebook使用已建立的协议(如HTTPS)来验证 Google的服务器签名并解密已签名的消息。
在Web 3中,仅知道一笔交易及其区块XYZ(数据)是不够的,但接收智能合约需要知道区块XYZ包含在源链上。确认是困难的,因为即使在一个区块已经被验证和签名之后也可能发生重组。如何做到这一点是IBC和Layer Zero之间的主要区别。
IBC将中继者和链上轻客户端之间的三个元素分开。
工作流程
监控和激活 + 交易数据——中继器:如前所述,中继器是一组节点,可以在同一台物理机器上验证两条链。中继器使用廉价的云计算能力来扫描链A的网络请求。如果发现A-->B网络请求,他们将交易提交给链B。
验证——轻客户端:IBC还需要部署一个链上轻客户端。链B上的智能合约可以在链上独立验证交易是否已在源链上被规范化,这是IBC认可交易之前的最后一步。
链上轻客户端:链上轻客户端是部署在链A上的程序,用于观察和记录链B的最新区块头(即最长链)。
关键设计选择讨论
IBC的运营依赖于在链A和链B上运行轻客户端的链下中继器。IBC中继器软件是开源且无需许可的,因此任何人都可以加入。他们不需要被信任以确保安全,因为链上智能合约将验证所有交易。中继冗余仅用于服务可用性。
由于ETH上的IBC合约需要不断地从其他链中保存新的区块头以维持实时验证,因此链上验证在ETH等高gas链上的成本可能很高。“...... 以太坊上每条成对链[轻客户端成本] 每天数千万美元,”据Layer Zero。
Cosmos通过自定义链设计解决了IBC Gas问题:使IBC成为链级模块。Cosmos要求验证者在链级别而非智能合约级别维护Cosmos Hub轻客户端。——计算成本隐含地由验证者承担,而不是由特定的智能合约账户承担。
LayerZero与IBC有两个主要区别:
部署形式:Layer Zero是IBC的智能合约实现(因此它可以在EVM和Solana等链上原生运行)——截至2022年3月,IBC仅在Cosmos 链上运行。
替换成本高昂的轻客户端:它不再要求每条链上的智能合约同步所有其他连接链的区块头,而是将规范化检查外包给Chainlink。
工作流程
监控和激活 + 交易数据——中继器:与IBC相同。
验证——预言机:LayerZero使用Chainlink的去中心化预言机网络来检查区块提交。例如,Layer Zero智能合约会询问Chainlink:
“具有merkle根0xbbcc的Terra块129634是否在你的完整Terra分布式帐本中并且至少有X个子块”
同时,“数据”部分说,
“这是地址0x1927的Terra交易,将10个LUNA发送到智能合约地址0x7878。该交易包含在 merkle根0xbbcc的区块中,这是区块包含的merkle路径证明。”
将两部分放在一起,我们将同时拥有“数据”和“验证”来证明交易发生在另一条链上。
与完全链上的轻客户端相比,Chainlink的使用牺牲了一些安全性和运行时延迟。
引入额外的协议依赖和智能合约风险
调用Chainlink合约而不是检查链上数据会引入额外的延迟和gas成本
这是固定成本与可变成本的权衡
轻客户端在一些高gas链上具有很高的固定成本(无论使用情况如何都需要更新以保持活力),但每次使用的可变成本几乎没有。
随着Chainlink网络变得拥挤,Oracle网络的每次使用成本略有增加。
鉴于差异化优化,我们预计IBC将和Layer Zero共存。
IBC适用于以下用例:
相反,Layer Zero非常适合将高Gas链 (ETH) 与低频链连接起来。
在这一节:
2层和分片链的复杂性将使跨链通信问题进一步复杂化。
我们对未来演变的推测:
CLOB - 中央限价订单簿——以提高资本效率
zk-SNARKs优化链上验证
链级SDK完全去中心化
这里我们只讨论了简单的主权1层公链之间的链间通信。对于更复杂的区块链设计的互操作性解决方案,设计空间大部分仍然是开放的。这里有一些例子。
2层Rollup:由于2层的承诺/结算在以太坊上,因此以太坊1层可能需要参与证明最终确定性。
Optimistic Rollups:ORs的致命缺陷,欺诈检测的7天锁定期,同时会加剧与ORs互操作的难度。
分片链:截至2022年3月,以太坊基金会尚未决定ETH2的设计选择。我们正在观察两件事:
当以太坊基金会发布分片设计选择时:数据分片 v. 执行分片 v. ZK-SNARK v. ...,以及它们对其他L1链如何与ETH2通信的影响。
ETH2分片之间的内部通信协议,如果设计为相互通信的话。
中央限价订单簿 (CLOB)
与AMM DEX如何为CLOB CEX提供更开放但更昂贵的替代方案类似,目前全链DEX最重要的痛点是资本效率低。
也许全链DEX可以从Serum借鉴学习从而提供中央限价订单簿,以在费用、最终确定性和延迟方面提供不同的设计选择。或者,如果Serum移动得足够快,它本身可以尝试一下。
ZK-SNARK
零知识Rollup的设计问题和我们的很相似:
如何以最终性地证明另一条链上发生了某事?
虽然没有时间在这里深入研究zk 数学,但我们很高兴看到zk和跨链通信之间的结合带来了以下部分或全部特性:
O(log n) 简洁计算,用于在目标链上进行验证
IBC轻客户端成本和链上数据成本进一步优化
链级SDK优化,实现完全去中心化
当前所有的跨链解决方案都涉及中继器。正如我们所讨论的,跨链实用程序的糟糕经济性意味着中继器几乎总是生态系统的重量级人物。他们有共同的利益,如果有必要,还有勾结——在极端情况下中心化的风险很大。
那么,一个完全去中心化的跨链桥在技术上是否可行?我们相信是的:
通过部署一个链上轻客户端,上图中绿色的两个元素已经可以去中心化:
“轻客户端协议的目的是允许低容量环境(嵌入式智能财产环境、智能手机、浏览器扩展、某些桌面等)中的用户对某些特定部分的当前状态保持高度安全的保证。以太坊状态或验证交易的执行“——轻客户端协议
去中心化的最后一步:监控和警报(Monitor and Alert)。
幼稚的解决方案:一个幼稚的解决方案需要链B扫描链A的整个区块,以发现是否有任何交易请求跨链通信。如果想象以太坊扫描Solana,那么幼稚的解决方案是不可能的。
SDK集成:考虑一个提议:链A在其区块中要求一个专用空间,甚至每隔几个区块就有一个空间。链A的数据规则规定,所有涉及验证者的事物都必须将所有网络请求放在该区块空间中。让我们称之为网络字节(networking bytes)。然后链B只需要扫描网络字节以查找新连接。该设计可以减少链B的扫描工作量,类似于轻客户端比全节点轻2500倍。
区块空间格式化建议绝不是一个疯狂的想法。Cosmos已经在其Tendermint SDK中做到了这一点。Solana具有类似的区块空间格式化规则,不是用于网络,而是用于优化并行执行,请参阅SeaLevel。毫无疑问,未来可能会有进一步的优化。
设计空间年轻而雄心勃勃。让我们继续关注并共同建设。我们对完全去中心化、无鲸鱼的跨链通信协议的前景感到兴奋。