作者:听风 / 来源:白话区块链
对许多区块链爱好者来说,跨链是一个全新的概念。什么是跨链?跨链是如何实现的?侧链和中继链这些是什么意思呢?
今天,白话区块链就来解释一下这些看似非常深奥的名词。
01
什么是跨链?
区块链之间互通性的问题一直限制了区块链的应用空间,而跨链机制可以通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。如果把公链当成一个个区块链岛屿,那么跨链就是连接这些岛屿之间的桥梁。
2016 年,BTCRelay 基于中继跨链方案,实现了比特币到以太坊的单向跨链连通。同年,V 神的《Chain Interoperability》论文提出了四种跨链技术。目前,市面上专注跨链的区块链项目有 Polkadot、Cosmos 等等。
02
跨链是如何实现的?
两条链是相互独立的系统,发起跨链交易的时候,如何才能完成对另一条链的交易确认呢?这时候,我们就需要一个“中间人”的角色,承担两条链的信息交互。
根据“交易如何确认”,“在哪确认”,以及“由谁来确认”等不同的方案,我们将该过程概括为三种实现方式,即:公证人模式(Notary Schemes)、侧链/中继(Sidechains/Relays)和哈希锁定(Hash-Locking)。
03
细说三种跨链模式
1、公证人模式(Notary Schemes)
公证人模式是最简单的模式,这时候的“中间人”同时也是“公证人”,并将成为可信第三方。
公证人不断地进行数据收集,还进行交易确认和验证。即假设 A 和 B 是不能进行互相信任的,那就引入 A 和 B 都能够共同信任的第三方充当公证人作为中介。这样的话,A 和 B 就间接可以互相信任。
来源:Huobi Research
公证人模式又分为中心化/单签名公证人机制,多重签名公证人机制,分布式签名公证人机制。
2、侧链/中继(Sidechains/Relays)
中继更为灵活,“中间人”仅仅充当数据收集者的角色,目标链收到发送链数据后由接收链自行验证,完成交易确认的工作。自行验证的方式依据系统结构不同而不同,例如 BTC-Relay 依赖于 SPV 证明,Cosmos 还依靠验证节点签名数量等。
如果在链 A 和链 B 之间存在第三方数据结构 C,C 是 A 和 B 的中继,如果 C 本身也是区块链结构,通常称为 Relay Chain。顺便提一下,Cosmos 和 Polkadot 都是运用中继技术。
侧链是以锚定某种原链上的Token为基础的新型区块链。比如,以太坊可以成为比特币的侧链,比特币作为以太坊的主链。但是主链不知道侧链的存在,侧链知道主链的存在,即侧链能读懂主链。BTCRelay 就是试图允许以太坊的智能合约安全地验证比特币的交易,而不需要任何中间机构。
来源:Huobi Research
V 神并没有严格区分 Relay 和侧链。不过从形式看,Relay 是一种方式,侧链是一种结果。侧链表达的是两条链之间的关系,并不是特指某种跨链技术或方案。
3、哈希锁定(Hash-Locking)
闪电网络的底层技术就是哈希锁定,其基本原理如下:
A 和 B 可以达成协议,协将锁定 A 的 1BTC,在时刻 T 到来之前(T 以未来的某个区块链高度表述),如果 B 能够向 A 出示一个适当的 R,使得 R 的哈希值等于事先约定的值 H(R),B 就能获得这 1BTC;如果直到时刻 T 过去了,B 仍然未能提供一个正确的 R,这 BTC 将自动解冻并归还 A。这个过程产生随机数和验证随机数的过程。
04
小结
通过跨链技术,区块链能在不同公链之间自由通信,这给区块链带来了全新的期待。虽然目前跨链还存在许多技术难题,但假以时日,跨链技术一定会给区块链的大规模应用带来切实的帮助。
你最希望哪两条公链之间率先实现跨链,Token 可以自由流通?