基于区块链和ORS的电子产品追溯系统

2021-02-25 05:50陈俊华上官鹏飞
计算机工程与设计 2021年2期
关键词:数据量电子产品解析

陈俊华,张 夏,上官鹏飞

(重庆邮电大学 自动化学院 工业物联网与网络化控制教育部重点实验室,重庆 400065)

0 引 言

近年来,假冒伪劣电子产品、电子产品翻新再销售、电子产品供应链信息封闭等问题,威胁着消费者对电子产品质量的信任,建立可靠有效的电子产品信息追溯体系需求强烈。

随着区块链全新的分散化架构和分布式账本技术的快速发展[1,2],基于区块链的可追溯系统由于其分散化和防篡改的特点,为传统追溯系统的缺点提供了解决方案。冯田基于HACCP[3]、区块链和物联网技术提出一种食品供应链追溯系统[4],又基于区块链和RFID[5]提出了一种农产品供应链追溯系统[6]。于合龙等以珲春水稻为研究对象,实现了水稻信息的可追溯[7]。上述方案将区块链应用于供应链追溯中,实现了对食品和农产品的有效追溯,但以上方案中的所有供应链可追溯数据都被存放于区块链上,随着时间的推移,不断增长的可追溯数据会逐渐占据整个区块链中节点的数据库容量,导致数据爆炸,系统性能下降。徐希伟等[8]提出了一种链上与链下数据分离方案,成功解决了链上数据量剧增问题,但消费者无法对链下的产品信息进行可靠追溯。针对上述问题,本文将区块链和ORS相结合对电子产品进行追溯,采用链上和链下联合管理模型,缓解了数据量爆炸问题,同时保证了电子产品在供应链过程中所有信息防篡改,可追溯。

1 系统关键技术

1.1 区块链技术

区块链技术起源于比特币,2008年由化名为“中本聪”的学者提出。区块链本质为分布式数据库,具有分散化、防篡改、可追溯的特性。分散化:整个区块链网络无中心组织,即使一个节点崩溃,整个系统仍然可以正常运行,具有很强的健壮性。防篡改:每个区块链节点包含有所有交易的完整副本,一个节点篡改数据库不会影响其它节点的数据,除非同时控制整个系统51%以上的节点,在多节点情况下,系统是非常安全的。可追溯:区块链由一串区块所构成,每一个区块包含一个时间段中所产生的所有交易以及上一个区块的哈希值,通过哈希值与上一个区块进行链接,实现对数据的追溯。

1.2 电子产品标识与OID解析系统

电子产品标识在信息追溯中占有至关重要的位置,只有对电子产品进行唯一标识,才能对电子产品信息实现有效的追溯。目前主流的对象标识体系包括国外的EPC、Handle、OID等,以及我国自主制定的Ecode。OID标识体系为分层、树形的结构,各个国家自主管理自己的根节点,且有良好的扩展性及安全性,实际操作更为灵活。

OID解析系统主要对电子产品标识符提供标识解析并获取其对应信息的过程。OID解析系统包括通用OID解析过程和特定-应用解析过程两部分。通用OID解析过程是使用OID检索存储其相关联对象信息的服务器地址的过程,特定-应用解析过程是从所检索到的服务器获取存储该OID相关联对象的详细信息的过程。

2 基于区块链和ORS的电子产品追溯系统设计和应用

2.1 追溯系统结构

本文提出基于区块链和ORS的电子产品追溯系统主要由溯源企业、消费者、政府监管机构和区块管理员组成。溯源企业负责记录电子产品可追溯信息,政府管理机构负责供应链参与者的密钥分配与身份认证以及产品质量检测与防伪追踪,区块管理员负责智能合约管理、区块链管理和权限管理,消费者可通过该系统查询所购产品的基本信息。系统总体结构如图1所示。

