范立南,张志雷,赵宏伟 (沈阳大学 信息工程学院,辽宁 沈阳110044)
FAN Linan, ZHANG Zhilei, ZHAO Hongwei (School of Information Engineering, Shenyang University, Shenyang 110044, China)
现阶段,伴随着经济迅猛发展,水果、蔬菜等农产品质量安全事故频频发生,掺假制假事件严重威胁人们的身体健康。农产品的质量逐渐取代数量,成为了人们关心的焦点。质量可靠可信是广大消费者对生产销售企业提出的最基本要求。然而就目前的农产品流通市场现状来看,供应链上各主体间合作依赖彼此间信息沟通,而主体间信息沟通不顺将制约供应链发展从生产到销售的各个中间环节[1]。采集接收的信息杂乱无章,真实性和可靠性也无法得到保证,对农产品的控制效果更是微乎其微。一个完善的农产品信息追溯系统能有效地解决这些问题。我国在《“十三五”国家信息化规划》中将区块链作为一项前沿重点技术,明确提出加强新技术的创新、试验和应用,力争抢占先机,掌握新一代信息技术的主导权。
相比于发达国家,虽然我国对农产品安全潜在需求很大,但实际的建树却很少,由于建设成本等因素,目前只通过条码技术实现对水产品、牛肉以及果蔬的相关追溯。就国内追溯系统建设的大环境来看,首先缺乏一套完整的追溯体系,只是开展了一些试点示范的相关研究工作。比如,农业部门启动的“进京蔬菜产品质量追溯制度”,着力解决蔬菜的追溯管理;上海市搭建的“上海食用农副产品质量安全信息平台”,可以实现对农副产品生产过程的监控、对商品条码的识别跟踪和查询,利用农产品安全信息条码标准,通过供应链上各企业之间的相互配合,为每类具体产品建立相应的电子档案;海南省有关部门通过采用EAN/UCC 系统,可以对水产品的生产、加工、包装、存储、运输、销售的全过程进行标识和跟踪。
在传统的农产品追溯系统中,产品的信息全部集中存储在中心数据库中,后台的管理者可以轻而易举的篡改农产品的相关溯源信息,容易受到外界黑客的攻击而使信息泄露,从而造成了溯源信息的可信度降低[2]。而且基于物联网技术的农产品追溯系统基本都是采用C/S 模式,信息共享效率偏低。随着产品信息量日益增加,使得追溯成本增加且效率下降。区块链本质是分布式数据库,其集合了多种计算机技术,具有去中心化、安全透明、不可篡改、智能合约、可验证性等基础特征[3]。将无中心化网络(区块链) 应用在农产品信息追溯系统中可以有效解决以上存在的问题,从而提供安全可信的农产品追溯。
区块链系统包含多种技术,在分散的服务器及网络通信等硬件设备的支持下,通过数字签名、时间戳、共识算法、工作量证明等多项技术的结合,使得区块链在无中心网络中平稳安全运行。区块链网络节点上的权利和功能都是对等的,对产生的区块信息会迅速备份到所有网络节点上,并连接在之前链上最新的区块之后,最终完成整个区块链网络的一致化。数据区块结构如图1 所示。
图1 数据区块结构
区块链可以分为公有链、联盟链和私有链[4],对比特点如表1 所示。结合我国农产品生产经营现状,选择采用联盟链。所谓联盟链,就是这个区块链具有准入许可,对特定组织团体开放,若干机构联合发起,不像公有链,任何人都可以随时进入。与公有链和私有链相比,它属于“半开放”区块链,访问许可意味着候选节点需要从网络中已有的节点获得许可才能进入区块链。联盟链仅针对某个特定组的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成是由全部的预选节点共同决定[7]。联盟链不仅易于监管,还有三大核心优势:效率,如果是高频交易,则要求较高的交易效率,所以交易的吞吐量是应用区块链企业的交易绩效指标;安全性,业务数据记在其自身的节点上,多个节点之间的数据共识由多方构成,没有一方拥有最终决定权,这样就可以做到可追溯和防篡改。这些特性能提升机构之间的信任,降低了信任成本,提高了效率,可以促进多方合作;交易成本较低,交易仅需几个受信的算力高的节点进行验证,无需全网确认。
表1 公有链、联盟链、私有链对比
共识机制的存在,也使得即使区块链网络受到恶意攻击时也能保持数据的不可篡改。这种不可篡改和追溯的无中心数据库可以在农产品信息收集和交易流转的过程中解决信息不对称和资料造假等问题。PBFT 共识算法(拜占庭容错算法) 是确保分布式系统与拜占庭故障节点一致性的通用解决方案。对比POW/POS/DPOS 等共识算法具有效率高、能耗低等优点。PBFT 共识算法针对n个节点的系统,整个系统要求对非拜占庭节点输入的数据信息相同时,所产生的结果也应相同;对于交易请求所有非拜占庭节点都能接收到,保证安全性的前提下允许存在不超过n-1/3 的失效节点,即n≥3f+1 就可以认为达成了一致[5]。其中n为总节点个数,f为失效节点个数。PBFT 共识算法适用于联盟链场景。
利用PBFT 算法保证联盟链节点间的一致性,PBFT 算法传递示意如图2 所示。
图2 中的C为请求节点,0、1、2 均为正常运行的服务器,3 为失效服务器,算法执行情况如下:
(1) Request:由节点C向主节点发送请求,记为0。
(2) Pre-prepare:C请求主节点服务端0 后,服务端0 传递至副节点1、2、3。
(3) Prepare:副节点1、2、3 接到传递记录后,1 继续传递至023,2 传递至013, 3 因为失效无法继续传递。
(4) Commit:节点0、1、2、3 在准备阶段如果收到超过一定数量相同的请求,就会进入提交阶段,并且传递提交申请。
(5) Reply:在提交阶段若0、1、2、3 节点收到超量的相同请求,则会对节点C反馈信息。
将物联网技术和区块链技术相结合,构建一个农产品信息追溯模型框架,如图3 所示,在物联网感知层中,利用各种传感设备实时采集各种农业数据信息,并上传至区块链数据层[6]。在区块链数据层中,利用密码学加密技术对上传的数据进行加密处理防止农产品生产方或者物流周转方对农产品信息和物流运输信息进行篡改。应用层中的农产品交易信息也会上传至区块链数据层,依靠区块链系统中的时间戳技术产生一个可追溯查询和监督的区块链条,同时也便于政府监管部门的监督和管理[7]。
2.5.1 区块数据采集与传输
如图4 所示,依靠各种物联网传感设备采集大棚内的空气温湿度、土壤温湿度、光照强度、CO2浓度、PH 数值等数据,经过格式转换后,再利用WLAN、4G、5G 等现代无线传输渠道进行信息传输,形成区块链数据的源头。
2.5.2 数据上链存储
为了实现农产品追溯信息全覆盖,保证农产品交易信息的完整性,需要将农产品种植时间、采摘时间、农药残留量、交易流转等信息一并上链存储,如图5 所示。使用区块链技术中的加密算法对存储的数据进行摘要计算,发送到区块链上,通过共识算法确认信息的真实性后广播出去,其他节点接收到之后进行匹配,若符合要求则存储在自己的账本中,交易内容再也无法篡改。
2.5.3 链上追溯信息查询
农产品经过交易流转到达消费者手中后,可以通过扫描包装上的二维码、RFID 感应设备来查询该农产品完整的生产交易信息,包括种植时间、种植地点、采摘时间、生长环境数据、加工单位信息、物流运输信息、区块链上一交易地址哈希值等。消费者可以在区块链交易平台输入上一交易地址哈希值来查询农产品生产交易的数据,通过对比匹配数字签名来确定生产交易信息是否被篡改。
图2 PBFT 算法传递示意图
图3 基于联盟区块链技术的农产品信息追溯模型框架
图4 农产品信息追溯图
图5 数据上链流程
实验建立了一个由12 台计算机组成的,运行Linux 操作系统的仿真平台,用来验证PBFT 的性能。每台计算机参数如下:8GB 内存,i5 CPU,Linux 操作版本是Ubuntu 16.4。每台计算机都在同一局域网中,搭建了符合Hyperledger fabric 配置要求的系统环境,建立了区块链基础设施网络。本实验的农业溯源数据来源于康平某大棚。
基于比特币区块链的权益证明(POS) 和工作量证明(POW) 共识算法无法提供绝对信任的节点,同时也无法满足高效率的需求。本文选择了实用拜占庭容错算法(PBFT) 来实现区块链共识,解决一致性问题。通过PBFT 算法得到的数据结果如表2 所示,其中S代表节点总数,S*代表失效节点数。通过实验结果可以看出,PBFT 算法可以容忍1/3 左右的失效节点,容错能力较强。
表2 PBFT 算法容错法分析
解决一致性问题是保证区块链数据存储过程中对于节点之间达成一致性共识和实现互信的基础。
本文以康平某大棚种植销售的葡萄为例,其基于联盟区块链技术的葡萄产品信息追溯过程可分为如下几个步骤:第一步:当地种植企业对其大棚种植的葡萄,利用物联网设备从播种葡萄秧苗开始不间断采集大棚内的空气温湿度、土壤温湿度、光照强度、CO2浓度、PH 数值等数据,并记录种植时间、地点、施肥量、农药喷洒量、负责人信息等。保证葡萄的种植系信息被实时记录,保证信息的可追溯性;第二步:在葡萄生长过程中全程采用视频监控系统和智能化的物联网信息采集系统,对葡萄的生长环境全程监控,并将处理后的信息上传至区块链系统,在葡萄生长成熟后,生成对应的二维码标识,待采摘包装后置于产品标签上;第三步:质量检验过程中对产品的质检过程和质检结果全程记录,并将质检单位、质检时间、质检结果等信息上传至区块链系统;第四步:在葡萄运输过程中,物流单位必须通过物联网设备对葡萄的储存条件、运输方式和运输状态进行实时监控,并及时将信息传输到区块链系统中;第五步:葡萄经物流单位运输到销售单位时,销售单位须对该批葡萄的产品标签进行信息核对,将核实情况上传到区块链系统;第六步:消费者通过电商平台购买葡萄,交易记录被保存在自身的账户中并存储到区块链系统;第七步:供应链上的相关节点一起对区块链系统信息进行认证;第八步:消费者通过电商平台提供的查询功能,进行对葡萄生产信息、物流信息、交易信息、配送信息等进行查询和追溯。
针对我国农产品生产销售过程中的造假、掺假、信息不对称的问题,本文通过利用区块链技术构建了农产品信息追溯模型,模型通过物联网技术采集农产品的初始种植信息以及质检信息、物流运输信息,保证了信息的真实性、实时性。区块链系统保证了农产品信息的可追溯性和不可篡改。最后,在康平某大棚构建了从葡萄种植开始到消费者共同参与联盟区块链系统模型,完成了农产品的追溯查询的实验验证。