一种跨链网关交互系统和方法以及供应链数据管理方法与流程

文档序号:21602764发布日期:2020-07-24 16:56阅读:222来源:国知局
一种跨链网关交互系统和方法以及供应链数据管理方法与流程

本发明涉及区块链跨链技术以及供应链数据管理领域,特别涉及一种跨链网关交互系统和方法以及供应链数据管理方法。



背景技术:

供应链是由供应商、制造商、分销商、零售商和最终用户形成一个整体的功能网络,通过对信息流、物流和资金流的控制来实现多个组织之间的合作。当前的供应链高度依赖中心化的、独立的信息管理系统。因此,供应链的各个实体需要对存储在单个组织中敏感的、有价值的信息高度信任。而现代的供应链网络又是由多层级的、地理上杂乱的实体协作为消费者服务。全球化、不同的监管政策、供应链网络中不同的文化和人类行为,使得在这个复杂的网络中评估信息和管理风险几乎不可能。此外,单点故障是集中化信息系统的另一个缺点,它使整个系统容易受到错误、黑客攻击、腐败。

在生产、运输过程中为了使得参与者信任产品的质量,当前的供应链又非常依赖物联网技术实现实时的监控。集中式访问控制系统是为满足传统的面向人机的物联网场景而设计的。设备位于相同的信任域中,这通常需要集中的访问管理。然而,与传统场景相比,一些物联网场景比传统场景更具动态性,物联网设备是移动的,在其生命周期中属于不同的管理社区。另一方面,物联网设备可以由多个管理者同时管理。物联网应用场景的不同,形成了稳定的和移动的两种物联网网络拓扑结构。智能家居应用通常是稳定的网络拓扑结构,而供应链应用是移动的网络拓扑结构。

近年来,随着区块链技术的快速发展,区块链具有不可篡改、可追溯、分布式共享的特性被认为能够解决上述供应链数据管理问题。此外,区块链支持可编程,通过在区块链上部署智能合约使得业务自动执行。然而,区块链在系统架构上面临安全性、分散性、扩展性三难问题。当前的区块链系统牺牲了扩展性,使得其交易的吞吐量低,普遍不能满足实际的业务需求。因此,为了提高交易的吞吐量,另一种dag结构的区块链技术被提出和实现,这种区块链结构具有可扩展性。由于获取交易的全局时间戳很难,这类型的区块链系统不支持可编程,在其上不能构建复杂的应用逻辑。

区块链作为一门新兴的技术,跨链一直是区块链领域一个重要的话题。跨链方法为区块链提供了链外通道的能力,提高了区块链的扩展性。通过跨链技术来集成多个不同的区块链平台,使得多个区块链平台协作完成实际业务。在应用中,将不同场景的业务部署在相应的专有区块链平台中,利用跨链技术实现跨场景交互。



技术实现要素:

鉴于此,针对供应链的数据管理和区块链扩展性问题,本发明的目的是提出一种跨链网关交互系统和方法以及供应链数据管理方法。

为实现上述目的,本发明采用的技术方案如下:

一种跨链网关交互系统,包括数据层、扩展层和控制层,其中,

(1)数据层采用iota的tangle网络,用于存储感知层从周边环境检测到的数据;

(2)控制层采用fabric区块链网络,用于接收应用层的调用,通过智能合约执行访问控制和智能计算,最后将计算结果上链并将计算结果返回给应用层;

(3)扩展层,采用跨链网关,用于将fabric区块链网络的请求路由到iota的tangle网络,以及将iota的tangle网络中的请求路由到fabric区块链网络;

本发明进一步的改进在于,iota的tangle网络和fabric区块链网络通过跨链网关进行连接,每一个跨链网关连接一个iota的tangle网络的全节点,也连接fabric区块链网络的peer节点。

本发明进一步的改进在于,当fabric区块链网络账本的状态改变,且改变内容是对iota网络账本状态的改变时,跨链网关做出相应的路由;在tangle端改变账本状态后,将结果路由回fabric端。

本发明进一步的改进在于,fabric区块链网络中节点为背书节点。

一种跨链网关交互方法,包括以下步骤:

s1:源链提交一笔跨链交易,并在交易中设置路由的目标链,源链对应的区块链平台执行完跨链交易后生成区块链事件,将有跨链标识和路由方向的区块链事件称为跨链事件;

