APP下载

基于区块链的HACCP质量溯源模型与系统实现

2021-06-29黄朝良邹一波

农业机械学报 2021年6期
关键词:生食牡蛎控制点

葛 艳 黄朝良 陈 明 邹一波

(1.上海海洋大学信息学院, 上海 201306; 2.农业农村部渔业信息重点实验室, 上海 201306)

0 引言

水产品的质量安全一直是水产企业和消费者普遍关心的问题,也越发体现出溯源系统的重要性[1]。自区块链技术问世以来[2],国内外对区块链溯源进行了诸多研究。

针对区块链溯源系统模型,一些研究结合物联网、隐藏网络和可视化技术等,为区块链溯源提供了高效、安全的分布式信息共享模型[3-5],面向溯源业务设计区块链溯源架构[6-7],实现高可用性平台[8-13],满足了溯源领域对信息透明性、可溯性的需求。另一些研究在模型设计中融入权限控制[14],大大提高了信息可信度。针对区块链上的溯源查询和写入效率瓶颈等,诸多研究从存储模型和共识算法优化等多方面入手,如通过提出信誉监督机制共识算法[15]、融合共识算法[16]及双层架构共识[17]来提升共识效率,通过“数据库+哈希值”的存储模式来提高查询效率[18],通过使用侧链技术来提高系统吞吐量[19],借助密码分组链接模式来保证隐私安全[20]等。

上述研究从技术应用和性能改进层面促进了区块链溯源的发展。凭借其不可篡改及时间戳等特性[21-22],区块链技术已广泛应用于食品溯源领域[23-24],利用区块链从质量保障层面更好地服务于食品溯源已成为一个重要研究分支。危害分析及关键控制点(HACCP)是食品质量保证的重要指标之一[25-27]。文献[28]提出,可将HACCP与区块链结合,提高区块链溯源质量监管水平,并从宏观角度阐述了HACCP结合区块链溯源的大体框架。将溯源系统建立在区块链公链以太坊或者联盟链平台Hyperledger Fabric上,利用无线射频识别技术和智能合约实现信息录入,可提供质量保障,在一定程度上实现了自动化[29]。但结合HACCP质量体系和区块链溯源、通过智能合约来保障产品质量的研究却鲜见报道。

本文以生食牡蛎为例,根据生食牡蛎加工HACCP质量体系[30],提出基于区块链的生食牡蛎加工HACCP 质量溯源模型,并构建基于该模型的原型系统。系统应用区块链技术监控,并溯源牡蛎接收、牡蛎干法冷藏、牡蛎肉存储3个关键质量控制点,确保真实记录病菌生长、病菌污染、环境化学污染和天然毒素等显著危害,设计智能合约,增强质量预警的自动化程度,在监控质量关键控制点(CCP)数据的同时,保证监控数据的不可篡改性,以期实现质量监控数据的全过程可视化。

1 生食牡蛎加工HACCP溯源区块链建模

区块链溯源对产品质量保证手段、数据记录内容、产品质量标准等问题缺乏关注,溯源更多记录的是交易信息,缺少质量监管基础数据。针对该不足,本研究提出基于区块链的生食牡蛎加工HACCP质量溯源系统。系统结合HACCP质量体系设计生食牡蛎加工溯源流程,设计智能合约实现溯源业务,并借助联盟链平台Hyperledger Fabric使该溯源体系得以实现。

本研究重点解决数据结构设计、智能合约设计和区块链底层系统架构等问题(图1)。

从技术实现层面看,总体设计分为3层:溯源逻辑层、区块链系统层和溯源业务层。溯源逻辑层为设计最底层,在逻辑上形成溯源框架,从整体上设计溯源流程,根据HACCP规范提取数据结构,为上层系统和业务实现提供支撑。具体来说,数据结构规定信息录入格式和内容,溯源流程确定溯源环节。区块链系统层为设计核心层,用于实现底层溯源逻辑,设计智能合约满足上层溯源业务需求。该层包含4个模块,证书模块、共识模块、存储模块和智能合约模块。智能合约模块是系统设计的重点,模块通过逻辑语句实现数据读取和上链,并给用户提供质量反馈。溯源业务层是本模型设计最上层,用于提供应用、实现业务。该层与区块链系统层对接,调用智能合约接口写入和读取数据。区块链系统层接收输入数据,运行智能合约,给溯源业务层提供产品质量是否达标及所处状态等提示,并把数据打包成区块写入数据库,实现质量监控。

从业务功能角度看,总体设计分为2个板块:质量数据提取与监测板块、链上存储与溯源板块。质量数据提取与监测板块提取HACCP质量体系中的关键质量指标生成数据结构,设计智能合约,完成数据上链,同时对数据实时监测。该板块在实现溯源数据上链同时,增强质量监测自动化程度。链上存储与溯源板块包含区块链系统层证书、共识和存储模块,以及溯源业务层溯源模块。证书、共识和存储模块构成区块链平台,通过用户注册、信息同步和数据存储功能实现上链数据存储,为溯源业务提供真实、可信的数据支撑。

2 关键技术

