钱建平,范蓓蕾,史 云,吴文斌
(中国农业科学院农业资源与农业区划研究所,北京100081)
追溯系统是提高农产品质量安全管理能力的重要途径之一,为应对问题频出的食品及农产品安全问题,美国、欧盟等众多国家和地区相继建立了食品安全追溯体系及相关应用系统[1-3]。我国近年来也在食品及农产品行业引入了追溯系统,以期提高食品及农产品的质量安全管理能力,保障消费者的食品安全,促进农业产业稳定发展[4]。我国相继出台了促进农产品质量追溯体系推广应用的法律法规,在我国2018年修正的《食品安全法》第四十二条中明确食品生产经营者应当依法建立食品安全追溯体系,保证食品可追溯。在各部门推动下追溯体系相关的国家及地方标准相继建立,促进了追溯系统在全国范围内的推广和应用[5]。《食品冷链追溯管理要求》(GB/T 28843-2012)规定了预包装食品从生产结束到销售之前各个环节中进行追溯信息采集和实施追溯的管理要求,《食品追溯信息记录要求》(GB/T 37029-2018)规定了实现预包装食品追溯时生产、物流和销售等过程中涉及的追溯信息的记录要求,《农产品追溯要求 果蔬》(GB/T 29373-2012)、《农产品追溯要求 水产品》(GB/T 29568-2013)等标准则规定了不同农产品构建供应链可追溯体系的信息记录要求。我国食品药品监管总局制定了《关于食品生产经营企业建立食品安全追溯体系的若干规定》(2017年第39号),规定了食品生产经营企业建立食品安全追溯体系的具体实施方法和内容,对追溯信息内容进行了详细定义。上述各种标准和规定的建立促使我国追溯系统向更加规范的方向发展。
农产品具有可追溯性的关键是在其生产、加工、流通、销售等供应链各个阶段建立连续完整的信息流,通过将物流与信息流的结合,实现其正向追踪和反向追溯能力。农产品从农田到消费者要经过多个环节[6],涉及到农民、中间商、运输商、销售商、加工企业等不同的责任主体,在每个环节都可能存在不安全问题,而由于供应链环节复杂、责任主体多变,使得建立农产品可追溯系统更加复杂。供应链各责任主体间的物流形成了双向或多向的信息流,组成了一个共同参与和协同合作的“网链”[7]。但由于网链中存在着批次转换、信息传递、物流与信息流无法有效衔接等问题,导致追溯断链[8];另一方面,农产品供应链时空跨度大,易造成信息不透明,导致追溯信息可信度不高[9]。目前,农产品供应链信息采集的工作已经取得不错的进展,保证信息真实性、使追溯系统切实有效成为当前农产品追溯面临的关键技术问题。区块链技术以其不易篡改、去中心化、信息透明等特性成为解决此类问题的可行办法[10]。区块链技术是为了实现比特币系统的去中心化而提出的一种支持数据存储和共享的底层技术,其核心技术包括时间戳、防篡改、非对称加密、共识机制等[11]。文章在分析传统追溯系统发展及存在问题的基础上,结合区块链技术优势,构建可信追溯系统框架,以增强追溯可信度、降低追溯断链的风险。
追溯系统的研究最初是欧盟为了保障其所属成员国的牛肉产品安全而开展的,并早在2002年欧盟就颁布了178/2002法令,将可追溯性要求扩展到欧盟范围内销售的所有食品[12]。紧随其后,美国、加拿大、日本、澳大利亚等国相继发布法律条令,要求建立食品身份信息,实现可追溯性。为了应对国外贸易环境变化以及国内食品质量问题,我国从2003年开始展开追溯系统的相关研究,并在国家“863”、国家科技支撑等重大国家项目上设立追溯研究相关专题,相继开展了肉类、蔬菜、水果、粮食等不同农产品及食品的质量安全追溯系统建设及关键技术研究。
传统的农产品追溯系统主要依靠数据库技术、网络技术、条码技术、自动识别技术等实现,经过近20年的发展,我国已经建成了针对多种农产品追溯的追溯系统,如表1所示,这些追溯系统有的由政府部门主导,有的由社会机构或企业主导。
续表
比较这些追溯系统功能及框架可知,传统追溯系统框架主要由数据采集、数据传输、数据存储、数据处理及数据应用等5个基础部分组成,如图1所示。
图1 传统农产品追溯系统架构Fig.1 Framework of traditional traceability system of agricultural products
在传统农产品追溯系统中,数据采集阶段以传感器技术、智能手机/平板技术、GPS定位技术等为支撑,主要实现了对农产品供应链各个环节的数据采集功能,这一阶段的实现依赖于相关责任主体执行的各种信息系统:在农产品生产过程中,生产企业通过农产品生产过程管理系统,如杨信廷等[13]采用编码、网络、数据库等技术开发的蔬菜安全生产管理系统,提供了对蔬菜农事生产操作、投入品使用、采收、包装等信息的采集录入功能;在农产品加工过程,加工企业通过运行加工管理系统,如刘学馨等[14]采用自动检测设备、农残快速检测仪、电子秤等自动化监控设备建立的净菜加工过程质量安全信息管理平台,将企业加工过程中的关键质量安全控制点的信息进行了自动化信息采集;在供应链其他环节,物流管理系统、库存管理系统、交易管理系统、检验检疫系统等信息系统,分别由各自责任主体执行,采集物流、仓储、交易等过程中农产品的相关信息,如杨信廷等[15]采用地理信息系统、条码技术等开发的智能配送系统,钱建平等[16]基于条码溯源电子秤开发的社区菜店交易管理系统等。在数据传输阶段,物联网、互联网、无线传感器网络等被单一或组合地应用于追溯系统的数据传输中,将各种信息系统采集的数据通过远距离或近距离通信技术向中央存储数据库或数据仓库传输。而传统农产品追溯系统中,数据通常以中央存储数据库或数据仓库形式统一存在,即使存在各阶段的分布式数据库,也会在追溯系统构建中完成数据的集中存储和管理,这种存储的特点是数据由统一机构或部门管理,其数据的来源不透明,对数据库的控制权较集中。完成中央数据库的建立后,传统追溯系统通过XML、信息交换、加密解密算法等对数据进行处理,实现标签编码、产品安全预警等数据处理功能。在数据应用阶段,传统追溯系统以网站、APP、微信小程序等形式,向消费者、政府部门、各个农产品责任主体提供了产品追溯、责任追踪、安全监管、产品召回等功能。
(1)数据共享困难
虽然相关部门及机构出台了一系列规程、办法、指南、要求等标准,但是部门之间缺乏有效的沟通协调,出台的标准之间存在内容交叉、描述不统一等情况。这些问题导致了追溯系统应用中不容易实现数据共享,系统之间不兼容,需要重复建设。
(2)参与意愿不高
我国农产品供应链中责任主体众多,很多农户和企业生产规模小、技术水平低,采用信息技术实现全面的可追溯系统增加了其经营成本和管理难度;同时由于“以次充好”现象的存在导致追溯农产品不一定能产生额外的收益,因此追溯体系易出现“叫好不叫座”等情况。
(3)监管机制不清
虽然多部门、多系统、多渠道监管农产品的现象有很大改观,但还存在着部分产品及环节监管界限不清的问题;同时由于农产品数量多、供应链长、不确定因素多,导致集中式的监管成本很高,容易出现监管漏洞。
(4)信息真实存疑
目前传统的农产品追溯系统以中央数据库存储方式存储追溯信息,中央数据库的控制权过于集中,有的甚至由农产品生产责任主体自行监管,追溯信息的采集和录入全凭自觉自律,没有对系统应用和执行过程的监管监督机制和手段,使得数据的真实性不能得到保证,不能完全解决农产品消费市场中消费者对产品的信任缺失问题。
区块链本质上是一个分布式的公共账本[17],技术特征包括去中心化、可集体维护、可靠等。与传统的分布式数据库一样,区块链数据库也存在于不同地域、不同计算机设备上,其内部架构对用户透明。而两者的主要区别是,区块链数据库不需要设置具有控制权限的数据库管理员,这也是区块链区别于普通数据库的主要特点,即去中心化管理。在传统分布式数据库中,数据库的管理入口单一、逻辑整体性强,而区块链数据库具有多个管理入口。在区块链中,任何计算机都可以作为一个节点加入到区块链网络,且每个节点都是平等的,都保存着整个区块链数据库,其存储的数据具有一致性,所有数据都是全冗余备份,除了加密的交易双方私有信息不公开以外,其他信息在区块链中都是公开透明的,任何人可以访问,使信息具有高度的共享性和透明性。
区块链由一个个相连的区块构成,每个区块就像数据库记录,每次创建新数据就是创建一个新的区块,而区块与区块之间通过不可修改的哈希值建立关联关系。每个区块由区块头和区块体组成,其中区块头存储区块元信息,包括区块生成时间、区块体的哈希值、上一个区块的哈希值等,而区块体则存储实际创建的数据。哈希值是区块中的重要信息,是一个由计算机根据区块头的内容自动计算出的长度相同的特征值,如果上一个区块或当前区块的内容有变化,势必引起当前区块的哈希值产生变化,而原本跟在当前区块后面的区块也将无法链接到当前区块,也就意味着区块链断裂。由于这种联动机制的存在,对区块链数据篡改几乎不可能成功,单点错误不会影响全局,这也保证了区块链数据的可靠性,这种可靠性不需要依靠人们的信任和信用,而完全由区块链本身的技术特征决定,具有客观存在性。
区块链的另一个重要特征是采用了时间戳技术,在区块头中包含了该区块链生成的时间信息,唯一标识了一个时刻。每个区块一产生就产生了对应的时间戳,时间戳不仅提高了区块链中数据的不可篡改性,还使得区块与区块之间具有了时间序列的排序关系,使信息更加公正。
目前区块链已经发展到3.0时代,成为各行业去中心化数据管理的技术支撑[18]。区块链技术从金融领域扩展到各类社会活动中,从底层技术角度提供了解决信息共享时的信任问题。区块链的技术架构多种多样,邵奇峰等[19]分析了多种区块链平台并提出了包括网络层、共识层、数据层、智能合约层和应用层的区块链架构,谭磊等[20]则将区块链自低向上分为数据层、网络层、共识层、激励层和应用层。
分析比较已有区块链架构可知,其核心包括账本管理、收发管理、密码管理、共识管理、智能合约和系统管理等部分。账本管理是数据层的核心功能,负责区块的创建、存储、链接等,其创建方式可以基于交易模式,也可以基于账户模式,账本的存储支持不同的数据存储模式,包括各种关系型和非关系型数据库,如MySQL、LevelDB等。收发管理依托网络协议实现区块链节点之间的数据传输,如P2P协议等,需要根据区块链架构以及节点数量、密码算法等调整采用的网络协议。密码管理包括数字签名、哈希算法、隐私保护算法、密钥维护和存储等,是保证数据安全的重要技术。共识管理是区块链解决多个管理入口可能产生的混乱问题而提出的,负责协调区块链网络中各个节点上数据的一致性,实现节点选举、数据同步控制和一致性验证等功能,目前已有的共识算法有工作量证明(Proof of Work,PoW)、消逝时间证明(Proof of Elapsed Time,PoET)等。智能合约是区块链实现去中心化计算的重要协议,是一种采用算法和程序编制合同条款并部署在区块链上,并能自动执行的数字化协议,智能合约可以采用多种开发语言进行实现,包括C++、Python、Java、JavaScript、Bitcoin Script等。系统管理主要实现了区块链架构中的权限和节点管理,包括权限控制、节点认证等。
根据节点进入区块链的机制不同,可以将区块链分为公有链、联盟链、私有链3种类型,其技术特点如表2所示。公有链、联盟链和私有链对节点的开放程度逐渐降低,公有链允许所有人进入网络且都具有读写权限,如比特币就是其典型代表,联盟链则将权限进行了限制,仅特定群体预设的节点可以记账,其他人可以参与交易但需要托管记账,私有链中所有节点的权限都由一个组织控制。
表2 不同类型区块链技术特点Table 2 Characteristics of different block chain technology
区块链技术具有分布式台账、去中心化、集体维护、共识信任等特点,在解决目前追溯系统中存在的参与主体众多且分散、中心化方式管理与运作困难,农产品供应链时空跨度大、单一环节主体掌控能力弱、信息记录多样且可信度不高等问题时具有先天技术优势。根据上文所述区块链的类型有公有链、私有链和联盟链3种主要形式,公有链中人人可以操作区块链,不适合供应链追溯中参与主体复杂的特点,私有链中仅核心节点具有操作权限也使供应链追溯系统的实现受到较大限制,而联盟链中又有授权节点又有公开节点,其共识管理模式保证了供应链参与组织的高效运行、同时兼顾了系统安全和可靠特征。因此,该文基于联盟链构建了适用于农产品追溯的可信追溯系统框架,如图2所示。
图2 可信追溯系统技术框架Fig.2 Framework of credible traceability system
可信追溯系统架构由供应链层、数据层、网络层、共识层、合约层和应用层组成,供应链层包括农产品供应链的生产、加工、仓储、物流、销售等各环节的信息系统以及其产生的数据,这些数据是追溯的核心数据来源,构成了基础数据。基础数据以区块数据结构存储到区块链的数据层中,采用哈希算法、时间戳以及区块间的传递机制工作。网络层通过身份验证、节点权限等,结合P2P网络协议将区块链数据存储于各个节点。共识层采用权益证明(Proof of Stake,PoS)算法进行管理,在基于权益的共识算法中,权益证明就是资源证明,最高权益的节点即拥有最多资源的节点具有记账权,这种机制满足了供应链追溯系统中,具有更多权益的政府部门及机构具有更高的权限,能够实现对供应链参与主体的审核。合约层将农产品质量安全相关的法律法规、技术标准等进行归纳总结形成智能合约,通过设定出发条件和响应规则实现了监管职能内嵌到供应链流程中,提升监管效率。应用层通过构建可信追溯系统门户,为政府、组织、企业和消费者提供服务。
(1)供应链追溯区块结构
区块由区块头和区块体两部分组成。区块头用于链接到前面的块,为区块链数据库提供完整性保证,区块体包含了经过验证的、块创建过程中发生的所有追溯记录。追溯记录采用唯一追溯编码和追溯内容的方式生成,追溯内容因不同环节数据采集特征而不同。采用Merkle树的方式对一定时间内的唯一追溯编码进行存储,以校验区块数的完整性。
依据追溯过程的链式特征,区块之间的链接以每个区块的区块头地址为依据,每一个区块的区块头都包含了前一个区块的追溯记录压缩值,每个区块按时间顺序进行有序排列,形成了追溯区块链。
(2)追溯主体身份认证
农产品供应链各追溯主体在区块链上注册时,会创建一个包括企业名称、社会统一信用代码、地址、法人代表等信息的档案。注册成功后将获得一个公钥和私钥,公钥向区块链中全体成员公开,而私钥是交易中身份验证的关键。采用非对称加密算法对主体的身份信息进行加密,防止信息被篡改。
(3)农产品安全共识机制
一个生产经营单位,可以在经过农产品安全主管部门的审核批准后建立节点,然后加入网络参与追溯信息的接入、传播、记录和验证。当进入后,该节点便有一个维护全供应链的账本,任何进入系统的数据信息需要经过全网各节点共识通过后才会被记录区块中。构建可信追溯的共识机制的重点是分布一致性问题。由于农产品供应链各主体存在着上下游的业务关系,因此不需要采用PoW算法,可采用拜占庭容错算法实现高效分布一致性。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,为解决追溯系统面临的追溯断链及可信度低的问题提供了有效的技术方案。该文梳理了传统追溯系统的技术特点和区块链技术的特征和技术架构,针对我国传统追溯系统应用面临的数据共享困难、参与意愿不高、监管机制不清和信息真实存疑等问题,提出了基于区块链的可信追溯系统,从供应链层、数据层、网络层、共识层、合约层和应用层分别阐述了可信追溯系统的工作原理,并探讨了供应链追溯区块结构设计、追溯主体身份认证流程设计、农产品安全共识机制构建等系统实现的关键技术。该框架为开发与应用基于区块链的追溯系统奠定了坚实基础,进而为提升追溯连贯性、增强追溯可信度提供了有效解决方案。