基于双区块链结构的农业食品追溯方案
2020-02-22刘秀升郝秋梅罗诗栋和斌涛
刘秀升 郝秋梅 罗诗栋 和斌涛
摘要:区块链技术具有去中心、防篡改、分布存储等特性,本文利用私有链的高效性和联盟链的可扩展性好这些特点设计了基于双区块链结构的农业食品追溯方案,实现对农业食品种植、加工、质检、仓储、运输、销售等过程的追溯,将各个生产过程的详细信息存储在IPFS系统中,将各个生产过程追溯信息的Hash值存储在私有区块链上,前一阶段在私有链中的交易ID将记录在下一阶段的追溯信息中,消费者通过销售阶段的追溯信息结合IPFS可以获得农业食品完整的溯源信息,通过将最后销售阶段追溯信息的Hash值作为交易链接到联盟链上,加强方案的安全性和可信度。私有链的功能是溯源信息的收集、追踪,联盟链的功能是溯源信息的防篡改和验证。本追溯方案可以实现对农业食品的信息查询、源头追溯、商标防伪、责任追究,从而保证农业食品安全。
关键词:区块链;Hash函数;追溯;IPFS
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020)36-0227-02
1 引言
农业食品安全关系到每个人的健康,食品安全事故时有发生,消费者买了一桶菜籽油,诸如油菜产地、油菜等级、加工工艺、加工时间、质检部门的质检结论、包装仓储信息、运输记录以及销售者的资质等信息都是消费者关心的问题,但是由于农业食品从种植、加工、质检、仓储、运输、销售环节众多,涉及人员复杂,责任不明确。难以实现对农业食品信息的完全追溯。区块链技术可以实现数据的分布存储,利用区块链可以保证数据不可篡改、信息公开透明、可追溯。已经有一些学者基于区块链技术来完成对农业食品各个生产环节的追溯[1-4]。
2 区块链技术
区块链中的每个区块由区块头和区块体构成,区块头包含前一个区块的哈希值、版本号、难度、随机数、区块大小、时间戳以及Merkle根,Merkle根由该区块中所有交易的Hash值生成,一个交易信息发生改变则该区块的Merkle根就发生变化,从而可以防止交易篡改,新区块中存储上一区块的哈希值,通过这种方式形成一条从当前区块追踪到初始区块的数据链,从而实现区块链中每条数据可以追溯,进一步实现监管和追责。
區块链可以分为公有链、私有链、联盟链[5]
公有链:公有链中每个节点都允许加入区块链进行交易和验证,可以真正实现完全去中心化,公有链安全性高、效率低,比特币和以太坊都属于公有链。
私有链:只有企业内部经过许可的节点可以加入私有链,私有链具有高效、大容量等优点。
联盟链:经过认证后的组织成员可以加入联盟链,联盟链介于公有链和私有链之间,可以实现部分去中心化,超级账本是联盟链中的代表。
3 基于双区块链结构的农业食品追溯方案
3.1 实体介绍
如图2所示:本追溯体系包括私有链、IPFS(星际文件系统),公有链、消费者四个实体。
(1)IPFS: IPFS是区别于传统的基于路径查找的新的基于内容的寻址方法,IPFS系统中每个文件都有一个唯一的哈希标识(256Bit),拥有 256比特的哈希值就可以从IPFS系统得到对应的文件。
(2)私有链:私有链由企业内部各个部门构成独立节点,完成企业对某产品的信息采集,包括种植部门、加工部门、政府质检部门、仓储部门、运输部门、销售部门以及企业的监管中心对企业各部门的行为进行监管。
(3)联盟链: 联盟链中的节点为各个企业,企业间相互监督、防止对数据进行篡改。
(4)消费者: 消费者有权限了解所购买的农业食品的详细追溯信息以及该产品商标是否为复制品。
3.2基于双区块链的追溯方案设计
1)种植阶段交易:种植阶段的追溯信息包括农作物详细种植信息[M0],种植责任人签名[s0],将本阶段哈希值[H0]作为交易上传到私有链中,其中[H0=h(h(M0),h(s0))]同时返回该交易在私有链中的交易地址[TX0_ID],用[H0]为索引上传到IPFS系统。企业内部拥有[H0]就有权限从IPFS系统提取完整的种植信息。
2)加工阶段交易:加工阶段的朔源信息包括详细的加工信息诸如加工辅料、加工设备、加工时间,这些信息记为[M1],加工责任人签名[s1],上一阶段在私有链中的交易地址[TX0_ID],计算[H1=h(h(M1),h(s1),H0,TX0-ID)],将[H1]作为交易上传到私有区块链中,同时返回该交易在私有链中的交易地址[TX1_ID],用[H1]为索引上传到IPFS系统。企业内部拥有[H1]就有权限从IPFS系统提取完整的加工信息。
3)按照此种链接方法生成销售阶段的交易,销售阶段的朔源信息包括详细的销售数量、销售地点、销售时间打包记为[M5],销售责任人签名[s5],上一阶段(运输阶段)在私有链中的交易地址[TX4_ID],计算[H5=h(h(M5),h(s5),H4,TX4-ID)],将[H5]作为交易上传到私有区块链中,同时返回该交易在私有链中的交易地址[TX5_ID],用[H5]为索引上传到IPFS系统。企业内部拥有[H5]就有权限从IPFS系统提取完整的加工信息。企业内部各节点对前面节点的交易有验证和监管的权限。
4)私有链和公有链的链接,销售阶段完成后以[H5]为交易来生生成联盟链中的区块,同时返回该交易在联盟中的地址[TX_id],这样对每个商品建立标签,标签包括在私有链中的销售阶段的交易地址[TX5_ID]和联盟链中的地址[TX_id]。
5)消费者溯源:通过扫码就可以获得销售阶段的追溯信息在私有链中的交易地址,结合IPFS系统就可以获得详细的销售信息以及前一阶段(运输阶段)溯源信息交易地址[TX4_ID]进而获取运输信息、依次向前追溯可以获得仓储信息、质检信息、加工信息、种植信息。从而得到农业食品的完整溯源信息。如图3所示。
6)验证:如果消费者对溯源信息存在质疑,可以在权威监管部门(属于联盟链中的节点)的配合下获取企业上传到联盟链中的[H5]进行对比验证,因为联盟链的节点为各个企业和权威监管部门组成,企业之间相互竞争相互监督,加上权威部门要篡改联盟链中的交易信息难度较大,这样可以验证企业是否有篡改交易记录的行为。
7)追责:交易生成的每个阶段都有责任人签名,这样可以防止抵赖行为,一旦发现有食品质量问题和信息造假行为将追究责任人的责任。
8)防复制:为了防止一些名优产品的商标被复制和伪造本文利用刘家稷等在文献[6]中的balance方案,企业为每个产品在私有链中间建立balance账号,当该产品已经销售时,balance标记为1,产品销售时balance标记为0,消费者可以通过balance来判别是否存在商標复制和伪造。这样也保护了合法企业的权益。
4 结论
本文利用私有链和联盟链构建农业食品追溯方案,在保证系统高效性的同还使得方案有较高的可信度,可以追溯到农业食品生产的各阶段完整信息,一定程度上保证了食品安全。但是方案中只是将销售阶段的追溯信息哈希值[H5]作为交易上传到联盟链,联盟链中的其他企业在商品完成销售后才发挥监管功能,对种植、加工、质检、仓储、运输信息只是企业内部进行监管验证,可信度不强,后续的研究需要考虑让联盟链发挥更强的监管功能。
本方案中将区块链技术和IPFS系统相结合,在私有链阶段,各生产阶段的详细溯源信息、相关责任人的签名、前一阶段的溯源信息在私有链中的地址都将存贮在IPFS系统中,而只将对应的哈希值存储在私有链中,从而保证私有链能够高效、大容量的存储各种溯源信息,本方案没有对溯源信息进行分类加密,合理的做法应该是讲溯源信息区分为敏感隐私信息(可能涉及企业商业隐私)和非敏感信息,针对消费者和权威部门设定不同的追溯权限,在实现农业食品安全追溯的同时合理保护企业的隐私。
本追溯方案私有链中的企业内部节点有权对各种生产过程进行监管,后续节点可以通过提取IPFS系统中前面节点的溯源信息,通过比对溯源信息及签名哈希值来判定是否存在信息篡改行为,在一定程度上可以实现企业内部的监管功能。本方案没有考虑物联网技术,各生产阶段的数据都是人工采集,在下一步研究中,可以将物联网技术和区块链技术相结合来完善本农业食品追溯方案,将考虑利用各种智能传感器来定位各环节的准确地理位置,智能采集作物的生长信息,物联网观测节点来记录农作物的种植过程、农药使用过程、施肥过程等信息,同时采集农业食品的生产、仓储、运输过程的实时视频,把采集到的视频信息推送到企业的云服务器上,供消费者和监管部门查询浏览,消费者通过扫码就能和田间地头零距离接触,让消费者可以随时监督农户的种植过程,真正从源头上保证农业食品的安全。
参考文献:
[1] 李宣,柳毅.基于双区块链及物联网技术的防伪溯源系统[J/OL].计算机应用研究.[2020-06-16].https://doi.org/10.19734/j.issn.1001-3695.2019.08.0291.
[2] 董云峰,张新,许继平,等.基于区块链的粮油食品全供应链可信追溯模型[J].食品科学,2020,41(9):30-36.
[3] 曾小青,彭越,王琪.物联网加区块链的食品安全追溯系统研究[J].食品与机械,2018,34(9):100-105.
[4] 付永贵,朱建明.基于区块链的数据库访问控制机制设计[J].通信学报,2020,41(5):130-140.
[5] 张利,童舟.基于区块链技术的农产品溯源体系研究[J].江苏农业科学,2019,47(13):245-249.
[6] 刘家稷,杨挺,汪文勇.使用双区块链的防伪溯源系统[J].信息安全学报,2018,3(3):17-29.
【通联编辑:唐一东】