2.1 加工环节质量溯源数据结构设计

生食牡蛎加工HACCP质量体系提出了3个关键控制点:牡蛎接收、牡蛎干法冷藏和牡蛎肉存储。每个关键控制点包含危害分析(Hazard analysis, HA)、关键限值、监控内容、纠偏和验证内容等。

危害分析是对生食牡蛎加工过程中,各个关键控制点可能存在的显著危害的评估与描述。关键限值、监控内容、纠偏和验证为HACCP质量体系核心,分别提供质量合格阈值、质量监管内容和信息真实性保证方法。

关键限值是质量达标的标准,也是基于HACCP质量监控体系的重点监控指标,利用这些指标可以在各关键控制点监控该产品的真实质量水准与规定的质量标准之间的吻合度。首先对GB/T 19838—2005中3个关键控制点的关键限值指标进行提取,如表1所示。

表1 各关键控制点的关键限值指标

围绕这些关键限值指标,根据监控内容设计合理的数据结构,记录下各关键控制点的关键限值指标的定期观测数据,可以服务于质量的监控和质量预警需求。以生食牡蛎接收关键控制点为例,可设置牡蛎批次标识BatchID、来自开放水域FromOpen、许可证Lisence、捕捞时间CatchTime、冷冻时间RefrigerateTime和监管人Supervisor等字段,反映该关键控制点各关键限值指标。

纠偏和验证内容是HACCP质量体系的重要部分,保证上传频率,记录纠偏行为,可确保牡蛎质量。通过批次标识BatchID字段对指定批次写入纠偏验证信息VerifyInfo和监测时间CheckingTime,设置监管人Supervisor字段实现责任究查。根据纠偏和验证内容的数据调节环境、丢弃未达标产品将大大节省人力物力。

对应各关键控制点的关键限值指标(表1),设计3个关键控制点的数据结构,与纠偏和验证内容的数据结构一同构成生食牡蛎加工环节的数据结构,应用于质量溯源的业务流程,如图2所示。

2.2 智能合约设计

智能合约衔接底层区块链平台和上层业务,支撑数据上链和读取等众多区块链操作。

一方面,智能合约实现数据上链,上链后数据借助区块链不可篡改和时间戳特性,成为真实且可溯信息。另一方面,智能合约本质上属于触发式脚本,定义触发事件和处理逻辑后,事件触发时将执行处理逻辑,进行自动化操作。这一特性保证智能合约调用时严格执行定义操作。

就基于区块链的生食牡蛎加工HACCP质量溯源模型而言,智能合约实现2个功能:

(1)溯源数据上、下链。智能合约根据数据结构提供数据上、下链接口,生食牡蛎加工信息一旦上链成为区块内容,将不可篡改且可溯。

(2)牡蛎质量自动化判断。生食牡蛎加工信息上链操作为触发事件,数据内容与关键限值比较为处理逻辑,一旦数据上链,智能合约将自动判断上链生食牡蛎质量是否满足HACCP标准,严格控制产品质量。

系统根据关键限值数据结构,设计了一个面向生食牡蛎HACCP的标准智能合约。智能合约读取生食牡蛎数据,与关键限值进行比较,得到质量结果,并将输入数据和质量判断结果一起写入区块链。标准智能合约算法如下:

输入:牡蛎批次标识BatchID,冷藏库温度Temperature,温度过高时长OverTime,运输时间TransportTime,养殖信息BreedingInfo,监管人Supervisor;功能:将(输入数据args[]+温度过高总时长tOvertime+质量判断结果message)上链。

1. function Contract( args[] ){

2. ifExit=Stub.GetState(BatchID) ∥查询数据库中是否存在BatchID记录

3. if(ifExit == nil)

4.tOvertime=OverTime;

5. else

6.tOvertime=ifExit.tOvertime+OverTime;

7. If(BreedingInfo!=达标养殖信息BreedingStandard) ∥获得生食牡蛎质量监测结果信息

8. message =“牡蛎来自未达标养殖厂家”;

9. If (TransportTime>达标运输时间TransportStandard)

10. message=“牡蛎运输时间过长”;

11. If (tOvertime>温度过高达标时长TemStandard)

12. message =“牡蛎温度过高总时长未达标”;

13.If (Temperature>达标冷藏库温度TemStandard)

14. message =“冷藏库温度过高”;

15.Stub.PutState (args[]+tOvertime+message) ∥将输入以及监测结果信息上链

}

通过标准智能合约,系统自动判断食品质量是否符合关键限值要求。牡蛎接收、牡蛎干法冷藏和牡蛎肉存储3个关键控制点在标准智能合约基础上,结合各自数据结构,选择性继承标准智能合约中的逻辑判断,形成各关键控制点的智能合约,实现各关键控制点上不同的质量监控目标,如图3所示。

3个智能合约记录下基于HACCP的生食牡蛎加工溯源数据,进行质量判断,将数据和质量判断结果写入区块后成为不可篡改的账本信息。智能合约将HACCP质量体系融入区块链生食牡蛎溯源流程,提供质量数据上链和自动化监管工作。