s2:扩展层的跨链网关中的节点监听源链抛出的跨链事件,当跨链网关中的节点收到跨链事件之后,跨链网关中的节点将跨链事件以源链与目标链的组合作为主题放到订阅消息队列中;

s3:扩展层跨链网关节点以源链与目标链的组合作为主题订阅消息队列中的跨链事件,解析跨链事件,获取产生跨链事件的交易id,使用交易id进行共识;

s4:跨链网关随机挑选一个跨链网关中的节点从源链取到跨链交易内容,解析跨链交易内容并转换为目标链的交易格式,将转换后的交易标识为跨链,设置路由的目标链,并将交易提交到目标链;

s5,目标链确认交易后产生跨链交易事件,触发目标链到源链的跨链流程。

本发明进一步的改进在于,步骤s1中,如果是fabric区块链网络首先发起跨链交易,对tangle网络中的数据进行读取,则fabric区块链网络为源链,tangle网络为目标链;如果是tangle网络首先发起跨链交易,向fabric区块链网络主动传递相关信息,则tangle网络为源链,fabric区块链网络为目标链。

本发明进一步的改进在于,步骤s3中,共识方式为收到三分之二的跨链网关中的节点收到相同的跨链事件;

基于上述跨链网关交互方法的供应链数据管理方法,包括如下步骤:

步骤s1:供应链管理应用中的卖方将一件产品运输给买方,卖方通过应用层调用控制层fabric智能合约提供的接口来生成物流订单,同时将该物流订单的状态变为已请求,并委托物流公司来运输产品;

步骤s2:物流公司收到卖方委托后,将该产品做装箱准备,物流公司在箱子中安装温度传感器,物流公司通过应用层调用控制层fabric智能合约提供的接口来设置物流订单为准备运输,同时触发扩展层的跨链网关向数据层的iota的tangle网络发送创建mam通道的跨链交易;

步骤s3:数据层的iota的tangle网络完成跨链交易后触发扩展层的跨链网关向控制层的fabric区块链网络发送保存mam通道的秘钥和地址的跨链交易,同时将物流订单状态设置为运输中;物流订单状态为运输中时,感知层的温度传感器定时监测周围环境的温度,并利用mam通道加密数据存储到数据层的tangle网络中;

步骤s4:当产品运输到买方处时,买方进行物流签收;物流公司通过应用层调用控制层fabric智能合约提供的接口来设置物流订单状态为等待签收,同时触发扩展层的跨链网关向数据层的iota的tangle网络发送堵塞mam通道和获取mam通道数据的跨链交易;

步骤s5:数据层的iota的tangle网络完成跨链交易后触发扩展层的跨链网关向控制层的fabric区块链网络发送物联网数据并执行数据计算的跨链交易,智能合约完成计算后,如果满足买方的条件则物流订单状态更新为签收,否则为拒绝,最后将结果返回给应用层。

与现有技术相比,本发明具有的有益效果:本发明的多层区块链架构中,跨链网关中间件是区块链连接的核心。区块链跨链技术可以分为中继链、哈希锁和公证人模式。公证人模式是当源链上发生一些事件,一方或者多方同意在目标链执行该动作。基于公证人模式的跨链方案可以支持异构的区块链平台。本发明基于公证人机制设计了一个区块链跨链网关,提高了跨链系统的适用性和可用性。

本发明中采用区块链来进行供应链数据管理,具体的使用联盟区块链hyperledgerfabric来构建供应链数据管理业务逻辑,使用iota来对供应链数据进行存储。联盟区块链具有权限管理的功能,使得只有联盟成员能在该网络中提交交易,限制了非法用户对于网络的访问;此外,联盟区块链提供了私有数据集功能,私有数据集限定了数据共享的范围,为供应链数据管理中的数据提供了隐私保护。供应链管理中涉及的物联网设备的数量多,设备产生的数据量大的特点,使用dag结构的iota来存储物联网设备产生的数据。此外,iota提供了mam通道技术,该技术为存储的物联网数据提供了隐私保护。与传统的供应链数据管理相比,基于区块链的供应链数据管理具有可追溯、分布式共享、不可篡改的特性,能够很好的解决供应链数据管理中单个实体的信任和数据的共享。

