目前区块链底层技术层出不穷,而不同的业务、不同的技术底层的区块链之间,缺乏统一互联互通的机制,这自然就限制了区块链技术和应用生态的健康发展,跨链的需求也就由此而来,2019年可以是跨链之年,在第五届区块链全球峰会上,跨链的气势不亚于当年公链之战。那么,什么是跨链技术呢?下面币小哥就通俗讲解跨链技术是什么?
通俗讲解什么是跨链技术
官方定义的跨链技术是指:“在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。不论对于公有链还是私有链来看,跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。”
从字面上理解,就是两条相互独立的区块链,本来只能在各自链上进行转账和通信,通过跨链技术,可以实现两条区块链之间的互通。
其实这当中所涉及的技术还是蛮复杂的,需要一步一步来,把数据、一条链一条链分开,分开之后再解决数据之间跨链交互的问题,也就是说要给主链去做一个存在性证明。我们试着用换汇来理解,人民币是一个独立的货币,美元是另一个独立的货币。人民币无法直接变成美元,美元也无法直接变成人民币。因此,美元无法直接进入人民币账本,人民币也无法直接进入美元账本。需要有人愿意买入人民币/美元,卖出美元/人民币,才能完成货币的兑换,实现价值的跨账本流动。
举个栗子:
Amy有100美元,她来到了中国,需要使用人民币进行交易。于是她必须找到愿意和她兑换外币的人,例如Bob,Amy将100美元卖给Bob,Bob收到了Amy给他的100美元,按照当下的汇率,给了Amy710人民币。整个兑换过程中,在两个账本上同时发生了转账交易。在整个兑换的过程中,人民币账本上的人民币总数没有变化,仍是710元;美元账本上的美元总数也没有变化,仍是100美元。变化的是两个账本上货币的持有人。所以说跨链本质上和货币兑换是一样的。跨链并没有改变每个区块链上的价值总额,只是不同的持有人之间进行了一个兑换而已。
综上,跨链技术的核心要素之一是:帮助一条链上的用户Amy找到另一条链上的愿意进行兑换的用户Bob。
跨链技术的应用:
一、公证人模式
链与链之间互操作最简单的方法是使用公证人模式。在公证人模式中,使用受信任的一个或者一组团体向链X声明链Y上发生了某事件,或者确定该声明是正确的。这些团体既可以自动地监听和响应事件,也可以在被请求的时候进行监听和响应事件。
公证人模式在许可分账领域受到很多关注,因为其既可以提供灵活共识的主要竞争者,也无需进行昂贵的工作证明或关于利益机制的复杂证明。
公证人模式的代表项目有Corda。
1. Corda
Corda是R3联盟推出的金融联盟“类区块链”技术架构。Corda中同样是用交易组成账本,但并没有区块,这个和传统区块链结构相比有很大不同。交易仅在参与方和公证人间传播。公证人是交易双方共同选择出来的,具有高度可信的特征。公证人负责验证数据的有效性和数据的唯一性。
由于Corda选择了最高安全性的公证人模式,因此在跨账本消息处理上,变得较为简单:仅需选取不同账本的交叉公证人或者强行指向同一个公证人且让其对账本进行同步即可安全的验证跨账本消息。
二、中继/侧链模式
如果一个链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所示。
图1 中继/侧链模式资产转移流程
图2 中继/侧链模式下事件的发送和接收接口
图2中代码需要在使用中继/侧链模式的两条链上同时存在,但同时需要两条链上的币或物是可以无限量发行的,这样才可以保证验证过程没有错误,从而来达到资产转移操作。
中继/侧链模式的代表项目有BTC-Relay、RootStock、Polkadot、Cosmos等。
三、哈希锁定模式
哈希锁定模式的设计是希望链A与链B之间尽可能少的了解彼此,并作为消除公证人信任的手段,该模式的基本流程如下图7所示。
图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、闪电网络等。
通过以上介绍,相信大家对于跨链技术是什么有所了解,若说跨链的用途仅仅是资产的互通,或许有些狭隘,更重要的应该是生态、逻辑的互通,这样的好处在于,每条公链都可以在不流失社区用户的前提下,为通证创造更丰富的应用场景,同时也方便了用户间的资产转换。