一种基于区块链的农产品溯源系统的制作方法

文档序号:18511304发布日期:2019-08-24 09:08阅读:272来源:国知局
一种基于区块链的农产品溯源系统的制作方法

本发明涉及农产品溯源系统领域,尤其涉及一种采用区块链技术的农产品溯源系统。



背景技术:

随着消费者对农产品消费水平不断增长,人们对农产品的品质和安全要求越来越高,为解决农产品质量和安全的监管问题,建立一个可靠、透明的农产品溯源系统尤为必要。对于监管部门来说,当发生农产品安全事件时,通过农产品溯源系统可以快速查询农产品从生产、仓储、加工到销售全过程的详细信息,准确找出发生问题的环节和责任主体,从而对农产品质量和安全进行监管。

传统的溯源系统依赖于数据库存储技术,溯源信息停留在生产日期、检验检疫合格等初级信息层面,完整的溯源信息应包含农产品生产商、加工商、销售商和消费者等多个主体,涉及生产、仓储、加工、销售等多个业务环节的全过程信息,对于物联网采集的海量信息,数据库技术按照统一标准管理的工作量和成本较高,同时由于传统的溯源系统是单一中心节点存储数据,可以通过后台篡改数据,造成数据安全性问题,降低数据的信用和监管的公信力。

而区块链技术使用分布式账本系统具有传统数据库无法比拟的优势,包括:参与系统的每个节点具有同等的权利和义务,具有“去中心化”的特点,每个节点参与记录的同时也能验证其他节点记录结果的准确性,所有节点共同维护区块链网络。第二,由于采用非对称加密算法和哈希算法,单个节点数据的篡改将导致区块链上其他节点数据的修改,工作量大到系统无法承受,因此单个节点对数据库的修改无效,保障了数据的记录、传递是可靠的、不可篡改的。第三,区块链的数据高度透明,任何人均可通过公开的接口查询数据。第四,采用共识机制使得所有节点能够按照统一的协议完成数据记录和交换,解决了传统溯源系统信息采集不标准的问题。

从目前农产品溯源系统的研究来看,基于区块链的农产品溯源系统的开发才刚刚起步,大部分系统采用比特币或以太坊等算力较高的公有链技术,从实用性和经济性来看尚未形成高效、成熟的方案。主要存在以下问题需要进一步优化完善:

1.如果在公有链中存储每件农产品的溯源信息,调用智能合约存储的开销过高;

2.在公有链中很难将格式大小不一的溯源信息序列化存储,存储效率低下、信息存储量小;

3.为加强监管的全面性,还应关注并解决农产品的仿冒和信息复制问题。



技术实现要素:

本发明的目的在于提供一种基于区块链的农产品溯源系统,利用私有链信息存储效率高、容量大的优点以及公有链可信度高的优点,能够有效地防止农产品信息受到攻击和篡改,防止正品标签被盗用和复制,并且提高了数据存储效率,降低计算开销,有利于消费者或监管部门快速定位到问题农产品的生产环节和责任人。

有鉴于此,本发明提供一种基于区块链的农产品溯源系统,其特征在于,包括农产品大数据平台、农产品溯源查询平台、5g网络:

所述的农产品大数据平台包括农产品生长信息模块、仓储信息模块、加工信息模块、销售信息模块;所述各模块通过5g网络实现数据上传;

所述的农产品生长信息模块是由农产品生产基地记录的农产品生长过程中的关键信息,具体包括育种信息、育肥信息、生长周期、气象信息、病虫害信息、保鲜周期,农产品生产基地将向私有链上传农产品各阶段的生长信息、相关责任人的数字签名以及通过哈希运算生成的标签信息;

所述的仓储信息模块是由仓储企业记录的农产品仓储过程中的关键信息,具体包括保存地址、保存温度、保存湿度、保存时间、产品分级信息,仓储企业向私有链中加入仓储信息、相关责任人的数字签名以及通过哈希运算生成的标签信息;

所述的加工信息模块是由品牌商/加工企业记录的农产品加工质量信息、成品质量信息,品牌商/加工企业向私有链中加入该农产品的加工和成品信息、相关责任人的数字签名以及通过哈希运算生成的标签信息;

所述的销售信息模块是由电商平台记录的农产品销售信息,包括产品编码信息、销售时间、销售地点、经销商,电商平台向公有链中存储产品销售信息、销售部门的数字签名以及通过对私有链中各信息模块产生的标签信息进行哈希运算生成的产品标签信息;

所述的农产品溯源查询平台通过5g网络对所述农产品大数据平台的信息进行溯源查询,所述农产品溯源查询平台包括数据修复模块、防伪查询模块、溯源信息查询模块:

