栏目分类
你的位置:北京航江龙谱科贸有限公司 > 产品介绍 >
跨链网关在跨链体系中,是一个对接详细范例区块链以及转发跨链音讯的首要形成部份。它首要供应了应用链适配、跨链买卖监听、跨链买卖执行、跨链买卖路由等焦点功用。本文首要从跨链网关的架构、跨链买卖流程以及应用链和跨链网关解耦要领等方面介绍跨链网关的策画理念。
1、总体架构
跨链网关的总体架构以下图所示:
推敲到差别场景下的跨链需要,跨链网关可以或许灵巧支持两种跨链情势。一种是中继情势,也就是经由过程中继链来举行跨链操作,相比得当较多区块链举行跨链互操作的场景。另外一种是直连情势,兴许间接跟尾到别的跨链网关,举行跨链买卖的通报,相比得当链对链的小型跨链体系。为了支持差别跨链情势之间的切换,跨链网关给与了以下分层的策画。
第一层是应用链层:该层担当和应用链及其智能合约举行交互逻辑,为基层的交互供应统一的交互接口。因为区块链的架构因链而异,为了让应用链适配和跨链网关兴许解耦,达到便捷接入的结果,我们给与了插件机制。
第二层是交互层:这一层包孕了怎么样提交IBTP包以及怎么样监听应用链上的跨链买卖等详细逻辑。交互层处于跨链网关中的底层,蕴含执行模块和监听模块。交互层向基层模块屏障了跨链买卖从应用链取得和提交的细节,供应了更精简的交互接口。
第三层是中继层:该层作为跨链网关中音讯流转的直达调理层,从应用链下去的跨链音讯和从别的区块链领受的跨链音讯都统一经由过程该层举行响应的处理惩罚和路由。中继层首要兴许屏障差别跨链情势下的宏壮性,统一调用底层的模块。
2、跨链买卖处理惩罚流程
在一个典范的跨链买卖流程中,在应用链A上的用户发起了一笔发送到应用链B的跨链买卖,应用链B上执行实现后前去回执到应用链A。下列根据全副流程的按次详细介绍跨链网关在全副流程中的处理惩罚细节。
监听买卖
跨链买卖由用户发起,调用陈列在应用链A上的跨链合约。跨链合约在收到跨链买卖的哀告后,抛出一个特定名目标跨链事宜。由响应的应用链插件轮询或许订阅该跨链事宜,并采集应用链A上关于该跨链事宜的Proof信息(比喻在Fabric中的背书信息),随IBTP包一起发送到跨链网关的监听模块上。
监听模块关于跨链买卖做根抵的查抄操作(比喻跨链买卖序号的查抄),查抄经由过程的跨链买卖材干提交到散发模块。假定跨链买卖有成就,执行响应的的回滚操作。
散发买卖
收到监听模块提交的跨链买卖后,因为跨链网关支持差别的跨链情势,所以散发模块需要统筹担当跨链买卖详细的通报工具。
在中继情势下,散发模块将跨链买卖经由过程间接和中继链的代理模块发送跨链买卖。在直连情势下,可以或许经由过程P2P网络跟尾到别的应用链的跨链网关(在示例流程中,应用链B的跨链网关)并发送响应的跨链买卖。
同步买卖
差别跨链情势下,同步买卖的要领也差别。
在中继链情势下,跨链买卖染指共识,并且打包进区块中。所以同步买卖岁月,需要中继链轻节点模块接续同步更新区块头信息。同步模块则是同步中继链区块中和本人跨链网关相干的全体跨链买卖(应用链B的跨链网关同步和B相干的跨链买卖)。关于中继链同步的买卖,还需要共同轻节点对跨链买卖举行SPV验证,确保跨链买卖的有用性。
在直连情势下,跨链网关经由过程P2P网络领受跨链买卖(应用链B的跨链网关领受应用A的跨链网关发送已往的跨链买卖)。
查抄买卖
关于同步自另外链的跨链买卖,都需要经由过程查抄模块的查抄材干交给散发模块举行下一步的处理惩罚。查抄的逻辑和跨链的情势相干。
在中继情势下,跨链买卖已经经由过程了中继链的验证引擎,并且染指过中继链的共识,所以查抄模块只需要验证跨链买卖确凿来自于中继链即可。而在中继链上,产品介绍关于经由过程共识的跨链买卖,中继链节点会对其举行签名。查抄模块关于附带的签名举行验证即可验证跨链买卖的有用性。
在直连情势下,跨链买卖是经由过程P2P网络取得的跨链买卖,所以相比中继情势,查抄模块需要承担更多的验证事变。首要需要查抄的有应用链的注册查抄,验证引擎的验证查抄等。假定应用链需要定制化跨链买卖的验证划定端方,后续可以或许经由过程更新验证划定端方的要领更为静态的举行。
执行买卖
来自中继链或许别的跨链网关的跨链买卖,经由过程查抄模块的查抄后,就能提交到执行模块。执行模块间接和应用链插件对接,在调用跨链合约从前,需要查抄序号以预防重放袭击。
提交买卖当前,执行模块需要等待应用链上执行的终局,并将终局经由过程跨链回执的要领前去给散发模块,跨链回执的通报流程和跨链买卖近似。执行模块要担保跨链买卖提交到了应用链上,并且需要返反响应的回执信息。
3、插件机制
关于跨链场景来说,一个相比毒手的成就是差别架构的区块链的接入适配。为了简化差别区块链的适配成就,我们在跨链网关中给与了插件机制。跨链网关首要担当与中继链或许别的跨链网关的交互和通信。而全体详细在应用链长举行操作的部份全副封装到应用链插件中,并根据跨链网关和应用链交互的需要肯定了一套得当跨链交互的插件接口。
这样关于跨链网关来说,对接任何新的范例的应用链的岁月,都不需要编削本人,而是痛处肯定的接口开发一个新的应用链插件即可。
插件需要供应的接口首要分为下列四个首要部份:
1.提交买卖接口
跨链网关提交IBTP包的接口。跨链网关和应用链插件交互的根抵是IBTP:跨链网关向插件提交的IBTP包,失去的回执信息也是IBTP包。这样插件向跨链网关屏障了差别区块链买卖组织不一致的宏壮性,简化了跨链网关的策画。
应用链插件担当剖析IBTP包,并转换为适配应用链提交买卖的组织。同时也要关于失去的执行终局举行封装,同时从应用链取得关于改跨链买卖的Proof信息。
2.查询跨链买卖元信息接口
IBTP和谈层面,和谈兴许感知的最小粒度是应用链。和谈只能让跨链买卖转发到IBTP包中目标链ID所对应的跨链网关。关于更细粒度的链上合约和用户账号地点等,在应用层中对IBTP的payload字段中自行剖析和定义业务组织。
所以跨链合约需要记载的是本人应用链与别的链的最新买卖序号信息(即为跨链买卖的元信息),并且在执行跨链买卖时更新这些元信息。因为这些元信息关于跨链网关重启光复来说至关首要,所以插件需要供应一个兴许查询这些元信息的接口。
3.查询历史买卖信息
关于应用链抛出的跨链事宜,兴许会因为网络觳觫或许跨链网关宕机等不成控启事,导致部份跨链事宜没有及时收到。这类环境下,插件需要供应查询脱漏的跨链事宜的接口,用于跨链网关光复跨链网关处理惩罚跨链事宜的按次。
4.查询应用链根抵信息
跨链网关关于应用应用链插件是无感知的,所以假定假定跨链网关需要取得应用链的根抵信息(如应用链范例,共识算法范例,应用链名称等)时,需要向应用链插件查询。
餍足上面四个哀告的插件兴许餍足跨链网关采集转发跨链买卖的需要,同时兴许充分化耦跨链网关关于底层应用链的寄托,让适配新范例的区块链变得更为便捷和俭朴。
本文作者:徐才巢,趣链科技跨链名目担当人