溯源企业主要包括溯源信息记录模块、企业信息数据库和区块链模块。其中溯源信息记录模块旨在获取电子产品生产、流通、销售过程中产生的所有可追溯信息,同时,通过自动和手动方式,将供应链中电子产品的可追溯信息进行处理、传输并存储;企业信息数据库用于保存和管理来自溯源信息记录模块中获取的所有可追溯信息;区块链模块主要提供数据交互的功能,包括记录溯源信息到区块链上以及获取链上的溯源区块信息。

图1 系统总体结构

政府监管机构主要包括密钥与认证模块和质量检测与防伪追溯模块。密钥与认证模块用于保证系统安全性、机密性和有效性,其采用了非对称加密、数字签名、公钥基础设施(public key infrastructure,PKI)等密码学技术构成密钥与认证体系,成功认证身份后的供应链参与者,可获得权威部门颁发的密钥对。质量检测与防伪追溯模块有两个功能:质量检测,随机检查实际产品各项指标是否符合相关标准规定;防伪追溯,检查溯源区块信息,是否被篡改,运输过程是否合规,企业注册信息是否完善等,并将电子产品监管过程中产生的溯源信息记录到区块链。

区块管理员负责节点管理包括智能合约模块、区块链管理模块和权限管理模块。其中智能合约模块是基于区块链的追溯系统的核心。智能合约是部署在区块链上并自动运行的程序[9],用户通过调用智能合约完成区块链数据交互。区块链管理模块主要对用户发送的区块信息的有效性进行验证,防止区块链上记录非法或无效信息;权限管理模块对用户访问权限进行管理,为隐私数据提供访问限制,防止隐私信息泄露。

另外,该系统为消费者提供两个查询功能模块:溯源区块查询模块,用于查询位于链上的溯源区块信息;ORS查询模块,可查询链下的电子产品可追溯信息。

2.2 链上和链下联合管理模型

本文提出链上和链下联合管理模型的主要特点是将电子产品生产、流通、销售和监管过程中产生的大部分可追溯信息通过防篡改处理后保存在区块链之外,如企业标识管理服务器。对于供应链中关键可追溯信息需要通过智能合约记录到区块链上。联合管理模型解决了链上数据爆炸问题,并且保证了链下数据的真实性,实现整个系统中数据防篡改。链上和链下联合管理模型如图2所示,该管理模型的具体实现机制如下所述。

图2 链上和链下联合管理模型

2.2.1 链下模型

链下模型主要包含标识编码和解析两个过程。本文引入OID标识体系[10],并采用国家标准GB/T 17969.1和GB/T 26231-2017相关规定[11]对追溯中的每一个电子产品及其相关对象进行唯一标识编码,将OID对象在供应链过程中的信息以及生成的数字摘要[12]存储于各溯源企业的标识管理服务器,通过ORS获取OID对象信息,管理链下的大容量追溯数据。

(1)标识编码

链下模型涉及的标识编码可分为两部分:①电子产品标识编码,生产企业的标识管理服务器负责对电子产品进行统一标识编码,并在该服务器中存储OID对象相关信息,如质量检测数据、质检报告、生产操作日志等大容量追溯数据;②电子产品相关对象标识编码,该环节由溯源企业各自的标识管理服器对企业的生产许可证、营业执照、原产地认证资格证等进行标识编码,并存储相关信息。

(2)标识解析

各溯源企业的标识管理服务器中存储着电子产品生产、流通、监管和销售过程中的大量可追溯信息,通过标识解析系统可获取相关信息,标识解析过程如图3所示。

图3 标识解析过程

步骤1 消费者向公共标识服务平台发送产品标识码,请求对该OID进行标识解析。

步骤2 公共标识服务平台收到标识解析请求后,将该请求转发至公共标识管理系统。

步骤3 公共标识管理系统通过标识解析服务器对该OID进行解析,并获得该OID所关联产品的溯源企业标识管理服务器地址。

步骤4 标识解析服务器将解析获取的溯源企业标识管理服务器的IP地址发送给公共标识管理系统。

步骤5 公共标识系统将获取的IP地址返回给公共服务器。

步骤6 公共服务器通过IP地址访问溯源企业标识管理服务器。