所述的数据修复模块利用p2p分布式账本系统的可寻址特性保障私有链数据不被篡改;p2p分布式账本系统中存储每个产品的备份信息,包括各信息模块记录的详细溯源信息及相关责任人签名;当私有链中各区块数据的哈希值与公有链中存储的哈希值不同时,说明私有链数据被篡改,可通过公有链中哈希值在分布式账本系统中寻找被篡改区块的原始信息,完成对私有链的修复;

所述的防伪查询模块用于消费者购买产品前对产品的查询,通过查询结果判断该产品是否为正品;判定机制为:电商平台对每个产品在私有链上的账户资金初始赋值为0;由于产品账户信息存储在公有链中,受账户私钥保护,除电商平台外,任意其他用户无法使用该账户资金,因此账户资金只能增加无法减少;当产品卖出后,电商平台向该产品的账户发放私有链货币,账户资金值将大于0;通过查询账户资金值是否为0,可以判断该产品是否已售出;若账户资金不为0值,说明该账户对应的正品已售出,该查询产品为仿冒产品;

所述的溯源信息查询模块用于查询产品从生长、仓储、加工到销售的各环节信息,消费者、监管部门可以利用溯源信息查询模块对产品详细生产信息进行查询,并通过标签信息完成校验,实现产品溯源。

本发明的上述基于区块链的农产品溯源系统,还具有以下特征:

私有链结构为:私有链为品牌商/加工企业自身创建和维护,农产品生产过程中,各企业作为新节点接入私有链,每个产品从生长、仓储、加工到销售的各环节溯源信息的哈希值被封装在一个区块内,存储于私有链上;

公有链结构为:公有链采用以太坊平台,每个私有链的哈希值通过智能合约存储于公有链中。

进一步的,区块链密钥分配机制采用非对称加密算法,每个区块由唯一一对私钥和公钥组成。产品生产流程中的相关部门/责任人用私钥对生产信息进行加密,生成对应的数字签名,每个区块通过不可逆的加密算法生成对应的公钥,用公钥的哈希算法生成该区块的哈希地址。证书中心定期对公钥和私钥进行更新,生成对应的密钥版本号,将密钥的版本号提供给p2p分布式账本系统,便于溯源查询。

本发明的有益效果为:

(1)当农产品出现质量问题时,能够快速定位相应生产环节和相关责任人;

(2)基于区块链技术特性,能够有效防止农产品信息受到攻击和篡改;

(3)利用区块链的账户余额判断机制,防止正品标签被盗用和复制;

(4)结合私有链和公有链的优点,提高了数据存储效率,降低计算开销。

附图说明

图1为基于区块链的农产品溯源系统示意图;

图2为农产品溯源系统架构图;dpos为委托权益证明共识算法;

图3为溯源信息存储结构图;其中m1-m4分别表示农产品第1-4个业务环节的详细信息;s1-s4表示农产品第i个业务环节的数字签名;

hprb表示私有链的哈希值;

lprb表示农产品在私有链中的链接;

lpub表示农产品在公有链中的链接;

图4为溯源信息查询结构图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及具体实施例,对本发明进行详细的描述。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于同替换和改进,均包含在本发明的保护范围之内。具体方法如下:

实施例一:农产品溯源系统架构设计

农产品溯源系统架构包括物理层、数据层、网络层、共识层、激励层、合约层、应用层,如图2所示。

物理层为通过物联网技术在农产品各生产环节采集的物理数据,物联网的数据采集涉及传感器、rfid、二维码和实时定位技术,应用温度/湿度感应器、图像采集卡、压力感应器、rfid读写器、二维码识读器设备完成。

数据层包括物联网的通信架构和区块链结构,其中物联网的通信架构采用5g通信网络,保障物理层收集的海量数据的实时上传。区块链结构由区块头和区块体组成。区块头包含了版本号、前一区块哈希值、时间戳、随机数和该区块哈希值,通过哈希值将各区块组成链式结构,并将所有交易时所用的信息记入merkle根中。区块体按照时间戳顺序连接,采用非对称加密机制加密,保证区块链中数据的安全性。

网络层包括p2p分布式组网机制、数据传播机制和数据验证机制,是去中心化存储方式的结构基础。

共识层封装了网络节点的共识机制算法,考虑到私有链算力有限,可采用dpos共识机制,保障系统具有较高的处理效率和更加去中心化。

激励层用于负责账户虚拟货币的发行机制和分配机制,本发明中通过对某农产品对应的私有链账户赋值,每当产品销售后对账户发放虚拟币,从而判断该农产品是否已售出,解决农产品仿冒的问题。

合约层封装各类脚本、算法机制和智能合约,利用以太坊平台完成区块链代码编程。

应用层封装了搭建在以太坊上的私有链和公有链相结合的农产品溯源系统,通过接入端口和开放数据共享,实现企业端数据管理、监管部门和消费者数据查询的目的。

实施例二:溯源信息存储与查询步骤

溯源系统中信息的存储采取“物联网+区块链”的形式,区块链采用“私有链+公有链”的结构保障信息存储高效、不可篡改。其中c1表示农产品生产基地;

