CN111090647A - 一种基于区块链的食品溯源方法 - Google Patents

一种基于区块链的食品溯源方法 Download PDF

Info

Publication number
CN111090647A
CN111090647A CN201911093791.6A CN201911093791A CN111090647A CN 111090647 A CN111090647 A CN 111090647A CN 201911093791 A CN201911093791 A CN 201911093791A CN 111090647 A CN111090647 A CN 111090647A
Authority
CN
China
Prior art keywords
data
stage
database
storing
merkle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911093791.6A
Other languages
English (en)
Inventor
王帅
崔晓晖
王震宇
刘进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201911093791.6A priority Critical patent/CN111090647A/zh
Publication of CN111090647A publication Critical patent/CN111090647A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/02Agriculture; Fishing; Mining

Abstract

本发明提出了一种基于区块链的食品溯源方法。本发明对食品溯源产业链中的各个阶段进行原始数据的收集,然后利用哈希算法生成哈希值作为对应的校验数据,并对原始数据进行细维度处理生成merkle树用于定位错误数据。把原始数据和对应的merkle树存入云数据库,把校验数据和数据库记录信息以交易形式存入区块链,再把存储的区块号和交易号存入数据库,建立区块链和数据库的对应关系,利用云链融合的技术思想,信息量大的数据存储在云数据库,只在区块链上存入校验数据。在溯源过程中,可以获取区块链上的校验数据,利用区块链不可篡改的特性,可以对溯源结果进行判断,提供了一个有正确保障的溯源方法。

Description

