基于区块链的稀有金属供应链信息可追溯系统研究

2023-01-08 16:48李奕成项伟
电子设计工程 2023年1期
关键词:加密区块供应链

李奕成,项伟

(北京信息科技大学自动化学院,北京 100192)

稀有金属作为一种不可再生的重要战略资源,关乎着国家的战略安全。在巨大经济利益的驱使下,部分企业和个人不遵守法律规则和相关管控政策,违规超量开采的事件时有发生[1],造成了严重的国有资源流失。当前行业内主要存在以下几个问题:1)数据中心化易篡改,信息安全得不到保证,可信度低。2)缺乏信息交流共享的可信快捷渠道,企业间对产品、原料的来源和合法性缺乏洞察能力。3)缺乏隐私信息保护,对于对企业产生竞争影响的产品信息缺乏保护手段。区块链作为一种融合了多种技术的数据存储方案,能够很好地适用于供应链信息可追溯领域,解决传统方案中存在的顽疾[2],能够为解决上述问题提供良好的解决方案[3]。运用区块链技术进行数据可追溯是当前研究的热点,在诸多领域已经有了很多应用研究,区块链与物联网、加密技术相结合能够有效地解决数据中心化、易篡改、信息共享效率低、缺乏隐私安全等问题,目前已在产品追溯、食品溯源、钢铁供应链管理、汽车供应链可追溯等领域取得成效[4-9]。因此,如何将区块链应用于稀有金属供应链,通过技术手段解决传统方案中存在的顽疾,将是一个非常有价值的研究。

1 区块链技术

1.1 区块链技术概述

区块链技术是一种集成了点对点(P2P)网络、加密技术、智能合约、共识机制、时间戳等多种技术的新型应用模式[10],其本质上是一种去中心化、防篡改、可追溯性的分布式数据库,采用点对点网络进行通信,每个节点可以自行发送和接收数据,通过共识算法在不可信的参与节点之间创建交易协议。每个区块链以区块上保存的前一区块的哈希值为索引,前后相连形成按照时间顺序排列的链式数据结构,对数据的修改会引发块的哈希值发生变化,导致链式结构遭到破坏,以此保证数据在分布节点上的完整性和一致性[11]。区块链链式结构如图1 所示。

图1 区块链链式结构

1.2 区块链类型及应用场景

区块链技术的应用领域十分广泛,当前已被广泛应用于防伪查询、电子金融、跨境电商、供应链管理等诸多领域。区块链可分为公有链、联盟链和私有链三种类型[12],特性如表1 所示。公有链是一个不需要任何授权就可以进行读写并参与共识过程的区块链网络,常见的应用领域包括知识产权、电子商务、数字经济、互联网金融等多个应用场景。私有链是在公有链的基础上对加入权限增加限定,按照中心节点设立的准入规则,对查看和写入权限进行限定。常适用于企业运维,内部的办公审批、财务审计等场景中,可以在仅内部网络访问的情况下,享受区块链带来的优势。联盟链介于二者之间,是由联盟组织成员共同管理区块链事务,生成交易或查看区块链信息,由多个企业或组织共同维护,在各方达成共识的前提下设计规则,为参与者提供认证、授权和管理等功能,常用于商品溯源、供应链管理等领域。

表1 私有链、联盟链、公有链特点

2 系统设计

2.1 业务流程及整体模型

区块链技术的特性可以有效解决行业内的数据安全和信息丢失问题,使区块链技术成为供应链信息管理的重要手段。该文结合供应链特点,对系统整体模型进行了设计,如图2 所示。

图2 供应链信息追溯模型

图2 中列举了稀有金属供应链中的成员,包括矿石原料供应方、金属冶炼加工方、运输方以及销售方。信息可追溯模型整合了供应链上企业的产品关键可追溯性数据,当某个节点出现问题时,可沿数据关系网络向上追溯。链中产品均配有RFID 识别标签,存储着采用EPC 编码体系编写的电子身份码,具有唯一不可篡改的特点,它是系统中实际产品的虚拟身份,作为媒介实现信息的上链和查询。

