在多个区块链间进行跨链是一个复杂的过程,对于加密数字货币领域,有侧链、中继、哈希锁定等跨链实现方案,来完成数字资产的价值交换与传递。
1.侧链
侧链是相对于主链而言的一个概念,它是以锚定某种原链上的代币为基础的新型区块链,正如比特币锚定到以太币。侧链概念的提出主要是为了实现比特币和其他数字资产在多个区块链间的转移。通俗的讲,侧链就是使区块链代币在不同区块链间转移的机制。侧链不像之前其他的区块链系统,对已有的区块链系统具有较强的排斥性。
我们可以将主链与侧链看成两个不同的系统,主、侧链之间的相互作用,可以简单地看作是两个系统间进行数据传输的过程。侧链的主要工作方式分为单一托管和合约联盟。当前的侧链系统中,有以下具有代表性的方案:
BTC-Relay,它是被认为区块链上的第一个侧链,主要原理是通过一种安全去中心化的方式把以太坊网络与比特币网络链接起来,BTC-Relay基于以太坊的智能合约功能,使用户可以在以太坊网络上进行比特币交易。
Elements(元素链),作为比特币侧链,其最具创新意义的特性莫过于私密交易。私密交易中的金额仅由该交易的参与者知道(或其他指定的人可以知道)。比特币用地址来保证隐私,同时公开交易让别人验证。元素链在保护个人隐私上更进一步,因为其引入一种新地址类型,称为私密地址,私密地址含有一个盲化因子,因此比普通比特币地址更长,这种地址在元素链Alpha版本中是默认地址。
对于企业业务场景,应用更为广泛的区块链联盟链,还可以采用公证人机制实现跨链。
2.公证人机制
这种模式相对简单,易于理解,和现实世界中的“公证人”很类似。假设A和B不是互相信任的,那就引入A和B都能够共同信任的第三方充当公证人作为中介。这样的话,A和B就间接可以互相信任。此模式中,通过外部的公证人验证跨链消息的可靠性,公证人验证通过后必须对跨链消息签名。具有代表性的方案是瑞波实验室提出的跨链价值传输协议(Interledger Protocol,简称ILP)。ILP旨在连接不同账本并实现它们之间的协同。Interledger Protocol适用于所有记账系统,能够包容所有记账系统的差异性,该协议的目标是要打造全球统一支付标准,创建统一的网络金融传输的协议。Interledger Protocol使用两个不同的记账系统可以通过第三方“连接器”或“验证器”互相自由地传输货币。记账系统无需信任“连接器”,因为该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。
ILP整个交易流程分成两个方向的流程:
(1)由发送者向接受者;
(2)由接受者向发送者。
每个流程又会由各自“账本”上的子交易组成,子交易包括托管创建和托管确认。
连接者同时处在发送者链上账本和接收者链上账本上,它与发送者通过发送者所在的链上账本进行交易,与接收者通过接收者链上账本进行交易。从发送者到接收者方向,会在所有账本上创建“托管”交易,“托管”交易在未被确认完成时,其交易内指定的资产转移不会真正发生。只有当接收者对“托管”交易确认完成后,从接收者向发送者方向上的各个“托管”交易才会被确认,此时所有账本上的“托管”交易才会被确认,各个“托管”交易内指定的资产才会真正转移。
而对于在企业业务场景中,应用广泛的区块链联盟链平台——Hyperledger Fabric引入了通道的概念,它支持多通道并行运行,其中每个通道有一个独立的区块链账本,多个通道之间链结构相同,相互隔离,我们可以通过分布式事务技术,实现多条通道之间账本的协同和一致性。利用类似Hyperledger Fabric系统的水平扩容方案,将一个主链分成若干个同构的子链。每一条子链的性能都是类似的。用户的业务可以承载在其中一条链上,通过跨链技术完成多业务之间的交互。系统的交易可以在多个子链上并行处理,达到了水平扩容的效果,从而使区块链系统的整体性能得到十倍甚至是百倍的提升。

