什么是跨链#
由于区块链设计皆有取舍,根据分工原理,多链生态必将长存,现在 Web3 生态中,DApp 存在于数百个区块链中。但是,区块链本身不具备与外部系统或 API 通信的能力。这种限制不仅阻止了区块链与现有网络基础设施的通信,还阻止了与其他区块链的通信,这一点对 web3 来说几乎是致命的。
所以跨链通信对于 web3 来说至关重要,抽象来看,每一条公链逻辑上都是一台无需许可的、世界共用的、孤立的可信计算机(例如以太坊就是以太坊虚拟机 EVM,它是可信的、不可篡改的、逻辑统一的一台虚拟机),而跨链桥就是这些孤立的计算机之间的通信协议。因此,如果说公链是 Web3 的世界计算机,那么跨链通信协议就是 Web3 的 TCP/IP 协议(区别就是,跨链协议比 TCP/IP 这种通信协议多了一个信任层),它的作用就是将这些孤立地可信计算机组合在一起,形成可信计算机的互联网。也就是说,跨链协议是 Web3 的 TCP/IP,潜力巨大。
跨链协议的运作方式#
跨链通信协议的功能是保证一台可信计算机(如以太坊)上的状态信息能够不被篡改地传递到另一台可信计算机(如 Solana)上。具体来说,对于 A 链→B 链的可信通信协议,在传输 A 链状态信息的过程中需要保证三点:
源链端:协议在 A 链获取的状态确实是 A 链的有最终性的状态。
传输端:协议在信息传输的过程中状态信息没有被篡改。
目的链端:仅有协议传输的状态信息能被 B 链接收。
而跨链协议的本质上是通过信任层来实现的,信任层的设计决定了跨链项目对其信息传输的安全性、成本、延迟等属性的权衡取舍,也是跨链领域出现创新的地方。
信任层最直接的构建方式就是让两条链的智能合约都信任一个中间主体(这个主体可能由多个节点去中心化地组成),这个主体确认从 A 链获得的状态信息,并将之传到 B 链。具体来说,如上图所示,假设 A 链出现了事件 T 需要传输到 B 链,那么跨链协议将如下运行:
信任层观察 A 链最新区块,发现事件 T 的信息需要被传输,于是把事件 T 下载到信任层中;
信任层将事件 T 的信息传输至 B 链;
B 链接收到信任层传输的事件 T 的信息,并知道事件 T 发生在了 A 链上。
在这套方案下,跨链用户必须相信信任层不会作恶。在协议没有代码漏洞的情况下,只要信任层是诚实的,跨链信息就能被安全传输。若信任层作恶,信任层可以拦截信息,甚至发布假信息,从而令用户财产收到损失。这种信任层的设计方式及其变种可以覆盖 90% 的现有跨链方案。
跨链通信协议的意义#
越好的跨链通信协议,做到跨链可互操作性的代价就越小,越能让在不同链上的合约像是就部署在同一条链上一样。跨链通信可能的代价包括:成本、延迟、安全性等。现有跨链桥的缺点仍较多,巨大的跨链代价使得一些很明显的多链应用无法出现,例如把大量 BTC 引入智能合约链的 defi 生态(现在 WBTC 只帮助了 1% 的 BTC 跨链到以太坊,因为其过于不安全),或者把全链流动性都聚合到一起。
进一步来说,跨链通信协议的发展很可能改变公链的竞争格局。现在公链的两个重要壁垒为:1)公链生态项目之间因可组合性而形成的网络效应,2)流动性。这些也是以太坊现在最大的壁垒。而跨链通信协议的发展很可能会削弱这部分壁垒,因为:1)其他链上的项目通过跨链协议一样可以享受以太坊上优质项目的可组合性,2)其他链可以无摩擦地获得 / 夺取以太坊上的流动性。这会使得今后公链需要更靠产品本身的特性取胜,可能会倒逼以后的公链越来越专业化,做好自己分工岗位的工作,再和其他链配合承载一个 Dapp 的多种需求。
总的来说,跨链通信协议就是 Web3 的 TCP/IP 协议,可以帮助各有优势的可信计算机(区块链)组合在一起,形成可信计算机(区块链)的互联网,使得区块链们能分工合作,发挥巨大价值,就如同互联网让全世界的计算机都汇总到一起互相合作一样。现在的跨链协议还未成熟,巨大的跨链代价导致许多明显的、能提升效率的多链应用还无法出现。随着技术的成熟,会有越来越多的多链应用出现,而作为多链应用的重要组成环节,跨链协议将会捕获越来越多的价值,市场空间巨大。