周少丹
(南方电网物资有限公司,广东广州 510000)
供应链管理系统可以对供应链数据进行全过程管理。但是,由于其是集中式结构,管理员可篡改数据,通常会导致信任问题。此外,集中式系统容易出现单点故障,受到内部攻击等。
近年来,随着区块链技术的迅猛发展,利用区块链技术进行电力物资供应链管理逐渐成为研究热点[1]。区块链技术具有分布式共享、非篡改、数据可追溯的特点,可以解决集中式电力物资供应链管理系统中的可信和单点故障问题。但是,在电力物资供应链场景中,供应链中的参与者或设备可以部署到不同的区块链平台,每个区块链平台都是由一个封闭的网络构成的,各个区块链之间没有互操作性,形成了许多价值孤岛。区块链跨链技术是实现链间互联互通、信息共享和价值转移的重要技术手段[2]。针对电力物资跨链供应问题,本文提出了跨链体系架构,并设计了基于跨链网关的跨链处理流程,以及跨链数据管理策略,最后通过实验验证了本文方法的有效性。
目前主要的跨链技术分为3类:公证人机制、侧链/中继、哈希锁定。在这些技术基础上,Wu等人[3]提出了一个区块链模型,该模型由一组私有链、一个中央公共链和一个中央服务器组成,可为私有链和中央开放链节点之间的交互提供目录服务。为了构建产品可追溯性系统,Ding等人[4]提出了一种基于许可区块链的两层区块链架构,分别使用联盟链和私有链,以解决性能问题。Leng等人[5]为农业供应链管理系统设计了一个由用户信息链和业务链组成的双链模型,以解决隐私保护问题。总的来说,尽管上述方法提高了区块链的可用性,但它们未对电力物资供应链的跨链应用场景进行特定设计与优化,不能直接应用。
本文提出的区块链跨链框架如图1所示。
图1 体系架构图
感知层:感知层由物联网传感器和物联网代理服务器组成。物联网传感器连接到物联网代理服务器。物联网传感器可监电力物资控供应链中产品的温度、位置和其他状态数据。
数据层:数据层使用物联网网络存储物联网数据。Tangle网络提供了一个移动应用管理通道工具,用于加密和存储Tangle网络中的数据,从而提供物联网数据的隐私保护。
扩展层:扩展层是跨链网关的中间件,负责连接不同区块链平台,可靠转发不同区块链之间的跨链交易。也就是说,扩展层不仅可以将请求从Fabric网络路由到Tangle网络,还可以将Tangle网络中的请求路由到Fabric网络。
控制层:控制层使用Fabric网络,为应用层提供服务,并通过智能合约执行访问控制和智能计算。对于数据查询请求,来自数据层的产品收发请求和物流信息将通过跨链网关发送给最终用户;其他请求将直接在Fabric区块链网络上交互,计算结果最终将返回到应用层。由上述特点可知,本文模型具有隐私保护、权限控制、智能合约等特点。
应用层:应用层由跨链架构的应用生态组成,可用于实现供应链、金融、智能家居等不同业务需求。
从图1体系架构图可以看出,跨链网关是连接不同区块链的核心。基于跨链网关的跨链处理主要包括以下4个步骤:
步骤1:源链提交跨链事务,并在事务中设置路由的目标链。交易完成后,区块链平台将生成具有跨链身份和路由方向的跨链事件。
步骤2:在扩展层中,跨链网关节点侦听源链抛出的跨链事件。当收到跨链事件时,跨链网关节点会将该事件放入订阅消息队列中。
步骤3:在扩展层中,跨链网关节点分析跨链事件,获取生成跨链事件的事务ID,并使用该ID达成共识。
步骤4:系统随机选择跨链网关节点,从源链获取跨链交易内容。然后分析跨链交易内容,并将其转换为目标链的交易格式。最后,将转换的事务标识为跨链操作,设置路由的目标链,并将其提交给目标链。
本文关注的是电力物资供应链管理中的多方物流场景,将经销商、零售商、物流和最终用户等业务角色分别抽象为卖家、物流和买家,包括以下步骤:
步骤1:在供应链管理应用程序中,卖方将产品运输给买方。控制层的Fabric智能合约提供接口,卖家使用该接口生成物流订单,并委托物流公司运输产品。
步骤2:物流公司收到卖方授权后,对产品进行包装和运输,并在包装箱中安装产品状态监控传感器,允许买家和卖家实时监控产品状态。物流公司使用控制层的Fabric智能合约接口将数据上传到区块链;同时,触发扩展层的跨链网关,向数据层发送跨链事务,创建移动应用管理通道。
步骤3:数据层完成跨链事务后,触发跨链网关将存储移动应用管理通道密钥和地址的跨链事务发送到控制层。
步骤4:当产品运输到买方处后,系统触发扩展层的跨链网关将跨链事务发送到数据层,以便获取移动应用管理通道中的物联网数据。
步骤5:数据层完成跨链事务后,触发扩展层的跨链网关,将物联网数据的跨链事务发送到控制层。智能合约完成物联网数据计算后,将最终结果返回应用层。
本节对上节提出的跨链体系架构进行实验验证。本文中的区块链节点和其他子系统运行在docker容器中,所有docker容器都运行在一台Linux服务器上。本文的区块链网络由一个Fabric区块链网络、一个专用物联网网络、一个跨链网关节点和一个NATS消息队列节点组成。在测试中,Fabric区块链客户端以60TPS(每秒事务数)的速率向Fabric网络发送300个事务,同时监控来自物联网的跨链事务确认事件数。
经测试,移动应用管理电力物资供应链数据通道跨链创建的吞吐量为9.3TPS,平均事务确认延迟为10.3s,最大事务确认延迟为19.1s,最小事务确认延迟为1.5s。可见,在该模拟环境下,本文设计的跨链体系框架可以有效处理管理中的相关事务。
当前的电力物资供应链管理存在多个区块链平台,且各区块链之间没有互操作性,形成了许多价值孤岛。为了解决该问题,本文提出了一种应用于区块链的跨链方法。首先设计了包括感知层、数据层、扩展层、控制层和应用层五层的跨链体系架构,在此基础上提出了基于跨链网关的跨链处理流程,以及跨链数据管理策略,最后通过实验验证了本文方法的有效性。