步骤7 溯源企业标识管理服务器将该产品标识码所对应产品的可追溯信息返回给公共服务器,完成解析过程。消费者可获得电子产品追溯过程中详细的溯源信息,同时可通过链上溯源信息中的数字摘要验证溯源信息是否可信。

此链下模型设计,不仅解决了链上数据爆炸问题,而且有助于提高产品编码的标准化程度,扩展了该系统的追溯范围。

2.2.2 链上模型

链上模型包括溯源信息表和溯源区块管理两部分。溯源信息表由溯源区块和信息表构成,溯源区块管理主要通过智能合约对区块链上的电子产品数据进行管理,一方面将关键溯源信息记录到溯源区块中,另一方面获取溯源区块中电子产品的溯源信息。

(1)溯源信息表

溯源区块与信息表构成如图4所示,每个溯源区块由区块头和区块头以外的内容组成。区块头包含父区块Hash、区块生成者的公钥、该区块中交易的Merkle树根的哈希值和生成区块的时间戳。区块头以外的内容包括溯源信息个数和溯源信息。溯源信息个数即该区块中包含的交易数,每次生成的区块含有多条交易。溯源信息为每条交易内容,如图4中溯源信息记录。该溯源信息由产品标识码(object identifier,OID)、数字摘要、追溯信息、时间戳、公钥和数字签名构成。产品标识码作为产品的唯一识别码,采用OID标识体系对其进行标识编码。数字摘要为存储于链下的大容量追溯信息通过哈希运算后生成的哈希值,常见的哈希算法有SHA1[13]、SHA2[13]、MD5[14]等,本文选用SHA-256[13]哈希算法,其可靠性和安全性满足系统需求。将链下追溯信息的数字摘要记录到区块链上,可验证链下大容量追溯信息是否被篡改。追溯信息为电子产品生产、流通、销售和监管过程中的关键信息。时间戳表示交易单生成的时间,公钥为交易单生成者的公钥。数字签名是交易单生成者对交易信息的签名,其具有不可抵赖性和防篡改性。一个个溯源区块组成了一条区块链,供应链参与者可调用智能合约根据唯一标识的产品标识码以及参与者访问权限,获取相应电子产品溯源信息表中的可访问信息。整个溯源信息表中包含了关于该电子产品的所有可追溯信息,即电子产品生产、流通、销售和监管过程的关键可追溯信息以及溯源企业注册信息。

图4 溯源信息

(2)溯源区块管理

在追溯过程中,各溯源企业和监管部门首先需要进行密钥与认证操作以及权限分配操作,操作完成后通过调用智能合约向区块链中添加追溯信息,链上数据流如图5所示。链上数据交互主要分为5个环节,各环节详细设计如下:

图5 链上数据流

生产环节:主要角色是溯源企业中的生产企业,主要负责:①获取并处理制造企业生产过程执行系统(manufacturing execution system,MES)[15]中的结构化数据和非结构化数据,②使用OID对每一个电子产品进行唯一标识,并生成产品二维码方便供应链过程中各个供应链参与者使用。MES系统中存储着电子产品生产执行过程中的所有相关记录,该记录可以分为两类,即结构化数据与非结构化数据。结构化数据即一般数值和简化性文字数据,包括产品标识码、产品批号、数字摘要、生产日期、生产地址、生产企业等数据。非结构化数据指的是生产过程中产生的图片、视频和大容量文本数据,如质检报告、采购清单、操作日志等。生产企业在该环节将结构化数据作为关键溯源信息添加到溯源信息表,存储于溯源区块,对于非结构化数据,这些数据本身的数据量较大,不适合在存储于区块链中,生产企业通过离线方式存储于企业标识管理数据库、信息管理数据库和信息缓存数据库中。

流通环节:主要角色是物流公司,通过扫描产品二维码可获取产品标识码,并依靠成熟的GPS定位技术获取精确的位置信息。溯源企业中的物流公司主要负责添加电子产品的物流信息,包括运输公司信息、产品位置信息、产品运输方式、产品状态信息。该追溯系统中电子产品状态定义为“运输中、运达、待售、已售、返厂和删除”6种状态,物流公司需根据实际运输情况记录产品状态。