为了使得现有区块链具有可扩展性本发明提出了跨链技术。该技术允许从源链发起跨链交互,由跨链中间件负责将该跨链交易在目标链执行,并将执行结果在源链提交完成跨链流程。跨链技术能够将多个区块链平台整合成一个整体,不仅仅提高了系统的扩展性,也为区块链跨场景交互提供了解决方案。在未来,跨链技术将作为一个区块链网络的链接器,链接更多的区块链生态,把区块链生态孤岛变成真正意义的区块链世界网络,极大促进区块链的发展。

本发明去除了供应链网络中的参与方之间的信任,使得数据以分布式的方式进行共享;采用跨链网关来连接不同的区块链平台,使得区块链具有了可扩展的功能。将区块链和物联网技术结合在一起,建立一个多层的区块链基础架构,使得不同的区块链平台为供应链的不同场景提供支持。本发明不仅对供应链的物流场景使用,使得参与方可以实时监测产品状态,而且,适用于智能家居和医疗场景,使得智能、可信的社会成为可能。

附图说明

图1为本发明中的基于区块链跨连网关的多层区块链体系结构示意图。

图2为本发明中的区块链跨链网关交易方法的流程图。

图3为本发明中的基于区块链跨连网关的供应链数据管理场景示意图。

图4为本发明中的物流状态变化示意图。

具体实施方式

以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明的构思在于两点:一部分是基于区块链跨链网关的多层区块链架构,该跨链网关将fabric区块链网络和iota的tangle网络连接起来;另一部分为基于区块链跨链网关的多层区块链架构构建了供应链数据管理。

参见图1,基于区块链跨链网关的供应链数据管理系统包括感知层、数据层、扩展层、控制层和应用层,具体如下:

(1)感知层是由物联网设备和物联网代理服务器组成,物联网代理服务器与物联网设备相连,为了获取物联网设备从周边环境检测到的数据。

(2)数据层使用了iota的tangle网络,将物联网数据(即从周边环境检测到的数据)存储到iota的tangle网络中,iota的tangle网络上提供了一个mam通道工具,使得数据在iota的tangle网络中加密存储,实现了物联网数据的隐私保护。

(3)扩展层是区块链跨链网关中间件,该跨链网关负责连接不同的区块链平台,并对区块链间的跨链交易进行可靠的转发。即扩展层既可用于将fabric区块链网络的请求路由到tangle网络,也可用于将iota的tangle网络中的请求路由到fabric区块链网络;

(4)控制层使用了fabric区块链网络,fabric区块链网络接收应用层的调用,通过智能合约执行访问控制和智能计算,最后将计算结果上链并将计算结果返回给应用层;该区块链网络具有隐私保护、权限控制、智能合约等特性,满足了企业业务的需求。

(5)应用层是由多链架构的应用生态组成,可以基于此多链架构实现医疗、智能家居、供应链等场景的业务需求。

本发明的多层区块链架构中,跨链网关中间件是区块链连接的核心。区块链跨链技术可以分为中继链、哈希锁和公证人模式。公证人模式是当源链上发生一些事件,一方或者多方同意在目标链执行该动作。基于公证人模式的跨链方案可以支持异构的区块链平台。本发明基于公证人机制设计了一个区块链跨链网关,提高了跨链系统的适用性和可用性。

该多层区块链中的tangle网络和fabric区块链网络通过跨链网关进行连接。每一个跨链网关既要连接一个tangle网络的全节点,又要连接fabric区块链网络的peer点,保证了跨链网关中的节点同时拥有两个账本的状态。当fabric区块链网络账本的状态改变,改变内容是对iota网络账本状态的改变时,跨链网关可以做出相应的路由。在tangle端改变账本状态后,将结果路由回fabric端。fabric区块链网络中节点分为提交节点、背书节点和排序节点。排序节点只对交易进行排序,提交节点接受排序节点生成的交易区块,只有背书节点才有权写账本。在跨链过程中,跨链网关需要对两个账本拥有写权限,因此跨链网关连接的fabric节点是背书节点。

当区块链平台提交一笔跨链交易时,控制层、扩展层和数据层的跨链交互方法参见图2,具体包括如下步骤:

步骤s1:源链提交了一笔跨链交易,并在交易中设置路由的目标链,区块链平台执行完该交易后会生成区块链事件,将区块链生成的有跨链标识和路由方向的区块链事件称为跨链事件。如果是fabric区块链网络首先发起跨链交易以便对tangle网络中的数据进行读取,则fabric区块链网络为源链,tangle网络为目标链;相反,如果是tangle网络首先发起跨链交易以便向fabric区块链网络主动传递相关信息,则tangle网络为源链,fabric区块链网络为目标链。

