基于区块链技术的农产品信息追溯方法与应用
2022-05-30沈淑涛杨孝天李江马冉
沈淑涛 杨孝天 李江 马冉
基金项目:西藏自治区高等学校人文社会科学研究项目,项目名称:基于区块链技术的西藏农产品信息追溯方法研究,项目编号:SK2021-29
摘 要:目前的农产品追溯系统存在数据易篡改、信息不对称等问题,针对这些问题,采用区块链技术,借助其可追溯性、信息难以篡改、去中心化存储、信息对称等特征,可以构建更为可靠的农产品信息追溯方法。本文对区块链技术进行分析,构建在区块链技术基础上的农产品信息追溯系统,以此解决传统物联网技术农产品追溯系统中的各种问题。
关键词:区块链;农产品信息追溯;系统构建;应用
近年来,农产品质量安全事故近年来也有所增多,一些掺假、造假问题,对人民群众的身体健康造成了不同程度的损害。农产品追溯系统是农产品质量保障体系中的重要工具,可以解决消费者对农产品质量安全问题的担忧。不过传统农产品追溯系统存在许多问题,如信息追溯难度大、数据难以共享、中心化网络权力过度集中、数据容易篡改等,只有妥善解决这些问题,农产品追溯才能真正发挥其作用。现如今,区块链技术日益成熟,为农产品追溯系统的构建与应用提供了新的思路和可能性。下文即结合区块链技术,探索农产品信息追溯系统的设计方案。
一、区块链技术分析
区块链类似分布式账本,是一种数据结构,可对交易情况进行记录。在系统中,对信息记录的区块,连接成链,各区块中均包含上一区块中的哈希指针和交易信息,通过哈希指针,可将区块予以连接,根据时间戳对过往交易按照顺序排列。
区块链以链式进行存储,其形成的交易信息,均在区块中存储,而各个区块又包括块体、块头,且包含前一块散列值,以便和上一区块进行连接。同时,其中还含有区块体哈希值、时间戳等。按照各种网络参与方的对应准入标准,可以将区块链技术分成三种类型,分别是联盟链、私有链和公有链。
公有链即公共区块链,以比特币、太坊为代表,具有很强的公开性,用户无需请求加入网络或提供身份证明,即可读取其中的数据,且均可发送交易,获取有效确认,而且所有人均被允许参与到共识之中。私有链即完全私有区块链,指的是少数组织或个人有一定权限。这一区块链对读取权限设置明显,对外开放受到局限,虽然具有公共可审计性,不过因其去中心化,因此并无公共可读性。联盟链即联盟区块链,同时兼具公有链和私有链的特征,指的是预选节点可控制共识的过程,只有系统内的组织能够对账本进行读写,并完成数据记录。当用户获取授权,即可进入联盟链的网络中。这一类型在开放程度、去中心化上有一定限制,需要预先筛选参与者,而在读取交易数据权限方面,具有一定公开性。
上述三种区块链类型各有特点,应用场景有所不同。本研究在农产品追溯系统构建中,处于数据安全性、局部中心化、追溯速度、组织结构等方面的考虑,选择联盟链技术。
二、基于区块链技术的农产品信息追溯方法设计
1.区块链技术基础上的农产品追溯系统构建
(1) 构建系统模型
可以根据区块链的基本原理与联盟链技术,构建农产品追溯系统模型,見上图。在这一模型中,通过CO2浓度感知器、温度及湿度感知器、视频监控等多种方式,在生产种植过程中,对农产品生产的相关信息进行采集;在采摘加工过程中,可通过产品标识、感知芯片等,对加工过程的信息予以采集、记录;在物流运输过程中,可借助定位装置,对运输、周转的过程进行记录,借助环境监控设备,对运输过程中环境数据进行记录;在销售环节,借助二维码、条码来对销售情况进行记录。不同环节的信息采集工作,所用设备各不相同,不过获取的信息会传递到区块链网络中,进行储存应用。
在将农产品的追溯信息上传、存储之后,要避免相关信息遭到篡改,可以借助加密处理技术来实现,密码学加密技术是应用其最多的一种方法。借助区块链技术的时间戳,可形成允许监督、查询、追溯的区块链条,从农产品的种植一直到完成出售全过程,均有这一链条的应用,因此能够确保农产品信息可被追溯。
(2) 追溯流程的设计
① 种植及采摘
大棚内的农作物生长过程中,有专业的传感设备,能够直接对pH、土壤含水量、氧气含量及光照等数据进行采集,转换格式之后,可借助现代无线传输技术,向系统传递相关信息,形成区块链数据源头。当农作物成熟之后,工作人员需要现场采摘,需要将农产品的种植时间、采摘时间、负责人、采摘情况等形成信息,向区块链传递,存储起来。
② 包装加工
农作物采摘完成后,在需要时可对其包装,之后才会入库。部分农产品需要再加工,此时需送至下一单位展开加工,将相关数据向区块链中传递,形成追溯码标识,标记在产品包装之上。
③ 运输配送
农产品需要运输至市场,才能进行销售,运输过程会涉及不同的运输方式、不同工作人员,需要将负责人、发货地址、运输方式、运输时长、收货地址等信息上传。
④ 交易查询
要实现链条式追踪,产品包装二维码中,需要包括产品自产出、加工到出售的所有信息,这样才能维护消费者的知情权,提升消费者满意度。
(3) 追溯方案的设计
① 算法选择
共识算法是区块链中的底层核心。通常情况下,需要借助共识机制实现中心化,来解决相关问题。农产品追溯的各个环节彼此独立,因此所有节点均无法对别的节点加以识别,无宕机情况。在设计中,可以选择的算法共有三种。
a.POW
这一算法为工作量证明算法,用来确认已完成工作量。在过程监测中,这一算法的效率较低,而若借助认证工作结果证明工作量,则工作效率可得到提升。不过这一算法比较耗能,交易性能不理想,需要很长时间才能达成共识,且易发生算力集中的问题,导致去中心化受到破坏。
b.POS
POS为权益证明算法,这一算法会导致电力大量浪费,因此为替代性算法。这一算法类似银行的存储财产,能够按照数字货币持有时间、数量来合理分发利息。在权益证明方面,这一算法能够借助特定方法,定义区块链中的后续合法区块,结合账户结余情况来选择,因此会发生中心化现象。
c.PBFT
这一算法属于实用性的拜占庭容错算法,是可将分布式系统和拜占庭式故障节点维持一致性的一种算法,能耗较低,工作效率较高。目前PBFT是联盟链应用最广泛的算法。总体来看,PBFT速度更快,效率更高,因此更适用于本研究的设计需求。
② 智能合约的选择
在农产品追溯系统中,智能合约方法是借助特定编程语言,对相关程序加以实现,可以于区块链系统容器之内来运行,在一定条件下可激活。智能合约技术用于超级账本中,可构建链码。在农产品追溯中,应用智能合约时,首先需要注册。农产品的生产、包装加工、运输及零售等各个环节涉及的单位,均可注册智能合约,而各衔接单位彼此也可确定合约。当智能合约的相关要求均获得满足之后,合约会立刻生效,并可自行执行。用户若想了解合约履行情况,可以随时查看。
2.农产品信息追溯系统的实现方法
根据上述分析获得的农产品追溯系统模型及技术方案的设计思路,笔者认为,在区块链技术之上构建农产品追溯系统,涉及的数据层、共识层、合约层及应用层,需通过以下方法实现:
(1) 数据层
数据层是借助动态存储方式,将管理者信息、农产品溯源信息等上传到区块链中,为保证上链信息准确,需加入协同验证的模块,借助Merkle树形结构,来存储动态数据。
数据真实性,是农产品追溯系统中需要首先考虑的问题,如果存储的时候即存储伪造数据,则区块链技术的防篡改特性、去中心化,就没有意义。为解决这一问题,在数据层可以设计一个协同验证功能模块,提升农产品信息的真实性。可通过二维码技术,来标注不同环节的产品信息,这样消费者能够根据需要随时查询。
协同验证功能模块,需要企业员工实施操作。各个员工有自己的工作号码,在检查产品时,需要输入自身工作号码,将之作为标识。工作人员签名,数字签名为鉴定之用,可经过签名,对负责人相关信息进行查询。同时签名还可保护标签内容。要对数字签名进行应用,需要先验证,再进行互发信息。这一流程需应用哈希运算赋值方法。
(2) 共识层
共识层是将PBFT共识算法,加入积分惩罚机制,让农产品追溯连接中的分散节点,在区块数据有效性上形成共识,确保区块链网络能够平稳、安全运行。
共识层中涉及超级账本功能,这一功能涉及到智能合约,SDK接口十分丰富。共识机制是通过PBFT共识算法来实现的。Fabric网络内,进行农产品追溯数据存储的单位,彼此是对等Peer节点,所有节点均有记录功能,追溯链条上,各单位加入到区块链网络前,均可从CA节点(代表为监管单位)获取准入许可,而有相应许可的单位,可经客户端来进行农产品数据的发布,背书节点负责背书,之后经共识算法,选择验证节点进行验证,排序节点对所有交易排序处理,打包形成各个区块,再向外发布,实时播报Peer节点,确保同一链条上各节点所接收信息的内容于时间均相同,且逻辑顺序相同。在这一操作下,农产品追溯信息区块即可形成。
(3) 合约层
Fabric框架之下,借助Golang语言,对链码进行编写,从而实现各组织节点的智能合约,再借助Docker容器,对链码连接Fabric与客户端的过程进行运行,在一定条件下激活,使之自动运行。
智能合约本质上属于一段程序,是借助部分计算编程语言的编写技术,来确保这一程序在区块链系统容器内运作,且这些程序在内在或外在条件的刺激下,可自动运行。按照农产品追溯具体的需求,系统智能合约包括农产品信息查询、农产品交易两种类型,借助两种智能合约,可以完成加密交易、无缝衔接。
农产品数据结构,包括生产单位、加工单位、承运单位和销售终端。客户端进行智能合约接口的调试,此后可以向区块链网络发布各种交易提案的内容,在验证、背书环节检查之后,通过排序节点,在同一通道中的组织成员,即可查询、提取交易信息。进行农产品信息发布的接口,不仅需发布相关生产信息,还可发布加工信息、运输销售信息。成员获得授权之后,需要安装智能合约,在Peer节点服务器上,对其实施实例化,被授权者可借助Fabric-SDK客户端和Peer节点服务间实现交互,以此部署、运行智能合约。
(4) 应用层
借助CSS、HTML5等工具,实现交互界面前端开发,这样农产品追溯系统可在手机端、PC端实现追溯查询的操作,各组织节点可发布农产品的追溯信息。为确保农产品信息公开透明,实现系统去中心化,还需过根据农产品源头与区块链技术的特征,设计农产品信息源头追溯的联盟链模型,其中生产单位、加工单位、运输单位、销售单位包含4类节点,分别是头节点、锚节点、记账节点、背书节点、公共排序节点。农产品从生产到销售,其涉及的节点,在系统中均有读取数据信息、写入数据信息的权限,且区块链节点之间可以实现数据协同。
三、基于区块链技术的农产品信息追溯的应用
农产品追溯系统,是应用HTML5、CSS,在Dreamweaver上进行操作部署,后端用MySQL数据库读取数据,来实现追溯过程。以某地苹果生产、销售的过程为例,其具体应用如下。
(1) 生成追溯二维码:首先,在信息发布过程时,农产品的信息追溯码和产品编码可同时产生。二维码形成后,可打印出来,粘贴在包装外,而各级节点均可扫描二维码、输入产品编号,来协同验证,这样能够为消费券提供可信度高的追溯。(2) 信息发布:农产品信息发布,涵盖农产品生产、加工、运输、销售等多种信息。在录入这些信息时,可采用人工录入、传感器采集等方式,发起交易的一方,可在发布界面填写数据,同时提交到区块链网络中,经过背书节点验证交易提案,排序打包,获取区块。(3) 信息查询:消费者购买苹果之后,可扫描二维码、输入追溯编码等,来查询苹果的生产情况、运输情况及销售情况,此时农产品的各种信息均可得到显示。
四、结束语
农产品追溯系统的构建,可以确保农产品信息真实可靠、清晰透明。区块链技术的优势是数据信息不可更改,因此在区块链技术基础上构建农产品追溯系统,可以有效解决农产品溯源问题,为人民群众的食品安全提供有力保障。不过,目前物联网设备和系统集成,针对的主要是农产品信息的协同验证方案,在信息填写与发布中,还需依赖于人工配合验证,这导致执行效率较低,也可能出现录入信息有误的情况。未来可以将物联网设备和系统实现高度集成,减少人工的参与,借此进一步提升工作效率,提高信息的準确性与可靠性。
参考文献:
[1]田钟浩,郑承华.食用农产品信息追溯监管体系中企业法律风险防范[J].食品安全导刊,2022(13):177-183.
[2]陈智.大数据背景下农产品可追溯信息对顾客满意度的影响——产品知识的多群组分析[J].商业经济研究,2022(01): 131-134.
[3]梁飞.信息价值感知、追溯行为与农产品质量安全追溯[D].郑州,河南农业大学,2021.
作者简介:沈淑涛(1979- ),女,汉族,内蒙古乌盟凉城县人,硕士研究生,副教授,主要研究方向:图像处理、中文信息处理;杨孝天(1996.08- ),男,汉族,河北张家口人,在读硕士,主要研究方向:区块链、网络安全;李江(1993.11- ),男,汉族,山西省绛县人,硕士研究生,主要研究方向:区块链技术、数据挖掘;马冉(1994.12- ),女,汉族,河北石家庄人,硕士,在读研究生,主要研究方向:数据分析和区块链