系统配置了三个组织,分别对应上述三个参与方,每个组织可以使用有效的身份文件注册加入区块链系统,按照实际的需求加入通道并根据成员数量增添节点,系统可以为每个用户随机生成私钥和公钥。其中,公钥用于身份验证和相关信息加密,私钥用于用户与系统交互时对隐私数据进行解密。在该系统中,用户可以根据系统赋予的相应的约定权限,对各个产品数据进行添加和更新,系统会将信息传递给下游用户。

数据的上链以及交易信息的录入需要各方的共同参与和配合,根据参与节点的分工和需求的不同,再根据被赋予的不同权限,链上成员可以通过安装的智能合约在链上发布、更新产品信息以及更新交易记录,经过各方共识后将数据在各个节点上备份。链上成员和监管机构可以通过Web 页面登录区块链可追溯系统,通过产品的数字编码,依照权限查询可追溯信息。

2.2 架构设计

稀有金属供应链产品可追溯系统面向监管和供应链上企业的信息管理与共享需求,需要一定程度地去中心化和一定的开放性,考虑到联盟链部分授权和运行效率的特点,该文选用对稀有金属供应链管理适配性更好的联盟链Hyperledger Fabric 进行系统搭建。系统整体分为数据层、服务层和应用层,系统架构如图3 所示。

图3 系统架构图

数据层是基于Hyperledger Fabric 开发的底层数据结构的基本框架,主要作用是存储节点之间的交易信息与产品相关数据,保证产品信息的数据安全。数据层的数据区块分别是区块体以及区块头两个部分。区块体用于数据的存储,负责保存产品相关信息和交易流通数据,通过Merkle 数据结构进行定义,在经过哈希算法进行封装后以带有时间戳的形式不可变地写入区块链账本,形成可追溯的信息链[13]。

服务层负责对区块链网络进行管理,例如,对链上的节点成员进行授权和身份验证;管理智能合约运行、安装和部署;并通过超级账本官方提供的Fabric-Node-SDK 提供接口调用服务,通过应用接口根据客户端请求来调用目标通道上的智能合约,当满足预设条件时,智能合约将自动执行脚本算法处理任务,自动执行相关的事务[14],实现应用层与区块链网络的交互。

应用层是用户与系统进行交互的窗口,Web 界面采用html、JavaScript 以及angularjs 进行开发。前端的各种操作也会通过服务层提供的接口服务完成对安装在链上链码的调用,进而实现信息的查询、更新、发布和交易等。

2.3 多通道设计

模型中设计了三条独立的通道用来存储不同环节的信息,每个通道都有独立的账本。通道架构如图4 所示。其中,设计多个通道的目的是将账本和业务环节进行绑定,成员节点可以根据业务需求动态的加入通道,增强系统扩展灵活性的同时,通过多通道设计隔离通道信息,增强通道内信息的私密性,降低无关节点的存储压力。其中,原料信息通道对应原料供应环节,负责保存稀有金属供应链中的矿石原料相关信息。产品信息通道对应产品的冶炼加工环节,负责存储成品金属产品信息,如加工信息、原料组成等。交易信息通道对应产品的流通环节,负责保存有关矿石的交易记录、物流信息以及所有权信息。

图4 区块链通道架构

2.4 隐私信息加密

由于区块链网络中同一通道上的各节点是完全平等的,未经加密的数据在通道上是完全公开的,相关产品的数据隐私无法得到保护。在保证数据透明的同时,也要兼顾供应链成员的信息隐私保护需求,为应对链中成员的隐私保护需求,该文设计了对产品信息的隐私加密方案。首先将数据按照隐私程度进行分类,通过对供应链流程和关键信息隐私程度的分析,将上链关键信息分为公开数据和隐私数据,公开数据直接存储在区块链中,隐私数据则通过对称加密和非对称加密技术相结合的加密方式进行上传,隐私信息的加密过程如图5所示。首先对隐私数据采用AES 算法进行加密,加密过程中使用的密钥由系统随机产生。AES 算法的加密、解密过程都需要使用密钥进行,为保证对称加密过程中密钥的安全保存和共享,需要对AES 加密过程中使用的密钥进行妥善加密。对于对称加密过程中使用的密钥,采用了ECC 椭圆曲线算法对进行加密[15],整个加密过程使用授权节点的公钥作为非对称加密的密钥,在加密完成后,授权节点的公钥和加密过后的加密密钥信息以键值对的形式保存在链上。对隐私信息的加密过程通过在链上部署的智能合约自动进行。获得授权的节点,可以使用自己的私钥解密区块链中保存的由自身公钥加密的密钥信息,完成对链上隐私数据的查看。