销售环节:主要角色是经销商和零售商,主要职责为修改并记录产品状态,增加产品销售时间和销售价格数据,保证信息追溯的完整性。

监管环节:主要角色是政府监管机构,其中质量检测机构负责产品质量的随机检查,质量技术监督局负责检测电子产品在流通过程中是否出现数据篡改,流通过程是否符合规范。如果出现质量问题,则将当前产品状态修改并记录为返厂状态,对该问题产品进行召回。如果出现数据篡改、流通过程违规等问题,则可将当前产品状态修改并记录为删除状态,然后进一步对产品进行处理。

追溯环节:主要角色是消费者,扫描二维码可获取产品标识码,通过标识解析系统可获取电子产品相关的所有溯源信息,通过区块链系统可获取位于区块链中不可篡改的电子产品生产、物流、销售和监管信息。同时,通过对比链上和链下数字摘要异同,根据链上数据的不可篡改性,可分析链下数据是否发生过篡改行为,获取可信的链下数据。

2.3 应用场景

本节中,通过具体应用场景验证本追溯系统的有效性。

2019年6月6日,“千元iPhone组装机”事件被媒体曝出,某社交电商平台发布的正品苹果手机被官方鉴定为假货。这些苹果手机的原材料收购于深圳的二手市场,通过对一些损坏的二手苹果手机更换主板、零件,再将外壳加工打磨,表面上就能跟正品手机十分相似。诸如此类的假手机事件还有很多,这种事件不仅损坏了正品品牌的名誉,还给消费者带来了麻烦。由此,通过基于区块链和ORS的电子产品追溯系统可以为假冒伪劣电子产品提供解决方案。

首先,本系统中溯源企业通过国家物联网标识管理服务平台注册电子产品OID标识码并存储电子产品详尽的可追溯信息以及将详尽数据通过哈希运算后得到的数字摘要。然后,通过区块链系统添加电子产品简要可追溯信息以及详尽数据生成的数字摘要到区块链中。最后,消费者可通过扫描电子产品的二维码查看电子产品的生产信息、物流信息、销售信息和监管信息。

若查询到区块链上存在电子产品已出售信息以及多条生产信息,则可判定所购电子产品为翻新机;若查询到区块链上的数字摘要和ORS中的获取数字摘要不同,则可判定所购电子产品中存在信息篡改行为。

3 基于区块链和ORS的电子产品追溯系统实现和分析

3.1 系统实现

目前,区块链分为公有链、私有链和联盟链。其中,联盟链具有部分去中心化,面向企业开发的特点,本文中的信息追溯系统主要入链对象为溯源企业、政府监管机构和消费者,因此选用联盟链方式。对于平台选择,当前Bitcoin(比特币)、Ethereum(以太坊)以及Hyperledger(超级账本)是三大主流区块链技术平台。Hyperledger平台代表最新区块链技术,其具有良好的扩展性,同时允许调用智能合约。本文选用Hyperledger下的Fabric(面向企业管理)区块链平台,用于构建信息追溯系统。

本追溯系统采用Hyperledger Fabric v1.2平台来设置区块链,部署5Peer+1Orderer的架构,在Ubuntu 16.04环境下进行部署虚拟机,5Peer节点用于模拟生产企业、物流公司、经销商/零售商、监管部门和消费者,1Orderer节点为排序节点。使用Golang编写链码,链码主要实现以下功能:商家注册、添加产品生产信息、添加产品物流信息、添加产品分销信息、添加产品零售信息、添加产品监管信息、商家信息查询和产品信息查询等。该系统采用C/S架构,使用Qt Creator开发应用程序,提供人机交互功能,同时,使用官方支持语言Node.js编写程序调用链码,执行相关操作。

3.2 系统测试与分析

本文的区块链网络由6台虚拟机构建,服务器IP地址分别为192.168.242.220,192.168.242.221,192.168.242.222,192.168.242.223,192.168.242.224和192.168.242.214。详细的测试环境见表1和表2。

