一种基于主从多链型区块链的农产品溯源系统

文档序号:33372314发布日期:2023-03-08 02:45阅读:117来源:国知局
一种基于主从多链型区块链的农产品溯源系统

1.本发明涉及利用改进的主从多链型区块链和星际文件系统应用在农产品信息,达成安全可追溯、内容不可篡改的信息存储,具体涉及一种基于主从多链型区块链的农产品溯源系统。


背景技术:

2.农产品安全一直是老百姓最为牵挂的民生问题之一,农产品质量安全贯穿“从田间到餐桌”的整个供应链,包括生产、加工、流通和消费。确保农产品安全,食品安全的重要内容和基础保障,也是建设现代农业的重要任务。建立农产品质量追溯信息管理平台是当前国内外广泛采用的一种对农产品质量安全行之有效的监管手段。
3.传统的基于单链区块链的农产品溯源信息管理系统,数据直接写入区块区块体,区块得到共识验证之后,可以同步到链上的所有节点。这可以保证数据的不可篡改性,但是因为是全冗余备份,如果数据过大则会造成存储资源的浪费,同时单链效率低下,数据同步速度也会变慢。这种方式仅适用于数据量小且重要的场合。此外区块链节点的存储的数据类型较为单一,只有少量的关键的信息。诸如图片音频视频一类的信息则存储困难。
4.使用主从多链型区块链作为系统的区块链模块,不仅能够增加系统高并发性能和伸缩性,还能划分用户权限界限,在物理层面降低四个环节之间的耦合度。同时ipfs(星际文件系统)的应用,使得本系统具有了对多媒体大数据文件的管理能力,使得存储的信息更加丰富立体。为ipfs信息存储模块设计的aes+rsa双重加密算法,解决了存取过程中文件安全性较低的隐患。


技术实现要素:

5.基于上述现有技术的不足,本发明提供了一种基于主从多链型区块链的农产品溯源系统。
6.本发明采用如下的技术方案:
7.一种基于主从多链型区块链的农产品溯源系统,其特征在于,包括:新型主从多链型区块链模块,ipfs(星际文件系统)多媒体数据管理模块以及适用于ipfs的文件加密解密模块,基础数据管理模块,物联网数据采集模块;
8.所述物联网采集模块用来检测环境信息,包括种植环境,仓库环境,加工车间环境,环境信息包括土壤温度,土壤湿度,土壤ph,光照强度,空气温度,空气湿度,空气中二氧化碳浓度,传感器负责将收集到的农产品的生长环境信息发送给网关,再由网关发送至数据处理中心;数据处理中心用于将环境信息存储到基础数据管理模块;
9.所述基础数据管理模块,管理从种植到仓储到加工再到物流的整个环节的文本类数据,包括种子信息,农产品信息,农事操作信息,环境信息,入库信息,仓库信息,出库信息,加工车间信息,加工信息,加工车间信息,物流信息。此模块对以上信息进行新增,修改,查询操作;
10.所述ipfs多媒体数据存储模块用来存储以及适用于ipfs的文件加密解密模块用于存储从种植到仓储到加工再到物流的整个环节的视频数据,音频数据,此类数据为大容量数据。首先使用aes(advanced encryption standard,高级加密标准)+rsa(公钥加密算法)双重加密算法加密待存储的数据文件,然后将加密后文件上传到ipfs网络节点,ipfs网络会生成上传文件的哈希,最后将文件的哈希、文件名、拥有者存储到区块链上。
11.所述新型主从多链型区块链模块用来管理整个流程中的敏感信息,本系统将种植、仓储、加工、物流环节涉及的企业以及监管部门作为节点加入到主链,每个企业内部相关部门以及相关监管部门根据需求构建从链,每条从链由企业内部的2个部门以及1个监管部门组成,设计了1条主链和4条从链。所述新型主从多链型区块链模块用于建立农产品的溯源联盟链;步骤为:
12.1)在centos的docker引擎中部署搭建一个hyperledger fabric联盟链,创建五个组织,每个组织包括两个peer节点和一个order节点。其中peer节点负责对交易进行验证,order节点处理客户端提交的交易消息请求,对交易进行排序并按规则打包成新区块,提交账本并维护通道账本数据。
13.2)搭建主从多链型区块链,在结构角度上,其中一个组织作为主链,其余四个组织,每个组织通过对应的主链区块的唯一性信息生成的哈希值与主链互相锚定。在业务上,主链上链内容为参与四个环节最终生成消费产品的所有实体组成。从链中负责存储各个环节中详尽的业务细节信息。
14.3)部署智能合约,即安装链码。本主从多链模型设计了两种智能合约,第一种是用于部署在主链之上的,第二种用于部署在从链之上。主链上的智能合约用于在去中心化的前提下,保证信息稳定公平的上链,生成交易区块,链上的信息不可篡改。即保证各节点之间在无任何第三方中介机构审核的前提下安全公平地进行交易。从链的智能合约的编写是根据《食品安全国家标准》设计的,用于核对农产品供应链各个环节上传的信息是否符合规定、规范,从信息源头确保信息的安全可追溯。
15.4)配置共识算法,本主从多链模型配置了两种共识机制,其中主链在业务新增环节实体时会增加新的物理,加大性能开销,故出于性能和安全性选用具有水平伸缩能力、崩溃容错能力的kafka算法作为主链的共识算法。主链建立后,相应的从链物理结构较为稳定,选用安全性高的pbft算法作为从链的共识算法。
16.较佳地,所述物联网采集模块硬件部分由湿度传感器,温度传感器,二氧化碳传感器,酸碱度传感器,光照强度传感器,lora通信模块和stm32系列单片机组成。传感器所采集到的信息,通过lora模块发送给网关,网关以有线连接的方式通过wifi模块发送给服务器。
17.较佳地,所述服务器部署着负责业务逻辑的基于springboot和mybatis框架的web 系统后端,负责数据可视化展示和用户交互的基于vue框架的web系统前端和区块链网络。
18.较佳地,所述web后端通过依赖合约sdk来创建与编写链码,本需要用到的依赖如下:
19.《dependency》
20.《groupid》org.hyperledger.fabric-chaincode-java《/groupid》
21.《artifactid》fabric-chaincode-shim《/artifactid》
22.《version》2.2.3《/version》
23.《/dependency》
24.较佳地,ipfs多媒体数据管理模块使用rsa+aes算法对信息加密,步骤为:
25.1)客户端随机产生aes的密钥aeskey;
26.2)使用非对称加密rsa加密密钥aeskey;
27.3)使用aeskey对数据进行aes加密,获取aes加密后的密文。
28.较佳地,ipfs多媒体数据管理模块使用rsa+aes算法对信息解密,步骤为:
29.1)rsa使用私钥解密,获得加密之前aeskey,即密钥原文;
30.2)对加密后的密文使用aeskey进行aes解密,拿到原始内容。
31.在链码中的农产品实体类的信息格式为:
[0032][0033]
较佳地,智能合约代码为:
[0034]
[0035]
较佳地,web系统后端根据用户分为六种类型,分别是生产企业用户、仓储企业用户,加工企业用户、物流企业用户、消费者、系统管理员。
附图说明
[0036]
图1为本发明实施例的主从多链型区块链的农产品溯源系统基本功能结构示意图;
[0037]
图2为本发明实施例的主从多链型区块链的农产品溯源系统业务流程示意图;
[0038]
图3为本发明实施例的主从多链型区块链的农产品溯源系统体系架构示意图;
[0039]
图4为本发明实施例的主从多链型区块链的农产品溯源系统技术架构示意图;
[0040]
图5为本发明实施例的主从多链型区块链的农产品溯源系统区块链模块主从多链模型示意图;
[0041]
图6为本发明实施例的主从多链型区块链的农产品溯源系统ipfs模块加密流程示意图。
[0042]
图7为本发明实施例的主从多链型区块链的农产品溯源系统ipfs模块解密流程示意图。
[0043]
图8为本发明实施例的主从多链型区块链的农产品溯源web应用的功能示意图;
具体实施方式
[0044]
下面将参照附图,对本公开的示例性实施例的技术方案进行更加详细地描述,显然,所描述的实施例仅是本发明的部分实施例,而非全部实施例。可以以各种形式实现本公开而不应被这里阐述的实施例所限制。提供这些实施例是为了能够更透彻地理解本公开,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
实施例一
[0046]
本发明实施例提出一种基于主从多链型区块链的农产品溯源系统的农产品溯源系统构建的实施案例,如图1所示,包括主从多链型区块链模块,ipfs(星际文件系统)多媒体数据管理模块以及适用于ipfs的文件加密解密模块,基础数据管理模块,物联网数据采集模块。四个部分;
[0047]
所述物联网数据采集模块用来检测环境信息,传感器负责将收集到的农产品的生长环境信息发送给网关,再由网关发送至数据处理中心;数据处理中心用于将环境信息存储到基础数据管理模块;
[0048]
如图3所示,所述物联网数据采集模块包括传感器、网关、和数据处理中心;
[0049]
所述传感器包括采集农产品的生长环境信息、仓储环境信息、加工环境信息,所述
环境信息包括包括土壤温度,土壤湿度,土壤ph,光照强度,空气温度,空气湿度,空气中二氧化碳浓度;
[0050]
如图3所示,所述传感器负责将收集到的农产品所处的环境信息通过lora模块发送给所述网关,网关以有线连接的方式通过wifi模块发送至所述的数据处理中心;
[0051]
所述数据处理中心用于根据所述农产品生长环境信息上传到web应用后端;
[0052]
如图2所示,本发明的业务流程从开始到结束顺序为:种植环节、仓储环节、加工环节、物流环节;
[0053]
如图5所示,所述主从多链型区块链的模型为一条主链和四条从链组成,主链节点为种植、仓储、加工、物流环节涉及的企业以及监管部门,从链为每个企业内部相关部门以及相关监管部门相关信息;
[0054]
所述主从多链型区块链的模型的搭建步骤为:
[0055]
1)在centos的docker引擎中部署搭建一个hyperledger fabric联盟链,创建五个组织,每个组织包括两个peer节点和一个order节点。其中peer节点负责对交易进行验证,order节点处理客户端提交的交易消息请求,对交易进行排序并按规则打包成新区块,提交账本并维护通道账本数据;
[0056]
2)搭建主从多链型区块链,在物理结构角度上,其中一个组织作为主链,其余四个组织,每个组织通过对应的主链区块的唯一性信息生成的哈希值与主链互相锚定。在业务上,主链上链内容为参与四个环节最终生成消费产品的所有实体组成。从链中负责存储各个环节中详尽的业务细节信息;
[0057]
3)部署智能合约,即安装链码。本主从多链模型设计了两种智能合约,第一种是用于部署在主链之上的,第二种用于部署在从链之上。主链上的智能合约用于在去中心化的前提下,保证信息稳定公平的上链,生成交易区块,链上的信息不可篡改。即保证各节点之间在无任何第三方中介机构审核的前提下安全公平地进行交易。从链的智能合约的编写是根据《食品安全国家标准》设计的,用于核对农产品供应链各个环节上传的信息是否符合规定、规范,从信息源头确保信息的安全可追溯;
[0058]
4)配置共识算法,本主从多链模型配置了两种共识机制,其中主链在业务新增环节实体时会增加新的物理,加大性能开销,故出于性能和安全性选用具有水平伸缩能力、崩溃容错能力的kafka算法作为主链的共识算法。主链建立后,相应的从链物理结构较为稳定,选用安全性高的pbft算法作为从链的共识算法。
[0059]
所述web应用后端通过依赖合约sdk来创建与编写智能合约即链码,需要用到的依赖如下:
[0060]
《dependency》
[0061]
《groupid》org.hyperledger.fabric-chaincode-java《/groupid》
[0062]
《artifactid》fabric-chaincode-shim《/artifactid》
[0063]
《version》2.2.3《/version》
[0064]
《/dependency》
[0065]
所述链码中的农产品实体类的信息格式为:
[0066][0066][0067]
所述智能合约代码为:
[0068][0069]
本实例中上述的主从多链型区块链模块负责存储,整个流程之中的关键敏感信息,由于区块链本身的特性,可以做到信息的可追溯与不可篡改,实现信息的真实安全可靠。同时由于区块链的底层数据结构,不适用于存储多媒体大数据。本实例的ipfs模块则承担了整个流程中这一部分数据的功能。
[0070]
所述ipfs模块在上传文件之前出于信息安全的前提,首先经过aes+rsa加密模块。
[0071]
如图6所示,加密模块的步骤为:
[0072]
1)客户端随机产生aes的密钥aeskey
[0073]
2)使用非对称加密rsa加密密钥aeskey;
[0074]
3)使用aeskey对数据进行aes加密,获取aes加密后的密文。
[0075]
如图7所示,所述ipfs模块在使用者下载文件ipfs多媒体数据时解密,步骤为:
[0076]
1)rsa使用私钥解密,获得加密之前aeskey,即密钥原文;
[0077]
2)对加密后的密文使用aeskey进行aes解密,拿到原始内容。
[0078]
如图4所示,所述主从多链型区块链的农产品溯源系统。根据功能划分,自下往上依次是物理层、数据层、网络层、智能合约层和应用层。
[0079]
所述物理层是为供应链中各参与主体部署传感器、微处理器、摄像设备、录音设备和人工记录采集供应链各环节农产品种植数据、仓储数据、加工数据及物流数据。
[0080]
所述数据层包括数据源和数据存储。数据源是指所构建的农产品供应链追溯系统通过使用物理层设备采集得到农产品相关信息,各企业信息构成主链节点;数据存储是指将物理层上传的数据生成数据区块,其中区块头使用时间戳、哈希算法进行加密,区块体的merkle 树存储着上传的数据并使用非对称加密方式进行数据加密,各个区块通过哈希值串联起来形成链式结构。
[0081]
所述网络层规定了主链、从链上区块的传播方式是通过点对点方式进行传播,并规定了区块的共识机制和验证规则。
[0082]
所述合约层包括智能合约和追溯信息的调用,使用智能合约判断上传的信息是否满足条件,若不满足,则提示不满足的原因,若满足则可以直接上链,而后多媒体数据经过加密之后上传至ipfs模块,其余基础数据存储在基础数据模块。
[0083]
所述应用层是农产品供应链追溯系统的web应用,向各环节的用户提供操作交互界面。
[0084]
如图8所示,web应用的功能模块,按照使用者角色分为六大模块,分别是种植企业模块,仓储企业模块,加工企业模块,物流企业模块,消费者模块,管理员模块。
[0085]
所述种植企业模块,农产品生产企业在注册该系统,提交审核信息审核通过后才能使用该系统功能的相关权限,主要通过该系统实现对农产品种植环节的一系列信息进行管理。包括企业基地的地块信息、基地所属农资、设施、库存,以及生产过程当中产生的农事数据、质检、加工信息,向消费者展示的产品信息。
[0086]
所述仓储企业模块,仓储企业是农产品生产之后,转入到仓库进行储存。管理仓库的环境信息,存储产品的数目以及存储时长信息,出入库信息。
[0087]
所述加工企业模块,加工企业是农产品经过仓储企业存储之后,对农产进行加工中的各种信息管理的角色,管理生产材料信息,加工环境信息,加工工艺信息,包装信息。
[0088]
所述物流企业模块,物流企业是在农产品生产加工完成后进入运输阶段,对产品运输过程中的信息进行管理,其中包括物流企业自身信息、物流订单的详细信息以及对物流中转信息,从而实现农产品从生产企业到销售企业之间的信息透明化。
[0089]
所述消费者模块,消费者可以对产品信息进行查询,各环节信息对消费者公开透明。
[0090]
所述管理员模块,主要完成基于区块链的果蔬农产品质量安全追溯系统的权限管理工作,其中具体包括用户分组,功能权限的分配,以及普通用户个人信息的维护。
[0091]
综上所述,本发明一种基于主从多链型区块链的农产品溯源系统,利用区块链技术进行农产品质量安全溯源,信息安全可信,不可被篡改。本发明不仅可以进一步推动对农产品质量安全提升,拉动与协调各企业合作关系,赋予消费者对农产品质量的准确真实的信息的知情权,为政府提供高效的追责工具,更是构建出了一个集物联网、星际文件系统、主从多链型区块链于一体的强信任背书溯源应用体系。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1