一种基于区块链的食品溯源方法
技术领域
本发明属于食品溯源领域,尤其涉及一种基于区块链的食品溯源方法。
背景技术
传统的溯源系统存在着一系列的问题,包括:溯源真实性问题:数据的提供方和存储方是同一者,没有对应的监管校验手段,数据提供者可以伪造或者篡改数据来欺瞒消费者,而且若系统提供方监守自盗,则溯源系统失去了其本身意义,用户通过使用溯源系统只可以看到企业愿意让我们看到的数据,对溯源结果的真实性和正确性有所疑问;溯源企业协作问题:在全产业链上的各个企业有大量的数据,传统溯源系统只是单纯的对数据进行一个存储和展示,并没有涉及到企业或政府监管部门间大量数据的一个协作利用,溯源系统拥有过程中的大量数据,导致溯源效率较低,同时也不可避免的丢失一些重要而不明显的食品安全隐患数据;安全问题:传统的溯源系统中,需要获取企业的数据,在数据交互的过程中,无可避免的有隐私数据的泄露,传统溯源系统中并没有对企业间的数据进行安全性保护,这也是导致一些大规模监管溯源系统无法落地实施的重要原因。
传统的溯源系统通常在生产企业内部或少数拥有全产业链的大型企业间使用,其实施环境较为局限的,并没有考虑到规模应用环境的特殊性和多变性,面对产业链大量存在的中小企业,其应用性还较弱,无法作为整个产业链的完整解决方案。
发明内容
为了解决现有技术所存在的技术问题,本发明提出了一种基于区块链的肉类产业食品溯源方法。
本发明的技术方案为一种基于区块链的肉类产业食品溯源方法,具体包括以下步骤:
步骤1:对养殖生产阶段的数据进行收集,根据养殖生产阶段的数据生成养殖生产阶段的数据merkle树,进一步生成校验数据,把养殖生产阶段的数据和养殖生产阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息。
步骤2:对屠宰加工阶段的数据进行收集,根据屠宰加工阶段的数据生成屠宰加工阶段的数据merkle树,进一步生成校验数据,把屠宰加工阶段的数据和屠宰加工数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息。
步骤3:对物流运输阶段的数据进行收集,根据物流运输阶段的数据生成物流运输阶段的数据merkle树,进一步生成校验数据,把物流运输阶段的数据和物流运输阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息。
步骤4:利用生成的编码进行溯源,通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的校验数据。
步骤5:把当前查询的数据生成校验数据和步骤4中查询到的校验数据进行对比,把校验数据对比相同的阶段数据返回,把校验数据对比不相同的阶段数据通过merkle定位算法进行定位,判断出现问题的数据。
作为优选,步骤1中所述对养殖生产阶段的数据进行收集为:
养殖生产企业通过物联网或人工录入方式采集养殖生产阶段的数据,具体包括:养殖设的温度、ph值、饲料种类、饲料数量、疫苗数据;
BreedData={temperature、ph、feed、vaccine、time、feeder、address、type、age、id};
步骤1中所述根据养殖生产阶段的数据生成养殖生产数据的merkle树为:
把BreedData的数据项temperature、ph、feed、vaccine、time等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即养殖生产数据的Merkle树即BreedMerkle;
步骤1中所述进一步生成校验数据为:
养殖生产阶段的数据为BreedData,对BreedData使用Sha-256算法做哈希计算,得到养殖生产哈希数据BreedHash;
将BreedHash和BreedMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为养殖生产阶段的校验数据即BreedCheck;
步骤1中所述把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息为:
把BreedData和BreedMerkle存入云数据库数据库并记录主键信息BreedDataBase和编号BreedID,把BreedCheck和BreedDataBase以交易的形式存入养殖生产链并把对应的区块信息BreedBlockID和BreedTXID写入数据库;
作为优选,步骤2中所述对屠宰加工阶段的数据进行收集为:
屠宰加工企业通过物联网或人工录入方式采集屠宰加工阶段的数据ButcherData={time、temperature、address、slaughterer、age、type、method、healthy、id};
步骤2中所述根据屠宰加工阶段的数据生成屠宰加工阶段数据的merkle树为:
把ButcherData的子数据项time、temperature、address、slaughterer、age、type、method、healthy、id等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即屠宰加工数据的Merkle树即ButcherMerkle;
步骤2中所述进一步生成校验数据为:
屠宰加工阶段的数据为ButcherData,对ButcherData使用Sha-256算法做哈希计算,得到屠宰加工哈希数据ButcherHash;
将ButcherHash和ButcherMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为屠宰加工阶段的校验数据即ButcherCheck;
步骤2中所述把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息为:
把ButcherData和ButcherMerkle存入云数据库数据库并记录主键信息ButcherDataBase和编号ButcherID,把ButcherCheck和ButcherDataBase以交易的形式存入屠宰加工链并把对应的区块信息ButcherBlockID和ButcherTXID写入数据库;
作为优选,步骤3中所述对物流运输阶段的数据进行收集为:
物流运输企业通过物联网或人工录入方式采集物流运输阶段的数据TransData={time、type、id、route、mode、transporter、date}和运输编号TransID;
步骤3中所述根据物流运输阶段的数据生成物流运输阶段数据的merkle树为:
把TransData的子数据项time、type、id、route、mode、transporter、date等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即物流运输数据的Merkle树即TransMerkle;
步骤3中所述进一步生成校验数据为:
物流运输阶段的数据为TransData,对TransData使用Sha-256算法做哈希计算,得到物流运输哈希数据TransHash;
将TransHash和TransMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为物流运输阶段的校验数据即TransCheck;
步骤3中所述把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息为:
把TransData和TransMerkle存入云数据库数据库并记录主键信息TransDataBase和编号TransID,把TransCheck和TransDataBase以交易的形式存入物流运输链并把对应的区块信息TransBlockID和TransTXID写入数据库;
根据ButcherID和BreedID以及TransID通过按顺序字符串连接的方式生成ProudeCode,并生成对应食品的二维码TranceQRCode,提供给消费者使用;
作为优选,步骤4中所述利用生成的编码进行溯源:
通过进行扫码识别步骤3中TranceQRCode得到ProduceCode,进而得到BreedID*、ButcherID*、TransID*
步骤4中所述通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的数据校验包:
通过BreedID*、ButcherID*、TransID*在数据库查询得到TransData*、ButcherData*和BreedData*以及BreedBlockID*和BreedTXID*、ButcherBlockID*和ButcherTXID*、TransBlockID*和TransTXID*
利用BreedBlockID*和BreedTXID*在养殖生产链上查询到BreedCheck;
利用ButcherBlockID*和ButcherTXID*在屠宰加工链上查询到ButcherCheck;
利用TransBlockID*和TransTXID*在物流运输链上查询到TransCheck;
作为优选,步骤5中所述把当前查询数据生成校验数据为:
把步骤4中查询的BreedData*、ButcherData*和TransData*按Sha-256算法生成Hash,然后加密生成BreedCheck*、ButcherCheck*、TransCheck*
步骤5中描述与查询的数据校验包对比,把不一致结果的数据通过merkle定位算法进行定位:
把BreedData*、ButcherData*和TransData*和步骤4中查询到的BreedCheck、ButcherCheck和TransCheck对比,判断数据的真伪性;
若BreedData*=BreedCheck,ButcherData*=ButcherCheck,TransData*=TransCheck则Check相同,对显示溯源正确,展示Data*;
否则,若Check不相同,则通过ID*查询到对应的Merkle*,通过Merkle定位算法找到被修改的数据部分,显示溯源结果有问题,展示Data*,并指出有问题的数据。
本发明优点在于:
对食品溯源过程加入校验部分,利用区块链不可篡改的特性,对溯源的结果提供正确性保证。
利用云链存储融合的模式,不同于单独使用区块链或者单独使用云数据库存储,利用区块链存储数据的特点和云数据库存储的特点,分别存储校验数据和溯源数据,提高存储的效率。
在区块链端只存储数据校验信息,减少了区块链账本信息的数据存储量,防止节点出现数据爆炸而引发的问题,提高溯源系统的稳定性。
附图说明
图1:是本发明的框架设计图。
图2:是本发明的实施场景模型图。
图3:是本发明的数据采集和校验数据录入图。
图4:是本发明的merkle生成过程图。
图5:是本发明的溯源识别过程图。
图6:是本发明的溯源结构图。
图7:是本发明的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1,全系统的数据存储层为云数据库和区块链模式,在服务端按照功能把服务分为三个模块:数据采集模块、身份认证模块以及校验协同模块。在数据采集模块主要负责数据的收集和校验数据的生成,身份认证模块是对加入区块链网络的节点进行身份认证,把校验数据存入区块链,协同校验模块是用在溯源过程中,对溯源数据生成新的校验数据与存储在之前在区块链上对应存储的校验数据做比较,判断溯源结果的正确性,并提供merkle定位。
根据图2,全系统采用多链模式,针对每一个阶段,为每一个阶段的检验数据用单独的一个区块链网络进行存储,方便数据的独立性和减小区块链账本的数据量,防止节点爆炸。
下面结合图1至图7介绍本发明的具体实施方式为一种基于区块链针对猪肉产业的的食品溯源方法,包括以下步骤:
步骤1:如附图3所示对养殖生产阶段的数据进行收集,根据养殖生产阶段的数据生成养殖生产阶段的数据merkle树,进一步生成校验数据,把养殖生产阶段的数据和养殖生产阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息。
步骤1中所述对养殖生产阶段的数据进行收集为:
养殖生产企业通过物联网或人工录入方式采集养殖生产阶段的数据,具体包括:养殖设的温度、ph值、饲料种类、饲料数量、疫苗数据;
BreedData={temperature、ph、feed、vaccine、time、feeder、address、type、age、id};
步骤1中所述根据养殖生产阶段的数据生成养殖生产数据的merkle树为:
把BreedData的数据项temperature、ph、feed、vaccine、time等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即养殖生产数据的Merkle树即BreedMerkle如附图4所示;
步骤1中所述进一步生成校验数据为:
养殖生产阶段的数据为BreedData,对BreedData使用Sha-256算法做哈希计算,得到养殖生产哈希数据BreedHash;
将BreedHash和BreedMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为养殖生产阶段的校验数据即BreedCheck;
步骤1中所述把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息为:
把BreedData和BreedMerkle存入云数据库数据库并记录主键信息BreedDataBase和编号BreedID,把BreedCheck和BreedDataBase以交易的形式存入养殖生产链并把对应的区块信息BreedBlockID和BreedTXID写入数据库;
步骤2:对屠宰加工阶段的数据进行收集,根据屠宰加工阶段的数据生成屠宰加工阶段的数据merkle树,进一步生成校验数据,把屠宰加工阶段的数据和屠宰加工数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息。
步骤2中所述对屠宰加工阶段的数据进行收集为:
屠宰加工企业通过物联网或人工录入方式采集屠宰加工阶段的数据ButcherData={time、temperature、address、slaughterer、age、type、method、healthy、id};
步骤2中所述根据屠宰加工阶段的数据生成屠宰加工阶段数据的merkle树为:
把ButcherData的子数据项time、temperature、address、slaughterer、age、type、method、healthy、id等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即屠宰加工数据的Merkle树即ButcherMerkle;
步骤2中所述进一步生成校验数据为:
屠宰加工阶段的数据为ButcherData,对ButcherData使用Sha-256算法做哈希计算,得到屠宰加工哈希数据ButcherHash;
将ButcherHash和ButcherMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为屠宰加工阶段的校验数据即ButcherCheck;
步骤2中所述把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息为:
把ButcherData和ButcherMerkle存入云数据库数据库并记录主键信息ButcherDataBase和编号ButcherID,把ButcherCheck和ButcherDataBase以交易的形式存入屠宰加工链并把对应的区块信息ButcherBlockID和ButcherTXID写入数据库;
步骤3:对物流运输阶段的数据进行收集,根据物流运输阶段的数据生成物流运输阶段的数据merkle树,进一步生成校验数据,把物流运输阶段的数据和物流运输阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息。
步骤3中所述对物流运输阶段的数据进行收集为:
物流运输企业通过物联网或人工录入方式采集物流运输阶段的数据TransData={time、type、id、route、mode、transporter、date}和运输编号TransID;
步骤3中所述根据物流运输阶段的数据生成物流运输阶段数据的merkle树为:
把TransData的子数据项time、type、id、route、mode、transporter、date等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即物流运输数据的Merkle树即TransMerkle;
步骤3中所述进一步生成校验数据为:
物流运输阶段的数据为TransData,对TransData使用Sha-256算法做哈希计算,得到物流运输哈希数据TransHash;
将TransHash和TransMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为物流运输阶段的校验数据即TransCheck;
步骤3中所述把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息为:
把TransData和TransMerkle存入云数据库数据库并记录主键信息TransDataBase和编号TransID,把TransCheck和TransDataBase以交易的形式存入物流运输链并把对应的区块信息TransBlockID和TransTXID写入数据库;
根据ButcherID和BreedID以及TransID通过按顺序字符串连接的方式生成ProudeCode,并生成对应食品的二维码TranceQRCode,提供给消费者使用;
步骤4:如附图5所示利用生成的编码进行溯源,通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的校验数据。
步骤4中所述利用生成的编码进行溯源:
通过进行扫码识别步骤3中TranceQRCode得到ProduceCode,进而得到BreedID*、ButcherID*、TransID*
步骤4中所述通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的数据校验包:
通过BreedID*、ButcherID*、TransID*在数据库查询得到TransData*、ButcherData*和BreedData*以及BreedBlockID*和BreedTXID*、ButcherBlockID*和ButcherTXID*、TransBlockID*和TransTXID*
利用BreedBlockID*和BreedTXID*在养殖生产链上查询到BreedCheck;
利用ButcherBlockID*和ButcherTXID*在屠宰加工链上查询到ButcherCheck;
利用TransBlockID*和TransTXID*在物流运输链上查询到TransCheck;
步骤5:如附图5所示把当前查询的数据生成校验数据和步骤4中查询到的校验数据进行对比,把校验数据对比相同的阶段数据返回,把校验数据对比不相同的阶段数据通过merkle定位算法进行定位,判断出现问题的数据。
步骤5中所述把当前查询数据生成校验数据为:
把步骤4中查询的BreedData*、ButcherData*和TransData*按Sha-256算法生成Hash,然后加密生成BreedCheck*、ButcherCheck*、TransCheck*
步骤5中描述与查询的数据校验包对比,把不一致结果的数据通过merkle定位算法进行定位:
把BreedData*、ButcherData*和TransData*和步骤4中查询到的BreedCheck、ButcherCheck和TransCheck对比,判断数据的真伪性;
若BreedData*=BreedCheck,ButcherData*=ButcherCheck,TransData*=TransCheck则Check相同,对显示溯源正确,展示Data*;
否则,若某阶段的Check不相同,则生成该阶段Data*对应的Merkle*并查询改对应阶段的Merkle,通过Merkle定位算法找到被修改的数据部分,显示溯源结果有问题,展示Data*,并指出有问题的数据。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (6)