图5 隐私数据加密过程

3 系统实现及分析

3.1 实验环境

该文选用Hyperledger Fabric联盟链,采用Docker等工具,利用Go语言进行系统链码编写。Hyperledger Fabric 是一个许可型的区块链架构,由IBM 开发、Linux 基金会主办的一个企业级开源商业区块链平台[16],在实际应用中已经有了很多成功案例。使用超级账本官方提供的Fabric-Node-SDK,执行与网页交互的相关操作。系统搭建软件环境如表2 所示。该网络采用couchdb 数据库实现数据存储,在Ubuntu16.04 虚拟机环境下运行,在完成系统环境的搭建后,对上述设计的监管模型以及系统架构进行了基本的原型系统实现。

表2 系统搭建软件环境

3.2 测试用例及结果

系统进行搭建部署后,通过设计的产品电子身份标识码作为产品在系统中的身份,进行可追溯信息的上传和查询。以链中不同的成员节点身份,将有关的可追溯性信息进行上链,Web 界面上的信息上传操作如图6 所示。

图6 上传可追溯信息

原料供应商、金属加工商以及经销商可以发布产品信息并为生产的产品添加原料来源信息,还可以添加相关交易信息以及物流信息等。当交易发生时,链上的成员可以在系统中对产品信息、原料来源等可追溯性信息进行查询和确认,节点成员可以根据所授予的权限查看产品信息,不同查看权限成员查询的结果如图7-8 所示。结果显示,加密后的隐私信息仅可以被授权的节点查看,当未被授权的节点查看时只能得到密文数据。

图7 授权节点信息查询结果

图8 未授权节点信息查询结果

3.3 系统性能测试

该文在完成系统搭建的前提下,使用caliper系统测试工具对系统进行性能测试,共进行了1 000 次接口压力测试,结果均能成功调用,吞吐量可达224 TPS,能够满足日常需求。图9 展示的是发出查询命令后系统的响应时间。图中横坐标表示实验次序,纵坐标表示响应时间。其中,对公开数据查询的平均响应时间为24 ms,对隐私数据查询的平均响应时间为58 ms。在实际操作过程中没有出现系统崩溃或明显卡顿等状况,能够较为流畅地完成对产品信息的发布、更新和查询,满足系统的设计及使用要求。

图9 查询响应时间

4 结束语

该文分析了稀有金属供应链中存在的问题,比较了当前主流的区块链平台,针对产业链中存在的原料来源缺乏信任、监管难度大、信息共享效率、隐私信息缺乏保护等问题,基于联盟区块链平台设计实现了产品信息可追溯系统。利用区块链技术的优点,解决了稀有金属供应链中数据中心化、信息易被篡改、信息不透明、存储安全性低等问题。在此基础上,在系统的设计方面采用多通道设计将不同业务进行分隔,对需要上链的敏感数据进行加密处理,保证了信息共享过程中的隐私安全,最后通过实例对系统进行了展示,验证了该方案的可行性。当前,系统仍处于试验阶段,很多功能设计仍需细化,未来将对数据的储存和管理进行优化。如何提高区块链系统的存储,降低长时间运行中节点上的存储压力,将是后续研究中应着重解决的问题。

猜你喜欢
加密区块供应链
强化粮食供应链韧性
一种新型离散忆阻混沌系统及其图像加密应用
海外并购绩效及供应链整合案例研究
解锁西贝供应链的成功密码
区块链:一个改变未来的幽灵
为什么美中供应链脱钩雷声大雨点小
区块链:主要角色和衍生应用
一种基于熵的混沌加密小波变换水印算法
区块链将给媒体业带来什么
区块链+媒体业的N种可能