跨链技术是什么?

一、什么是跨链技术

跨链技术可以理解为连接各区块链的桥梁,其主要应用是实现各区块链之间的原子交易、资产转换、区块链内部信息互通,或解决Oracle的问题等。

当今的区块链技术纷繁芜杂,各成一派,彼此之间无法进行价值和数据的交换。虽然很多区块链拥护者声称区块链是下一代互联网,但是由于每个链都是独立的、垂直的封闭体系,当前的“互联网”只是由许多彼此割裂开来的区块链“孤岛”构成,或者说,当前的区块链看起来更像是内联网。比如,比特币和以太坊是基于全网共识的、蛮力解法的信任机制。这种验证通过同步全网区块,由每个节点来做验证。但是,那些采用了去中心化账本技术的区块链(DLT,Distributed Ledger Technology),如瑞波币和IOTA,则同样处于互相隔离的状态。更令人难以接受的是,声称去中心化的区块链之间的价值互换却主要依靠中心化的交易所来完成,链上的资产价值不能得到合理的评估。

由于区块链之间互不连通、资产价值的大幅波动大大制约了区块链技术的应用和发展。所以链与链之间的互联操作越来越被重视,跨链的需求就由此而来。但是,跨链是一个复杂的过程,既需要对链中节点要有单独的验证能力,也需要去中心化的输入,更需要对链外世界的信息进行获取和验证。目前,跨链技术主要有三种实现模式:

(1)公证人模式(Notary Schemes);

(2)侧链(Sidechains)/中继(Relays);

(3)哈希锁定(Hash-locking)。

二、跨链技术的应用

2.1 公证人模式

链与链之间互操作最简单的方法是使用公证人模式。在公证人模式中,使用受信任的一个或者一组团体向链X声明链Y上发生了某事件,或者确定该声明是正确的。这些团体既可以自动地监听和响应事件,也可以在被请求的时候进行监听和响应事件。公证人模式在许可分账领域受到很多关注,因为其既可以提供灵活共识的主要竞争者,也无需进行昂贵的工作证明或关于利益机制的复杂证明。

2.2中继/侧链模式

如果一个链B能拥有另外一个链A的所有功能,则称链B为链A的侧链,链A为链B的主链。其中主链A并不知道侧链B的存在,侧链B知道有主链A的存在。

假设区块链拥有区块Header和Body,Header中拥有Merkle等证明信息,可以将链A的区块链头,写入链B的块中,链B使用和链A一样的共识验证方法,比如PoW验证难度和长度,PBFT验证投票等。等待链A的区块头序列之后,链B就可以通过Merkle分支的证明信息来证明链A的数据和操作。链A、B不能直接验证对方块的状态,因为这样会形成循环,但相互只包含轻节点是可行的,这个区块链验证的逻辑可以由链协议本身或应用合约实现。上述该过程如下图1所示。

跨链技术是什么?-比特评级BitRating.com

图1 中继/侧链模式资产转移流程

跨链技术是什么?-比特评级BitRating.com

图2 中继/侧链模式下事件的发送和接收接口

图2中代码需要在使用中继/侧链模式的两条链上同时存在,但同时需要两条链上的币或物是可以无限量发行的,这样才可以保证验证过程没有错误,从而来达到资产转移操作。

中继/侧链模式的代表项目有BTC-Relay、RootStock、Polkadot、Cosmos等。下面将依次对各项目进行介绍。

2.2.1 BTC-Relay

BTC-Relay是一种基于以太坊区块链的智能合约,把以太坊网络与比特币网络以一种安全去中心化的方式连接起来。BTC-Relay通过使用以太坊的智能合约功能可以允许用户在以太坊区块链上验证比特币交易。BTC-Relay使用区块Header创建一种小型版本的比特币区块链,以太坊DApp开发者可以从智能合约向BTC-Relay进行API调用来验证比特币网络活动。BTC-Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。BTCRelay的认证过程如下图3所示。

跨链技术是什么?-比特评级BitRating.com

图3 BTC Relay交易认证过程

其中,BTC Relay社区成员,被称为Relayers。所有人都可以加入以太坊网络并成为一名Relayer,并且无需花费硬件或者电力。

2.2.2 RootStock

RootStock 是一个建立在比特币区块链上的智能合约分布式平台。RootStock采用了“混合”安全模式,同时包含了PoW机制和私人网络模式,基于联合的门限签名方案实现的安全联合工作量证明挖矿机制。它的目标是将复杂的智能合约实施为一个侧链,为核心比特币网络增加价值和功能。RootStock实现了根链虚拟机(RVM),是以太坊虚拟机的一个改进版本,它将作为比特币的一个侧链,使用了一种可转换为比特币的代币(根币,RTC)作为智能合约的“燃料”。RootStock与比特币之间采用的是双向锚定机制。RootStock的交易认证过程如下图4所示。

跨链技术是什么?-比特评级BitRating.com

图4 RootSock交易认证过程

2.2.3 Polkadot

Polkadot是Web3基金会的跨链协议开源项目。由Parity团队的Gavin Wood主导开发。Polkadot宣称是未来Web3.0时代的基础设施之一,是一个未来“区块链互联网”的基础协议。Polkadot协议强调解决当前区块链技术的伸缩性和隔离性问题,以提供众多异构区块链系统之间去信任、去中心化的通用的互访问性、互操作性为目标。