1.一种基于区块链的肉类产业食品溯源方法,其特征在于,包括以下步骤:
步骤1:对养殖生产阶段的数据进行收集,根据养殖生产阶段的数据生成养殖生产阶段的数据merkle树,进一步生成校验数据,把养殖生产阶段的数据和养殖生产阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息;
步骤2:对屠宰加工阶段的数据进行收集,根据屠宰加工阶段的数据生成屠宰加工阶段的数据merkle树,进一步生成校验数据,把屠宰加工阶段的数据和屠宰加工数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息;
步骤3:对物流运输阶段的数据进行收集,根据物流运输阶段的数据生成物流运输阶段的数据merkle树,进一步生成校验数据,把物流运输阶段的数据和物流运输阶段数据的merkle树存入数据库保存,把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息;
步骤4:利用生成的编码进行溯源,通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的校验数据;
步骤5:把当前查询的数据生成校验数据和步骤4中查询到的校验数据进行对比,把校验数据对比相同的阶段数据返回,把校验数据对比不相同的阶段数据通过merkle定位算法进行定位,判断出现问题的数据。
2.根据权利要求1所述的基于区块链的肉类产业食品溯源方法,其特征在于,步骤1中所述对养殖生产阶段的数据进行收集为:
养殖生产企业通过物联网或人工录入方式采集养殖生产阶段的数据,具体包括:养殖设的温度、ph值、饲料种类、饲料数量、疫苗数据;
BreedData={temperature、ph、feed、vaccine、time、feeder、address、type、age、id};
步骤1中所述根据养殖生产阶段的数据生成养殖生产数据的merkle树为:
把BreedData的数据项temperature、ph、feed、vaccine、time等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即养殖生产数据的Merkle树即BreedMerkle;
步骤1中所述进一步生成校验数据为:
养殖生产阶段的数据为BreedData,对BreedData使用Sha-256算法做哈希计算,得到养殖生产哈希数据BreedHash;
将BreedHash和BreedMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为养殖生产阶段的校验数据即BreedCheck;
步骤1中所述把对应的主键和校验数据以交易的形式存入养殖生产链并更新数据库中对应的区块信息和交易信息为:
把BreedData和BreedMerkle存入云数据库数据库并记录主键信息BreedDataBase和编号BreedID,把BreedCheck和BreedDataBase以交易的形式存入养殖生产链并把对应的区块信息BreedBlockID和BreedTXID写入数据库。
3.根据权利要求1所述的基于区块链的肉类产业食品溯源方法,其特征在于,步骤2中所述对屠宰加工阶段的数据进行收集为:
屠宰加工企业通过物联网或人工录入方式采集屠宰加工阶段的数据ButcherData={time、temperature、address、slaughterer、age、type、method、healthy、id};
步骤2中所述根据屠宰加工阶段的数据生成屠宰加工阶段数据的merkle树为:
把ButcherData的子数据项time、temperature、address、slaughterer、age、type、method、healthy、id等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即屠宰加工数据的Merkle树即ButcherMerkle;
步骤2中所述进一步生成校验数据为:
屠宰加工阶段的数据为ButcherData,对ButcherData使用Sha-256算法做哈希计算,得到屠宰加工哈希数据ButcherHash;
将ButcherHash和ButcherMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为屠宰加工阶段的校验数据即ButcherCheck;
步骤2中所述把对应的主键和校验数据以交易的形式存入屠宰加工链并更新数据库中对应的区块信息和交易信息为:
把ButcherData和ButcherMerkle存入云数据库数据库并记录主键信息ButcherDataBase和编号ButcherID,把ButcherCheck和ButcherDataBase以交易的形式存入屠宰加工链并把对应的区块信息ButcherBlockID和ButcherTXID写入数据库。
4.根据权利要求1所述的基于区块链的肉类产业食品溯源方法,其特征在于,步骤3中所述对物流运输阶段的数据进行收集为:
物流运输企业通过物联网或人工录入方式采集物流运输阶段的数据TransData={time、type、id、route、mode、transporter、date}和运输编号TransID;
步骤3中所述根据物流运输阶段的数据生成物流运输阶段数据的merkle树为:
把TransData的子数据项time、type、id、route、mode、transporter、date等数据线分别作为merkle的一个节点,按照merkle生成算法生产merkle树,即物流运输数据的Merkle树即TransMerkle;
步骤3中所述进一步生成校验数据为:
物流运输阶段的数据为TransData,对TransData使用Sha-256算法做哈希计算,得到物流运输哈希数据TransHash;
将TransHash和TransMerkle进行数据加密,然后把加密后的结果做sha-256的哈希运算作为物流运输阶段的校验数据即TransCheck;
步骤3中所述把对应的主键和校验数据以交易的形式存入物流运输链并更新数据库中对应的区块信息和交易信息为:
把TransData和TransMerkle存入云数据库数据库并记录主键信息TransDataBase和编号TransID,把TransCheck和TransDataBase以交易的形式存入物流运输链并把对应的区块信息TransBlockID和TransTXID写入数据库;
根据ButcherID和BreedID以及TransID通过按顺序字符串连接的方式生成ProudeCode,并生成对应食品的二维码TranceQRCode,提供给消费者使用。
5.根据权利要求1所述的基于区块链的肉类产业食品溯源方法,其特征在于,步骤4中所述利用生成的编码进行溯源:
通过进行扫码识别步骤3中TranceQRCode得到ProduceCode,进而得到BreedID*、ButcherID*、TransID*
步骤4中所述通过数据库查询和区块链查询,分别找到产品对应各阶段的数据和各阶段生成的数据校验包:
通过BreedID*、ButcherID*、TransID*在数据库查询得到TransData*、ButcherData*和BreedData*以及BreedBlockID*和BreedTXID*、ButcherBlockID*和ButcherTXID*、TransBlockID*和TransTXID*
利用BreedBlockID*和BreedTXID*在养殖生产链上查询到BreedCheck;
利用ButcherBlockID*和ButcherTXID*在屠宰加工链上查询到ButcherCheck;
利用TransBlockID*和TransTXID*在物流运输链上查询到TransCheck。
6.根据权利要求1所述的基于区块链的肉类产业食品溯源方法,其特征在于,步骤5中所述把当前查询数据生成校验数据为:
把步骤4中查询的BreedData*、ButcherData*和TransData*按Sha-256算法生成Hash,然后加密生成BreedCheck*、ButcherCheck*、TransCheck*
步骤5中描述与查询的数据校验包对比,把不一致结果的数据通过merkle定位算法进行定位:
把BreedData*、ButcherData*和TransData*和步骤4中查询到的BreedCheck、ButcherCheck和TransCheck对比,判断数据的真伪性;
若BreedData*=BreedCheck,ButcherData*=ButcherCheck,TransData*=TransCheck则Check相同,对显示溯源正确,展示Data*;
否则,若Check不相同,则通过ID*查询到对应的Merkle*,通过Merkle定位算法找到被修改的数据部分,显示溯源结果有问题,展示Data*,并指出有问题的数据。
CN201911093791.6A 2019-11-11 2019-11-11 一种基于区块链的食品溯源方法 Pending CN111090647A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911093791.6A CN111090647A (zh) 2019-11-11 2019-11-11 一种基于区块链的食品溯源方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911093791.6A CN111090647A (zh) 2019-11-11 2019-11-11 一种基于区块链的食品溯源方法

