在现实世界中,我们的资金可以跨行流通,比如存在工商银行的资金可以转入农业银行的卡里,不会由于所属银行的不同而受到交易限制。但在
区块链的世界中,每个币种都以自身的
区块链网络为依托独立运转,不同
区块链之间的关系就像两条平行线,不会产生任何交集。因此无法实现多个
区块链协同工作,限制了
区块链的功能。
同时,据CoinMarketCap的最新数据(2020年2月)可知,当前市面上流通的虚拟币种类超过5000种,并且仍在不断增加。种类越多,人们对于不同
区块链之间的资产
互换需求越大,
跨链技术应运而生。简单来说,
跨链技术就是采用一定的方式,将不同的
区块链连接起来,实现不同
区块链之间的资产
互换。主流的跨
链机制有公证人机制、
哈希锁定和
侧链/
中继。
公证人机制
公证人机制是在两个
区块链之间引入第三方,由第三方来进行
交易确认、充当
区块链之间连接者、并将交易信息同步给两个进行交易的
区块链。
加密货币交易所提供的
币币交易服务,就是一种公证人机制。
除此之外,还有一些协议能起到公证人的作用,其中Interledger协议就是最成熟的一个。Interledger协议类似淘宝交易中支付宝的角色,它依靠
加密算法运行。交易双方的资金由协议来托管,只有当交易双方达成
共识后,托管的资金才会按照要求打入双方账户。假如Tom有1个BTC,Jack有20个ETH。双方可以将各自的资金转入Interledger协议,由协议进行托管。双方达成
共识后,协议会将20个ETH转入Tom账户,再将1个BTC转入Jack账户,从而实现资产交换。这种利用协议实现的跨
链交易,是
跨链技术中最简单的一种。
哈希锁定
哈希锁定的原理是交易发起人将资金用一个
随机数锁定,将用
随机数计算出的
哈希值公布出去。如果有人能够在特定时间内,提供一个可以计算出该
哈希值的
随机数,就可以拿走锁定的资金。若交易超时,没有人能提供有效的
随机数,资金会返还至交易发起人账户。
比特币的
闪电网络使用的就是
哈希锁定技术。我们通过一个简单例子来理解:
假如Tom想用自己的1个 BTC,交换Jack手中的20个ETH,过程如下:
1. Tom选取一个随机数S,并通过
哈希计算
Hash(S)= H 得出
哈希值H,并将其发送至Jack的
合约。Tom将自己1个BTC锁定1天,规定谁在1天内能够提供一个
随机数,满足
随机数能通过
哈希计算得出H的条件,谁就可以获得这1个BTC;
2. Jack得知Tom锁定了1个BTC后,也去锁定了自己的20个ETH,同样规定谁能提供随机数S,就可以获得这20个ETH;
3. Tom使用随机数S获得了Jack的20个ETH;
4. Jack在Tom获取ETH的过程中,得知了随机数S,于是用S获得了Tom锁定的1个BTC。
侧链/中继
侧链可以通过提取主
链中
区块头的信息,对主
链上的数据进行解析
验证。
侧链还具有双向锚定的功能,币种在主
链被锁定后,
侧链会释放出等价值的资产,反之亦然。这里依然用Tom和Jack的例子来看其运行原理:
1.Tom和Jack决定使用BTCSwap合约进行交易。Jack首先通过BTCSwap合约将20个ETH锁定;
2.Tom得知Jack锁定好ETH后,将1个BTC转入Jack的BTC地址。同时运用交易信息和BTCSwap合约
地址,触发
合约;
3.
合约被触发后,
验证了Tom转给Jack这一交易,将锁定的20ETH转入Tom账户。
中继链则是通过让两个
区块链查询对方
区块头的信息来确定交易情况,从而完成跨
链交易。假设Tom在BTC的
区块链冻结了1个BTC,
中继链会将这一操作生成证明并发送给ETH的
区块。ETH的
区块则根据BTC区块
链里的
区块头信息对
中继链发送过来的证明进行
验证。
验证通过后,会在ETH区块生成等值1个BTC的资产。
总结
跨链技术目前还处于摸索阶段,并没有获得广泛的应用。但是单一的
区块链之间互相连接,形成网络效应,才能产生更大的效力。未来
跨链技术除了可以实现资产
互换之外,还可以开发出更多的金融功能。因此
跨链技术是
区块链发展的一大趋势。