步骤s2:扩展层跨链网关中的节点监听源链抛出的跨链事件,当跨链网关中的节点收到跨链事件之后,跨链网关中的节点将该事件以源链与目标链的组合作为主题放到订阅消息队列中。

步骤s3:扩展层的跨链网关中的节点以源链与目标链的组合作为主题订阅消息队列中的跨链事件,解析跨链事件,获取产生跨链事件的交易id,使用交易id进行共识,共识方式为收到三分之二的跨链网关中的节点收到相同的跨链事件。

步骤s4:在步骤s3共识完成之后,跨链网关随机挑选一个跨链网关中的节点从源链取到跨链交易内容,解析跨链交易内容并转换为目标链的交易格式,将转换后的交易标识为跨链,设置路由的目标链,并将该交易提交到目标链。

步骤s5:目标链确认交易后产生跨链交易事件,触发目标链到源链的跨链流程,该跨链流程为步骤s1、s2、s3、s4顺序执行。

此外,目标链和源链是为了表述方便进行的抽象,上述步骤中的源链和目标链视为控制层的hyperledgerfabric区块链网络和数据层的tangle网络。

本发明基于区块链跨链网关的多层区块链架构构建了供应链数据管理,主要关注的是供应链管理中的多方参与的物流场景,图3为该场景的示意图:在该场景中,将供应链中的供应商、经销商、零售商、物流、终端用户等角色抽象为买方、卖方、物流,使用hyperledgerfabric区块链平台形成了许可型供应链网络,温度传感器获取到的数据利用tangle网络提供的mam通道工具加密存储在tangle网络中,在tangle网络中创建mam通道时需要提供加密秘钥,并生成通道地址,在访问mam通道时需要提供秘钥和通道地址。图4展示了围绕物流状态变化的完整物流场景。

对于多方参与的物流场景,本发明的基于区块链跨连网关的供应链数据管理方法的步骤如下:

步骤s1:供应链管理应用中的卖方需要将一件产品运输给买方,卖方通过应用层调用控制层fabric智能合约提供的接口来生成物流订单,同时将该物流订单的状态变为已请求,并委托物流公司来运输产品。

步骤s2:物流公司收到卖方委托后,需要将该产品做装箱准备。由于买方的产品对温度有要求,物流公司在运输过程中需要保证产品质量,且能够让买方、卖方实时监控。因此,物流公司在箱子中安装了温度传感器。物流公司为了将这些数据上链,物流公司通过应用层调用控制层fabric智能合约提供的接口来设置物流订单为准备运输,同时触发扩展层的跨链网关向数据层iota发送创建mam通道的跨链交易。

步骤s3:数据层iota完成跨链交易后触发扩展层的跨链网关向控制层fabric发送保存mam通道的秘钥和地址的跨链交易,同时将物流订单状态设置为运输中。物流订单状态为运输中时,感知层的温度传感器定时监测周围环境的温度,并利用mam通道加密数据存储到数据层tangle网络中。

步骤s4:当产品运输到买方处时,需要买方进行物流签收。买方在签收时设置了一些条件,比如温度高于阈值拒绝签收,此时系统需要通过跨链获取到mam通道中的物联网数据。物流公司通过应用层调用控制层fabric智能合约提供的接口来设置物流订单状态为等待签收,同时触发扩展层的跨链网关向数据层iota发送堵塞mam通道和获取mam通道数据的跨链交易。

步骤s5:数据层iota完成跨链交易后触发扩展层的跨链网关向控制层fabric发送物联网数据并执行数据计算的跨链交易,智能合约完成计算后,如果满足买方的条件则物流订单状态更新为签收,否则为拒绝,最后将结果返回给应用层。

本发明解决了供应链数据管理中的实体信任和数据共享问题。为了解决供应链的数据管理,本发明采用了区块链技术。具体的使用联盟区块链hyperledgerfabric来构建供应链数据管理业务逻辑,使用iota来对供应链数据进行存储。利用不同区块链所具有的的特性,将供应链管理中的不同业务场景放在不同的区块链平台上,使得供应链和区块链的结合具有灵活性。本发明解决了区块链网络的扩展性和数据孤岛的问题。为了解决区块链网络的扩展性和数据孤岛,本发明设计了一个区块链跨链网关来使得多个区块链网络连接起来,增加了系统的扩展性。

可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1