Publications (1)

Publication Number Publication Date
CN111090647A true CN111090647A (zh) 2020-05-01

Family

ID=70393655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911093791.6A Pending CN111090647A (zh) 2019-11-11 2019-11-11 一种基于区块链的食品溯源方法

Country Status (1)

Country Link
CN (1) CN111090647A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111833077A (zh) * 2020-07-14 2020-10-27 南开大学 一种基于区块链技术和基因测序技术的食品防伪方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US10022614B1 (en) * 2016-05-02 2018-07-17 Bao Tran Smart device
CN108370802A (zh) * 2018-01-26 2018-08-07 北京亿纳夫科技有限公司 绿色有机全息生态循环茶园产业工程系统及方法
US20180225660A1 (en) * 2017-02-06 2018-08-09 Northern Trust Corporation Systems and methods for issuing and tracking digital tokens within distributed network nodes
CN108428141A (zh) * 2018-03-15 2018-08-21 华中农业大学 一种基于erp系统与区块链的食品溯源信息管理系统
CN108764945A (zh) * 2018-06-05 2018-11-06 武汉天喻信息产业股份有限公司 一种基于区块链技术的汽车供应链系统及方法
CN109377244A (zh) * 2018-10-24 2019-02-22 武汉珞樱联创信息科技有限公司 一种基于多链互联区块链网络的食品快速溯源系统及方法
CN110390370A (zh) * 2019-07-24 2019-10-29 北京派克盛宏电子科技有限公司 基于区块链及rfid的家畜养殖溯源方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US10022614B1 (en) * 2016-05-02 2018-07-17 Bao Tran Smart device
US20180225660A1 (en) * 2017-02-06 2018-08-09 Northern Trust Corporation Systems and methods for issuing and tracking digital tokens within distributed network nodes
CN108370802A (zh) * 2018-01-26 2018-08-07 北京亿纳夫科技有限公司 绿色有机全息生态循环茶园产业工程系统及方法
CN108428141A (zh) * 2018-03-15 2018-08-21 华中农业大学 一种基于erp系统与区块链的食品溯源信息管理系统
CN108764945A (zh) * 2018-06-05 2018-11-06 武汉天喻信息产业股份有限公司 一种基于区块链技术的汽车供应链系统及方法
CN109377244A (zh) * 2018-10-24 2019-02-22 武汉珞樱联创信息科技有限公司 一种基于多链互联区块链网络的食品快速溯源系统及方法
CN110390370A (zh) * 2019-07-24 2019-10-29 北京派克盛宏电子科技有限公司 基于区块链及rfid的家畜养殖溯源方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
林延昌: ""基于区块链的食品安全追溯技术研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111833077A (zh) * 2020-07-14 2020-10-27 南开大学 一种基于区块链技术和基因测序技术的食品防伪方法

