编者按:2019年9月5日,全球最大的专业技能组织、有着130余年汗青的IEEE(电气和电子工程师学会)设立IEEE计较机协会和漫衍式记账委员会(IEEE Computer Society Blockchain and Distributed Ledgers Committee,IEEE C/BDL),旨在敦促区块链与漫衍式记账技能的尺度化及其应用实践。2020年3月,IEEE C/BDL连系海表里的专家创立了相关的技能委员会、参谋委员会和执行委员会。组建委员会之后,IEEE C/BDL向IEEE申请了13项区块链尺度。为更好向外界展示委员会区块链尺度化研究成就,IEEE C/BDL连系巴比特,邀请区块链尺度的牵头单元撰写系列文章。本篇文章作者是百度区块链系统部技能认真人荆博,为我们先容了跨链技能在设计中面对的原子性、有效性和资源寻址的三方面的挑战,并针对寻址协议,立项了IEEE尺度Standard for Blockchain Interoperability – Naming Protocol。
在这个child_chain上有一个利用wasm(webassembly)合约虚拟机才气执行的智能合约,合约名叫counter。顾名思义,这个合约其实是一个简朴的计数器。接着,假设我们此刻正处于另一个区块链网络world_chain上,但愿跨链会见hello_chain网络上的子链child_chain上的名为counter的计数器智能合约,并获取当前的数值。
首先,我们需要一个尺度协议,来为每一个区块链网络上的资源分派一个地点。这个协议可以被称为跨链寻址协议。
为了实现跨链请求,我们已经界说了2个重要内容:
2)更新一个区块链网络,并更新该网络上可用的背书节点。
实现定名协议理会的背书节点
1)注册一个区块链网络,并挂号该网络上可用的背书节点。
2)有效性。验证锚点生意业务的有效性。可以通过SPV证明来实现。
4)当A链需要会见B链的资源时,先按照 通过会见A链的用于跨链的 “区块链互操纵的定名协议”来生成跨链会见解点。再 智能合约,来得到B链的可用背书节点信息。
用于处理惩罚跨链的智能合约
1)各个区块链网络都需要遵守的链名跨链寻址协议。
结论
3)查询一个区块链网络上的可用的背书节点。
在跨链提倡的原链上还需要陈设一个用于查询方针链可用背书节点,并认真向背书节点提倡跨链请求的智能合约。团结该跨链合约,便可以实现对跨链合约所有协议链的统一资源寻址。
这些框架底层协议各不沟通,而且跟着区块链被被纳入新基建的领域,勉励开拓国产自研的底层区块链框架, 如火如荼的区块链底层技能研发越发活泼,由此形成了一个个新的数据孤岛。
那么,hello_chain还需要对外袒暴露一些非凡的全节点,也可以被称作是背书节点,来认真理会定名协议,并处理惩罚来自于其他区块链网络的跨链会见请求,得到功效后附带上签名,并为功效的正确性举办背书。
研究跨链技能尺度的配景
[:][//][//][?]
凭据我们上面所举的例子,hello_chain需要遵循我们在之前界说的跨链寻址协议。
个中,
跨链技能常见的挑战
跨链寻址协议,也可以被更学术的界说为:区块链互操纵的定名协议,英文叫Naming Protocol for Blockchain Interoperability。 该协议可以使得任意一个区块链网络能通过尺度化地点定位所要会见的其他区块链网络的资源。
我们需要先凭据之前界说的跨链寻址协议来生成会见解点,举个例子,我们可以这样写:
跨链(Cross-Chain),简朴来说就是通过必然的技能法子实现相对独立的差异区块链系统之间数据和资产的链接互通。可以将跨链领略为在差异的信息孤岛间搭建起一座座桥梁,使得信息可以或许便捷的活动,为代价互联网奠基基本。常见的跨链办理方案一般是针对资产类,实现差异链之间任意数据的跨链互通难度会更高。我们这些尺度事情组应难而上,试图办理的就是后者。
1)原子性。可以通过哈希时间锁的方案来实现。生意业务互为锚点,任意一方未生效,另一方可以实时回滚。
首先,我们假定有一个区块链网络名字叫hello_chain,完全遵循我们在之前界说的它利用名为Xuper的底层框架搭建,这个网络下面跨链寻址协议。
所有的区块链网络都可以利用这个协议来为本身区块链网络上的资源来生成一个地点。
xuper://hello_chain/child_chain? module=wasm&contract_name=counter&method_name=getNumber
无论这些孤岛是基于沟通的底层系统照旧差异的底层系统,其数据互通都很是坚苦,因此,急切需要一个办理方案可以或许系统地办理多链数据融合的问题,从而实现差异链之间的代价互通。
因此,海内几个主要的区块链技能公司在电子尺度院的协助下,组织起人马,创立了多个尺度事情组,针对跨链技能展开了深入研究,并提出了一系列的尺度草案。
跨链技能方案在设计中往往会碰着一些挑战。举几个例子:
xuper: Xuper hello_chain: hello_chain child_chain: xuper//child_chain module=wasm: wasm contract_name=counter: counter method_name=getNumbergetNumber
5)A链将需要跨链会见的资源地点发送给B链的背书节点,并得到返回值。
1)A链和B链需要遵守并支持“区块链互操纵的定名协议”。
办理思路
但这些照旧是不足的。
我们来继承举个例子来说明这一点:
什么是跨链技能
针对第三项跨链寻址协议,我们立项了IEEE尺度Standard for Blockchain Interoperability – Naming Protocol。 本篇文章,会对该尺度举办一个先容。
譬喻,我们可以界说一个这样的协议:
区块链互操纵的定名协议
2)在方针链上存在的实现定名协议理会的背书节点。
该智能合约应该实现以下成果:
3)资源寻址。如何快速跨链定位并获取到相关的资源。这就需要设计一套完整的寻址协议。
假设原链是A链,方针链是B链,为了实现A链到B链的跨链,需要经验以下步调:
会见者可以自由选择他们信任的背书节点,甚至可以选择为此付出必然的手续费来对厚道的背书节点举办经济鼓励。
跨链涉及到差异链的资源的互操纵,可是由于差异链的协议各不沟通,对差异链的资源举办统必然义描写是很很是坚苦的。
2)B链需要开放一些背书节点,用于处理惩罚来历于其它区块链网络的跨链请求。
有一条子链/侧链/平行链叫child_chain。
3)A链实现并陈设用于跨链的智能合约。
该合约提供了2个要领,1个叫increase,1个叫getNumber。挪用increase要领,会使得每次将数值加1。而挪用getNumber要领,,会返回当前的数值。
连年来,跟着区块链行业的发达成长,各家科技公司都在成长本身的区块链业务。由于区块链行业还处于早期成长阶段,各大公司都试图主导行业尺度,因此发生了许多的区块链框架,譬喻在海外有IBM主导的Fabric,Intel主导的Sawtooth,Facebook主导的Libra,海内有百度主导的XuperChain等。
本文链接:https://www.8btc.com/article/606347
个中,IEEE尺度Standard for Blockchain Interoperability – Naming Protocol 已经立项,我作为该尺度事情组主席,将针对该尺度举办一些先容,但愿对各人有所辅佐。
也就是说说,其他的区块链网络假如要会见hello_chain上的资源,就必需通过hello_chain网络上对外提供信任背书处事的全节点来举办会见。这些节点会用本身的信用来为功效背书,所以叫做背书节点。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。