表1 软件环境

表2 硬件环境

系统响应时间即系统时延是系统性能的重要指标之一。系统主要功能分为链上数据入链与链下数据管理,链下数据由各角色主体分布式自主处理,不对追溯系统响应时间产生影响,追溯信息上链速度是影响系统响应时间的关键。实验结果表明,系统响应时间受链上数据量的影响,图6为链上数据量与系统响应时间的关系图,链上数据量从1 G增加到8 G时,系统响应时间从250 ms增加到500 ms,由此表明当链上数据量暴增时,数据量对系统性能影响较大。

图6 系统响应时间与链上数据量关系

本文通过对某电子产品制造企业调研得知,一条中等规模生产线每分钟约产生2 MB生产操作日志数据,如果每6 min完成某电子产品的生产,则需要追溯的生产数据为12 MB。普通区块链系统将所有追溯数据都记录在链上,而本系统采用链上和链下联合管理模型,链上信息只记录关键追溯信息与详细数据的数字摘要。普通区块链系统和本系统链上数据量随时间变化如图7所示。

图7 普通区块链系统和本系统链上数据量对比

图7中,随着时间增长,普通区块链系统中链上记录的生产信息数据量剧增,同时链上需要记录电子产品流通、销售和监管过程中的所有追溯数据,导致单个区块链节点数据爆炸。本系统采用链上和链下联合管理模型,链上记录的生产信息只占有1 K左右的内存。该数据量主要由区块头和溯源信息产生,其中区块头包含32字节的父区块Hash、294字节的区块生成者的公钥、32字节的Merkle树根的哈希值和4字节的生成区块的时间戳;溯源信息包含4字节的产品标识码、32字节的数字摘要、200字节左右的生产追溯信息、4字节的交易单生成的时间、294字节的交易单生成者的公钥和128字节的数字签名。由于电子产品在流通、销售和监管过程中区块头、产品标识码、数字摘要、时间戳和数字签名占用内存相同,由此类推每次在链上记录信息所占用的内存均为1 K左右,有效解决了数据爆炸问题,保证了系统的可靠性和可行性。

将本文设计的电子产品追溯系统与当前主流追溯系统进行定性比较,结果见表3。

表3 本系统与主流追溯系统定性比较

国家食品(产品)安全追溯平台和国家物联网标识管理服务平台具有信息追溯能力,但是防篡改能力弱,数据在传输和存储过程存在被修改的可能性,而本系统具有很强的防篡改能力,保证数据真实可信。普通区块链系统防篡改能力强,但是区块链上数据量大,本系统解决了区块链上的数据爆炸问题,具有更高的可靠性。通过对比可以看出本系统相比国家食品(产品)安全追溯平台、国家物联网标识管理服务平台和普通区块链系统,表现出了更优越的性能。

4 结束语

本文针对电子产品生产和供应链过程信息封闭、易篡改和不安全等问题,提出了基于区块链和ORS的电子产品追溯系统。该系统采用了链上和链下联合管理模型,将关键可追溯简要信息与详细数据的数字摘要记录在区块链上,保证信息真实可信,将大容量追溯信息通过防篡改处理后存储于区块链下的各企业标识管理服务器中,成功地减少了单个区块链节点的数据量,解决了数据爆炸问题。然后,本文给出了本系统在电子产品供应链中的实际应用场景,并通过实际测试验证了本系统的可行性与有效性。最后,通过与目前主流追溯系统进行定性比较,本文提出的系统不仅可以满足追溯系统的基本要求,而且在以下方面表现出优越的性能:①防篡改能力;②分散化程度;③链上数据量,保证了系统高效可靠,满足实际需求。

猜你喜欢
数据量电子产品解析
正确使用电脑等电子产品
三角函数解析式中ω的几种求法
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
摭谈中小学生使用电子产品的利弊
宽带信号采集与大数据量传输系统设计与研究
帮孩子减少对电子产品的迷恋
睡梦解析仪
我国小型废弃电子产品的回收模式