3 系统实现

3.1 实现架构及应用流程

系统底层采用联盟链平台Hyperledger Fabric,借助面向对象型语言Go语言开发智能合约。设计区块链溯源系统底层架构(图4),通过应用容器引擎技术Docker下载架构中各模块镜像,实现一个通过智能合约上链数据的区块链系统。

每个关键控制点相当于一个组织,证书机构服务器生成用户证书,每个组织配置键值对数据库CouchDB备份区块链数据,实现分布式存储。

共识模块由排序节点Kafka、管理节点Zookeeper和共识节点Orderer构成。排序节点Kafka在联盟链平台Hyperledger Fabric中充当消息队列,将共识节点Orderer发来的交易进行排序;管理节点Zookeeper在共识中维护着排序节点Kafka的领导者和跟随者的选举流程,保证共识模块正常运行;共识节点Orderer负责接收节点传入的信息,将排序节点Kafka排序后的信息进行广播。本系统布署4台主机作为服务器,在实现分布式多机,不同宿主机能够同步信息、共享数据的同时,具备较高稳定性,减少了故障甚至崩溃现象。

本文系统提供溯源数据上下链和质量判断功能(图5)。用户经前端写入质量数据,智能合约读取后根据数据结构进行解析,随后执行逻辑,根据输入的参数值判断质量。参数和得到的质量判断结果一起作为上链内容,以JavaScript对象简谱(JavaScript object notation,JSON)格式上传至联盟链平台Hyperledger Fabric,经共识模块在全网达成共识后,以链数据结构存入数据库。

通过该溯源系统的客户端可视化页面(图6)调用牡蛎干法冷藏智能合约,读取“004”批次标识牡蛎历史记录,可查询到该关键控制点的数据写入记录和质量判断结果。当温度过高总时长超过120 min,即超过HACCP质量体系中的达标关键限值时,给出“未达标” 质量判断结果,说明质量数据以及经智能合约处理的质量判断结果上链和溯源均成功,体现了智能合约的数据读写和质量判断能力。

3.2 性能测试

联盟链平台Hyperledger Fabric的区块参数将在很大程度上影响系统整体性能。本系统将每个区块的最大交易量设置为100笔、区块最大打包时间间隔为5 s、每个区块最大容量为32 MB,并采用性能测试软件Caliper对反映系统性能的3个指标——交易吞吐量、平均交易成功率和平均交易延迟进行测试。

7轮试验向系统发起共14 000笔交易,每轮的总交易量同为2 000笔,但每秒向系统并发的交易量不同,Caliper记录下每轮试验的每秒交易吞吐量和平均交易延迟,根据交易成功量计算出每轮试验的交易成功率(图7),最后可求得系统的平均交易成功率。

系统性能测试结果(图7)表明:在并发交易量达到400笔/s前,系统吞吐量随着并发交易量逐步增长,并在400笔/s交易时达到最大,随后趋于稳定,交易量保持在377笔/s左右;7轮试验中,受网络环境影响,两轮出现失败交易的情况,计算可得系统处理交易的平均成功率约为 99.96%;并发交易量为100、200、300、400笔/s时,处理每笔交易所需时间保持稳定,平均交易延迟在0.5 s左右,随后由于并发交易量过大,消息队列堵塞,平均交易延迟明显增长。

200笔/s的交易吞吐量可基本承载商业应用[19],因此,该系统较为稳定的377笔/s交易吞吐量,在性能上完全可应用于生产实践。

4 结束语

研究了基于区块链的生食牡蛎加工HACCP质量溯源模型及系统实现,提出将HACCP质量体系结合至区块链溯源的模型架构中。对引入的HACCP质量体系进行规范提取,设计数据结构,记录HACCP中关键质量数据,形成溯源链条;结合HACCP数据结构设计智能合约;设计共识模块拓扑结构,实现分布式数据同步。结果表明:基于HACCP质量体系提取上链数据,保证了质量关键控制点业务数据的真实性,提高了上链数据的质量安全相关度;基于HACCP质量体系标准设计智能合约,对质量进行自动判断,在满足质量数据可溯源的同时,对溯源产品质量进行自动化监督,并实时记录监管结果;应用联盟链平台Hyperledger Fabric实现了该模型的系统溯源,既保证了受监管的关键质量数据的可溯性,也保证了数据的可信度、不可篡改性,更好地保护了消费者的权益。性能测试表明,系统平均交易成功率为99.96%,交易吞吐量可相对平稳地达到377笔/s,平均交易延迟为0.5 s,该系统具有的性能使其基本可应用于实际生产。

猜你喜欢

生食牡蛎控制点
顾及控制点空间分布的坐标转换模型研究
GNSS RTK高程拟合控制点选取工具设计与实现
顾及控制点均匀性的无人机实景三维建模精度分析
且说蔬菜生食
广元发布全国首个生食蔬菜系列标准
法国培育出多口味牡蛎
NFFD控制点分布对气动外形优化的影响
从寿司来看日本人的“和思想”
昙石山文化的牡蛎器
《如何煮狼》:煮狼的女人爱牡蛎