Polkadot的核心思想是区分交易方发起和执行交易的方式以及交易方统一记录的方式。Polkadot提供基础的中继链(relay-chain),很多可验证的、全球动态同步的数据架构都建立在这个基础上,这些数据架构为平行链或者侧链。区块链应用可以将以太坊分叉,按照各自需求调整,通过Polkadot与以太坊公有链连接,或者给不同的链设置不同的功能,实现更好的扩展性和效率。Polkadot的原理图如下图所示。

跨链技术是什么?-比特评级BitRating.com

图5 Polkadot的原理图

图5所示流程大致如下:收集人收集并且广播用户的交易,也广播候选区块给钓鱼人和验证人。用户提交一个交易,先转移到平行链外部,然后通过中继链再转移到另一条平行链,成为一个可以被平行链上账户执行的交易。

2.2.4 Cosmos

Cosmos是Interchain Foundation的跨链开源项目。Cosmos是专注于解决跨链资产转移的区块链网络。该网络主要由两部分组成:Cosmos Hub和若干个Zone。每个Zone可以看作是单独的区块链空间。每个Zone会和Hub保持状态同步。Hub通过去中心化的验证人组来保证安全性,验证人组有罚金托管机制,它是唯一的多资产中心账本,并负责保证各类资产在不同Zone转移的同时,资产总量不变。

Hub既是中继链。Zone之间的跨链通信主要是通过与Hub之间的IBC协议来实现。Zone1向Zone2做跨链消息时,Zone1先生成消息包,并将其证明发布在Hub上,接下来Hub会生成Zone1的跨链消息包已在Hub上的存在证明的证明发布于Zone2,接下来Zone2收妥消息包,并给出证明发布于Hub上,最后,Hub再给出Zone2的收妥证明的证明发布于Zone2,完成整个跨链消息传递。

上述Cosmos的区块链间通信如下图6所示。

跨链技术是什么?-比特评级BitRating.com

图6 Cosmos的区块链间通信

2.3哈希锁定模式

哈希锁定模式的设计是希望链A与链B之间尽可能少的了解彼此,并作为消除公证人信任的手段,该模式的基本流程如下图7所示。

跨链技术是什么?-比特评级BitRating.com

图7 哈希锁定模式流程图

图7所示基本流程如下:

(1)A生成随机数S,并发送hash(S)给B。

(2)A在链LA上锁定币,并设定条件:如果在(当前时间+2X=TA)时间内链LA收到S,则转账给B,否则退回给A。

(3)B收到hash(S),并看见A的锁定和时间设定后,在链LB上锁定币,并设定条件:如果在TA-X时间内链LB收到S,则转账给A,否则退回给B。

(4)A看见B的锁定后,在TA-X时间内发送S给链LB,得到链LB的币。

(5)B收到S后,在TA时间内发送S到链LA,得到链LA的币

哈希锁定模式的代表项目有Interledger、闪电网络等。

2.3.1 Interledger

Interledger是由Ripple公司主导发起的跨账本价值传输开放协议。Interledger不是区块链,它是连接各类账本的支付标准、统一协议。Interledger专注于跨账本间资金流动领域。

Interledger本身并不是一个账本,它并不寻求任何的共识。相反,它提供了一个顶层加密托管系统,在称之为“连接者”的中介机构的帮助下,可以让资金在各账本之间进行流动。此外,Interledger也没有原生代币,因此,操作该协议的个体账本,仍然可以使用它们自己的原生代币,这种互操作性解决了特定支付网络的问题。Interledger的加密第三方与交易发送者和接收者的关系如下图8所示。

跨链技术是什么?-比特评级BitRating.com

图8 Interledger的加密第三方与交易发送者和接收者的关系

2.3.2 闪电网络

闪电网络的目的是实现安全地进行链下交易,其本质上是使用了哈希时间锁定智能合约来安全地进行0确认交易的一种机制,通过设置巧妙的‘智能合约’,使得用户在闪电网络上进行未确认的交易和黄金一样安全(或者和比特币一样安全)。

使用闪电网络第一步需要在用户A和用户B之间开启双向支付通道。这个通道是在主链之外,如下图9所示。

跨链技术是什么?-比特评级BitRating.com

图9 闪电网络结构图

交易双方在开启闪电交易功能之前,会首先将开启状态所需的数据写入主区块链中建立闪电交易合约,例如锁定期限,合约规则等数据。当闪电网络出现故障时,将按照合约规则和举证方的数据,在主区块链上进行处理。每一个状态通道建立,类似于一个多重签名系统构建,保证了交易双方守信原则,它比多重签名多了合约的处理。对不守信,将会在主网络受到处罚。处罚在期限内可以得到申诉,例如1000个区块期,而这种申诉是算法进行维护,不以人为因素为标准。

在通道内是双方私匙签名的区块链数据流,双方所有交易细节均在这个数据流得到体现,并以独立链的形式存储,它是证明一个通道是否合乎算法规则。当一个状态通道结束后,双方按照闪电网络输出的最终状态数据来兑现合约,这相当于是一个交易帐本,帐本记录了参与方交易结果,进而实现财产重新分配。

或者针对不同应用领域而设计,所以这些跨链项目的通用性不是很高。但是Pallet由于是协议,所以他能做到万链互联,多利益关联方互利共赢,从而助推“价值互链网”的实现。