CN111090647A - 一种基于区块链的食品溯源方法 - Google Patents
一种基于区块链的食品溯源方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/02—Agriculture; 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*,并指出有问题的数据。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111833077A (zh) * | 2020-07-14 | 2020-10-27 | 南开大学 | 一种基于区块链技术和基因测序技术的食品防伪方法 |
Citations (8)
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的家畜养殖溯源方法 |
-
2019
- 2019-11-11 CN CN201911093791.6A patent/CN111090647A/zh active Pending
Patent Citations (8)
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)
Title |
---|
林延昌: ""基于区块链的食品安全追溯技术研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
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 |