Similar Documents

Publication Publication Date Title
CN106779737B (zh) 基于区块链技术的产品溯源验证方法
CN109377244B (zh) 一种基于多链互联区块链网络的食品快速溯源系统及方法
CN107657460B (zh) 一种基于区块链的烟草防伪和溯源方法及系统
CN110516965A (zh) 基于区块链的粮油食品全供应链可信追溯模型及构建方法
CN110084070B (zh) 一种基于区块链的制造业跨域异构数据的身份构建及溯源方法
CN111445272A (zh) 一种基于区块链的农产品溯源信息处理系统及方法
CN109858852B (zh) 一种基于区块链与零知识证明的仓单验证方法
CN103279542A (zh) 数据导入处理方法及数据处理装置
El Maouchi et al. TRADE: A transparent, decentralized traceability system for the supply chain
CN110335055B (zh) 基于云平台的业务数据追溯方法及装置
WO2014036282A2 (en) System and process of associating import and/or export data with a corporate identifier relating to buying and supplying goods
CN111953697B (zh) 一种apt攻击识别及防御方法
CN111737343B (zh) 基于区块链的信息标注方法
CN109829726A (zh) 一种基于区块链的药品信息管理方法及系统
EP1959372B1 (en) Distance-preserving anonymization of data
Sathya et al. Block-chain technology for food supply chains
CN109829724A (zh) 一种基于区块链的溯源系统
CN107391557B (zh) 针对设置链外勘误表的区块链串行查询方法及系统
CN108829691A (zh) 一种农村电子商务数据存储方法
CN115482012A (zh) 一种基于区块链的粮油食品可信追溯方法及设备
CN111090647A (zh) 一种基于区块链的食品溯源方法
CN111080205A (zh) 一种基于pda扫码的拣货方法及系统
Singh et al. Blockchain in Indian Agriculture to Disrupt the Food Supply Chain
CN110264226A (zh) 一种基于区块链的物品追溯与交换合约系统
CN105069158B (zh) 数据挖掘方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Cui Xiaohui

Inventor after: Wang Zhenyu

Inventor after: Liu Jin

Inventor after: Wang Shuai

Inventor before: Wang Shuai

Inventor before: Cui Xiaohui

Inventor before: Wang Zhenyu

Inventor before: Liu Jin

CB03 Change of inventor or designer information