c2表示仓储企业;

c3表示品牌商/加工企业;

c4表示电商平台;

qc表示溯源信息查询模块;

p表示某件农产品;

prb表示私有链;

pub表示公有链;

mi表示农产品第i个业务环节的详细信息;

si表示农产品第i个业务环节的数字签名;

hi表示农产品第i个业务环节的哈希值;

hprb表示私有链的哈希值;

a表示农产品p在私有链的账户余额;

lprb表示农产品在私有链中的链接;

lpub表示农产品在公有链中的链接;

tag表示农产品标签,标签信息包括该农产品的id数据、lprb、lpub;

h()表示哈希函数;

sign()表示数字签名函数。

对于农产品p,其溯源信息存储步骤如下:

(1)农产品生产基地c1新建区块并存储于私有链中,将农产品生长信息模块采集的详细信息m1存储于区块内,包括育种信息、育肥信息、生长周期、气象信息、病虫害信息和保鲜周期;对信息m1进行数字签名s1=sign(m1);对信息m1和数字签名s1计算哈希值h1=h(m1,s1);最后将m1、s1、h1存入私有链。

(2)仓储企业c2新建区块并存储于私有链中,将仓储信息模块采集的详细信息m2存储于区块内,包括保存地址、保存温度、保存湿度、保存时间、产品分级信息;对信息m2进行数字签名s2=sign(m2);对信息m2和数字签名s2计算哈希值h2=h(m2,s2);最后将m2、s2、h2存入私有链。

(3)品牌商/加工企业c3新建区块并存储于私有链中,将加工信息模块采集的详细信息m3存储于区块内,包括加工质量信息、成品质量信息;对信息m3进行数字签名s3=sign(m3);对信息m2和数字签名s3计算哈希值h3=h(m3,s3);最后将m3、s3、h3存入私有链。

(4)电商平台c4新建区块并存储于私有链中,将加工信息模块采集的详细信息m4存储于区块内,包括产品编码信息、销售时间、销售地点、经销商;对信息m4进行数字签名s4=sign(m4);对信息m2和数字签名s4计算哈希值h4=h(m4,s4);最后将m4、s4、h4存入私有链。

(5)电商平台c4的销售节点对私有链中各信息模块哈希值计算哈希值hprb=h(h(m1,s1),h(m2,s2),h(m3,s3),h(m4,s4)),将农产品的id、销售节点的数字签名s、标签信息hprb存入公有链。

(6)该农产品信息在私有链中的位置信息存储于链接lprb中,存储于公有链中信息的位置信息存储于链接lpub中,见图3。

(7)电商平台对农产品p在私有链中创建一个账户,账户余额a初始值为0,当农产品卖出时,电商平台利用该农产品对应账户的私钥,对该账户汇款1个虚拟货币。

对于农产品p,其溯源信息查询步骤如下:

(1)监管部门或消费者根据农产品标签tag,即获得农产品的id数据、lprb、lpub信息。

(2)监管部门或消费者通过溯源信息查询模块qc,由lprb获取私有链中存储的农产品信息。由lpub和id获取公有链中存储的农产品信息,见图4。

(3)验证公有链中的标签信息hprb与私有链中存储的详细是否一致,若一致,说明私有链信息未被篡改,该查询结果可信;若不一致,该查询结果不可信。

(4)通过验证后,监管部门或消费者可以查询出私有链上存储的详细生产、仓储、加工、销售信息,即m1,m2,m3,m4。

实施例三:溯源信息的加密步骤

(1)证书中心采用非对称加密算法为农产品的每个区块生成一对公钥和私钥地址,使用主公钥地址向新公钥地址发送消息,生成新的区块写入到私有链中,完成该农产品的登记;

(2)农产品涉及的各业务环节的企业对生产信息使用各自的私钥地址进行数字签名,利用私有链中各企业的公钥地址对电子签名进行核对,通过核对的数据为合法数据,可以存储至私有链中;

(3)使用哈希算法计算各企业上传的生产信息和数字签名的哈希值作为标签信息,再将该标签信息作为数据交易的脚本信息连同索引信息一起形成区块并写入到公有链中;

(4)农产品详细生产信息的备份信息存储在p2p分布式账本系统中,原始数据存储在农产品大数据平台云数据库上;

(5)在分布式存储的环境下,监管部门或消费者进行查询时,首先用自己的证书签名和加密公钥,分别提交到公有链和私有链上,每个区块链节点在收到请求后,通过区块链事件机制通知各业务环节的企业,各企业在请求真实性进行验证之后,查询原始数据并根据请求的查询内容进行计算,并将计算结果用请求方的公钥加密返回;

(6)为保障秘钥的安全性,证书中心定期对公钥和私钥进行更新,生成对应的密钥版本号,将密钥的版本号提供给p2p分布式账本系统,便于溯源查询。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1