CN113822680A - 一种可编辑区块链追溯方法及系统 - Google Patents
一种可编辑区块链追溯方法及系统 Download PDFInfo
- Publication number
- CN113822680A CN113822680A CN202111010289.1A CN202111010289A CN113822680A CN 113822680 A CN113822680 A CN 113822680A CN 202111010289 A CN202111010289 A CN 202111010289A CN 113822680 A CN113822680 A CN 113822680A
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- editable
- data
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012217 deletion Methods 0.000 claims description 21
- 230000037430 deletion Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 239000012634 fragment Substances 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 241000209094 Oryza Species 0.000 description 4
- 235000007164 Oryza sativa Nutrition 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 235000009566 rice Nutrition 0.000 description 4
- 241000122205 Chamaeleonidae Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/02—Agriculture; Fishing; Forestry; Mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marine Sciences & Fisheries (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Agronomy & Crop Science (AREA)
- Animal Husbandry (AREA)
- Finance (AREA)
- Mining & Mineral Resources (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种可编辑区块链追溯方法及系统,包括:将目标区块内的追溯数据上传至云端,以获取云端返回的哈希地址;目标区块为可编辑区块链上的区块;利用第一区块替换目标区块,并将哈希地址存储至第一区块;利用哈希地址、目标区块的区块高度,以及第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据第二区块对追溯数据进行追溯。本发明提供的可编辑区块链追溯方法,通过构建可编辑区块链和不可编辑区块链的平行区块链结构,将可编辑区块链上的时效性追溯数据存入云端,而在不可编辑区块链上存储可编辑区块链的操作记录数据,在降低了区块链存储量的同时,实现了删除数据的可恢复性,进而保证链上数据可问责性和可信任性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种可编辑区块链追溯方法及系统。
背景技术
随着区块链在农产品供应链溯源领域广泛应用,农产品供应链区块链数据随之持续线性增长,而由于农产品供应链区块链具有去中心化、不可篡改的特性,提高了区块链设备的门槛,成为了农产品供应链区块链应用落地的瓶颈。
为了减少农产品供应链区块链的存储量,进而减轻区块链设备的存储压力,降低区块链设备的门槛,可以根据农产品追溯数据时效特性,结合变色龙哈希函数的碰撞计算方法和编辑区块链构造方法,引入可编辑区块链,对超时效的农产品追溯数据进行删除。
但该可编辑区块链技术将区块数据永久删除,无法对已删除的农产品追溯数据进行追溯。
发明内容
针对现有技术存在的问题,本发明实施例提供一种可编辑区块链追溯方法及系统。
本发明提供一种可编辑区块链追溯方法,包括:将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;
利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;
利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
根据本发明提供的一种可编辑区块链追溯方法,在将目标区块内的追溯数据上传至云端之前,还包括:
将删除请求广播至所有的区块链节点,并获取所有的陷门节点对所述删除请求的反馈情况;
若所述反馈情况为删除请求通过,则执行所述将目标区块内的追溯数据上传至云端;
所述删除请求由提案节点对所述目标区块提出的;所述陷门节点持有所述目标区块的陷门密钥的分片。
根据本发明提供的一种可编辑区块链追溯方法,所述第二区块的区块体,具体包括:提案节点地址、所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度;所述提案节点地址为提出所述删除请求的区块链节点的地址;
所述第二区块的区块头,具体包括:所述第二区块的区块体的哈希值、所述第二区块的生成时间,以及所述第二区块的上一区块的哈希值。
根据本发明提供的一种可编辑区块链追溯方法,在利用第一区块替换所述目标区块之前,还包括:
利用所述陷门密钥计算哈希碰撞,获取新随机数;
利用所述新随机数和所述哈希地址,获取所述第一区块。
根据本发明提供的一种可编辑区块链追溯方法,所述第一区块的区块体,具体包括:所述哈希地址;
所述第一区块的区块头,具体包括:所述第一区块的区块体的哈希值、所述追溯数据中农产品的生产日期、农产品的有效日期、所述目标区块的前一区块的哈希值、所述第一区块的区块高度、所述第一区块的生成时间、编辑过的状态位和所述第一区块的碰撞调节位。
根据本发明提供的一种可编辑区块链追溯方法,在将目标区块内的追溯数据上传至云端之前,还包括:
利用智能合约,对所述可编辑区块链上存储有追溯数据的区块进行轮询监测,以确定所述目标区块;所述目标区块内的追溯数据超过时效;所述智能合约存储有陷门密钥。
根据本发明提供的一种可编辑区块链追溯方法,以根据所述第二区块对所述追溯数据进行追溯,包括:
在所述第二区块的区块体中获取所述哈希地址;
根据所述哈希地址,从所述云端确定所述目标区块的追溯数据,以对目标区块进行数据追溯;
或者,
在所述第二区块的区块体中确定所述第一区块的区块高度;
根据所述第一区块的区块高度,从所述可编辑区块链上确定所述第一区块;
在所述第一区块的区块体中获取所述哈希地址;
根据所述哈希地址,在所述云端确定目标区块的追溯数据,以对目标区块进行数据追溯。
本发明还提供一种可编辑区块链追溯系统,包括:上传单元,用于将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;
替换单元,用于利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;
构建单元,用于利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述可编辑区块链追溯方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述可编辑区块链追溯方法的步骤。
本发明提供的可编辑区块链追溯方法及系统,通过构建可编辑区块链和不可编辑区块链的平行区块链结构,将可编辑区块链上的时效性追溯数据存入云端,而在不可编辑区块链上存储可编辑区块链的操作记录数据,在降低了区块链存储量的同时,实现了删除数据的可恢复性,进而保证链上数据可问责性和可信任性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的可编辑区块链追溯方法的流程示意图;
图2是本发明提供的追溯区块链的结构示意图;
图3是本发明提供的区块链编辑方法的流程示意图之一;
图4是本发明提供的区块链编辑方法的流程示意图之二;
图5是本发明提供的可编辑区块链追溯系统的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
近年来,食品质量安全问题屡见不鲜,不仅对人们的身体健康造成严重危害,同时也对农产品出口贸易产生不良影响。而农产品追溯系统能够记录、存储供应链从生产到销售的数据信息,一旦发生农产品质量安全问题,系统能够快速追溯产品来源,并且定位责任主体,及时召回有问题批次的产品。因此,农产品追溯系统成为保障农产品安全的重要手段。
近年来,区块链作为新一代的信息技术,因其去中心化、不可篡改、多方共同维护的特点,已被证明在解决目前农产品追溯系统的可信度问题等方面存在着技术优势,目前区块链已在农产品供应链溯源领域广泛应用。
其中,可编辑区块链的数据编辑虽然为农产品供应链区块链的长期稳定运行提供的一定的保障,但也为区块链带来了中心化安全风险,降低链上数据的可问责性和可信任性。现有的可编辑区块链系统由一条可编辑区块链和一条不可编辑区块链组成,既能满足对数据存储的安全性的需求,又可满足在特定情况下对数据修改的需求的等优点。但该系统可编辑区块链进行数据存储,不可编辑区块链仅存储数据哈希,当数据被删除后无法恢复。
为了解决这些问题,本发明提供了一种新型农产品供应链可编辑区块链追溯方法。
下面结合图1至图6描述本发明实施例所提供的可编辑区块链追溯方法和系统。
图1是本发明提供的可编辑区块链追溯方法的流程示意图,如图1所示,包括但不限于以下步骤:
首先,在S1中,将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块。
其中,目标区块可以为单个区块,也可以为连续的多个区块。云端可以是星际文件系统(Inter Planetary File System,IPFS),后续的云端均以IPFS为例,不作为对本发明保护范围的限定。
图2是本发明提供的追溯区块链的结构示意图,如图2所示,追溯区块链包括平行的第一链和第二链,第一链为可编辑区块链,第二链为不可编辑区块链。
其中,第一链和第二链上的区块链节点完全相同,在图2中,第一链和第二链上共同拥有节点A、节点B、…、节点N等若干个区块链节点,当区块链节点A属于第一链时,则其必然也属于第二链,反之亦然。在第一链和第二链上的区块链节点不同的情况下,有些节点上没有存储追溯数据,或有些节点上没有存储操作记录数据,进而导致追溯失败。
以节点K为例,如果节点K只在第二链而不在第一链上,会导致节点K无法获取第一链上未被编辑的追溯数据。如果节点K只在第一链而不在第二链上,那么节点K可以拿到第一链上的全部数据,但是无法保证该数据安全,未被恶意篡改。
在农产品供应链追溯应用场景中,第一链用于存储农产品供应链追溯数据,第二链用于存储第一链的操作记录数据。操作记录数据包括但不仅限于:哈希地址(简称IPFSHash)、目标区块的区块高度,以及第一区块的区块高度。
以水稻供应链追溯数据为例。水稻的农产品供应链追溯数据主要包括种植信息,例如操作方式、操作时间、操作投入品;仓储信息,例如入库时间、仓库地点、仓库环境;加工信息,例如加工流程、加工标准、质检结果;物流信息,例如运输载具、储存环境;销售信息例如进货时间、销售时间、商家资质等。
第一链按区块对农产品供应链追溯数据进行存储,通常设置为每隔一段时间(如10秒)或达到一定数据量(如1兆字节)进行区块打包,故同一区块内存储数据通常为同一批次货物。
在对区块进行打包时,除了将追溯数据存入区块体,还需将本区块存储的农产品的生产日期(ManuFacturinG date,MFG)和本区块存储的农产品的有效日期(EXPiry date,EXP)存入区块头,当同一区块内产品有效日期不唯一时,以最长有效日期为准。
具体地,将第一链上的目标区块内的农产品供应链追溯数据上传至IPFS,等待IPFS成功存储后,得到IPFS返回的哈希地址。
进一步地,在S2中,利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块。
其中,第一区块是单个区块,在目标区块为单个区块的情况下,第一区块的哈希值与目标区块的哈希值相同;在目标区块为连续的多个区块的情况下,第一区块的哈希值与目标区块中最后一个区块的哈希值相同。
在S2之前,还包括:将第一区块广播至所有的区块链节点。
进一步地,在每个区块链节点上,删除第一链上的目标区块,并利用第一区块在目标区块的原有的位置上进行上链,以替代目标区块。其中,第一区块的区块体中存储有哈希地址。
进一步地,在S3中,利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
具体地,打包哈希地址、目标区块的区块高度,以及第一区块的区块高度等信息,形成第二区块,并将第二区块增加到第二链的尾部,完成上链,可以通过第二区块对目标区块内的农产品供应链追溯数据进行追溯。其中,第二区块为单个区块。
此外,针对没有被删除的农产品供应链追溯数据,可以直接在第一链上相应的区块进行追溯。
本发明提供的可编辑区块链追溯方法,通过构建可编辑区块链和不可编辑区块链的平行区块链结构,将可编辑区块链上的时效性追溯数据存入云端,而在不可编辑区块链上存储可编辑区块链的操作记录数据,在降低了区块链存储量的同时,实现了删除数据的可恢复性,进而保证链上数据可问责性和可信任性。
图3是本发明提供的区块链编辑方法的流程示意图之一,如图3所示,在将目标区块内的追溯数据上传至云端之前,还包括:
将删除请求广播至所有的区块链节点,并获取所有的陷门节点对所述删除请求的反馈情况;
若所述反馈情况为删除请求通过,则执行所述将目标区块内的追溯数据上传至云端;
所述删除请求由提案节点对所述目标区块提出的;所述陷门节点持有所述目标区块的陷门密钥的分片。
具体地,任一区块链节点均可发起对目标区块的删除提案,即提出删除请求。第一链中每个区块的陷门密钥(Trap Key,TK)均分片存储于部分拥有决策权的区块链节点上,拥有决策权且持有TK的分片的区块链节点,称之为陷门节点。例如,陷门节点可以是农业监管部门的区块链节点,也可使食品安全部门的区块链节点。
在删除请求广播至所有的区块链节点后,由所有的陷门节点对是否同意删除请求进行投票,若存在任一陷门节点投票不同意,则删除请求不通过。
在所有的陷门节点投票同意时,则删除请求通过,将目标区块中的追溯数据存入IPFS,并接收IPFS返回的哈希地址。每个陷门节点所持有的目标区块的TK的分片,可以合成目标区块的TK。
利用目标区块的TK制造哈希碰撞,在第一链上,删除目标区块,并利用第一区块在目标区块的原有的位置上进行上链,以替代目标区块。
进一步地,将第一区块广播至全部区块链节点。
进一步地,在第二链上添加第二区块,第二区块包括对目标区块的操作记录数据。
根据本发明提供的可编辑区块链追溯方法,通过节点对删除请求投票的方式,达成是否删除目标区块的共识,实现对区块链编辑的有效控制和监管。
可选地,所述第二区块的区块体,具体包括:提案节点地址、所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度;所述提案节点地址为提出所述删除请求的区块链节点的地址;
所述第二区块的区块头,具体包括:所述第二区块的区块体的哈希值、所述第二区块的生成时间,以及所述第二区块的上一区块的哈希值。
其中,在目标区块为单一区块的情况下,第一区块的区块高度与目标区块的区块高度相同;在目标区块为连续的多个区块的情况下,第一区块的区块高度与目标区块中第一个区块的区块高度相同。
根据本发明提供的可编辑区块链追溯方法,通过在不可编辑区块上存储可编辑区块的操作记录数据,为追溯数据的可问责性和可信任性提供保障。
可选地,在利用第一区块替换所述目标区块之前,还包括:
利用所述陷门密钥计算哈希碰撞,获取新随机数;
利用所述新随机数和所述哈希地址,获取所述第一区块。
目标区块的区块体包括但不限于:农产品供应链追溯数据。
目标区块的区块头包括但不限于:目标区块的区块高度(简称Number),前一区块的哈希值(简称PreHash),目标区块的区块体的哈希值(简称DateHash),目标区块的生成时间(简称Time),目标区块存储的农产品的生产日期,目标区块存储的农产品的有效日期,目标区块未被编辑过的状态位(简称Edit),以及目标区块的调节区块哈希值实现哈希碰撞的碰撞调节位(简称Collision)。
其中,第一链上区块的哈希值使用变色龙哈希函数,变色龙哈希函数由三部分组成:
Cham hash=(KeyGen,Hash,Forge);
其中,对于目标区块,KeyGen(λ)通过输入的安全参数λ计算出陷门密钥TK和哈希密钥HK,记为:
KeyGen(λ)→(TK,HK);
Hash(HK,m,r)通过哈希密钥HK,目标区块m和随机数r计算出目标区块的哈希值y,记为:
Hash(HK,m,r)→y;
Forge(TK,m,r,m’)通过陷门密钥TK,目标区块m,随机数r和第一区块m’,计算出新随机数r’,使其满足以下条件:
Hash(HK,m,r)=Hash(HK,m’,r’);
记为:
Forge(TK,m,r,m’)→r’;
当第一链上的农产品追溯数据超过有效日期时,可通过智能合约或节点提案两种方案对链上数据进行编辑。
哈希碰撞计算出的新随机数r’记录在第一区块的区块头的碰撞调节位,以供区块链节点验证。
根据本发明提供的可编辑区块链追溯方法,在可编辑区块链上,利用较小的区块替换较大的区块,有效降低了区块链存储量。
可选地,所述第一区块的区块体,具体包括:所述哈希地址;
所述第一区块的区块头,具体包括:所述第一区块的区块体的哈希值、所述追溯数据中农产品的生产日期、农产品的有效日期、所述目标区块的前一区块的哈希值、所述第一区块的区块高度、所述第一区块的生成时间、编辑过的状态位和所述第一区块的碰撞调节位。
根据本发明提供的可编辑区块链追溯方法,将可编辑区块链上的存储数据从大量的追溯数据替换成存储数据的哈希地址,进而有效降低了区块链存储量。
图4是本发明提供的区块链编辑方法的流程示意图之二,如图4所示,将目标区块内的追溯数据上传至云端之前,还包括:
利用智能合约,对所述可编辑区块链上存储有追溯数据的区块进行轮询监测,以确定所述目标区块;所述目标区块内的追溯数据超过时效;所述智能合约存储有陷门密钥。
具体地,利用智能合约,对第一链上存储有追溯数据的区块进行有效日期轮询监测,在当前时刻没有超出任一区块有效日期的情况下,继续轮询。确定当前时刻超出有效日期的区块为目标区块。
将目标区块中的追溯数据存入IPFS,利用目标区块的陷门密钥制造哈希碰撞,在第一链上,删除目标区块,并利用第一区块在目标区块的原有的位置上进行上链,以替代目标区块。
其中,智能合约上存储有第一链上所有区块的陷门密钥。
进一步地,将第一区块广播至全部区块链节点。
进一步地,在第二链上添加第二区块,第二区块中包含有对目标区块的操作记录数据。
在使用智能合约删除目标区块的情况下,第二区块的区块体,包括:智能合约地址(简称Account)、哈希地址、目标区块的区块高度,以及第一区块的区块高度。
所述第二区块的区块头,具体包括:第二区块的区块体的哈希值、第二区块的生成时间,以及第二区块的上一区块的哈希值。
根据本发明提供的可编辑区块链追溯方法,通过智能合约轮询的方式确定需要删除的区块链,可以对超过有效日期的区块及时删除,以实现对区块链上存储的追溯数据的去冗余。
可选地,以根据所述第二区块对所述追溯数据进行追溯,包括:
在所述第二区块的区块体中确定所述哈希地址;
根据所述哈希地址,从所述云端确定所述目标区块的追溯数据,以对目标区块进行数据追溯;
或者,
在所述第二区块的区块体中确定所述第一区块的区块高度;
根据所述第一区块的区块高度,从所述可编辑区块链上确定所述第一区块;
在所述第一区块的区块体中获取所述哈希地址;
根据所述哈希地址,在所述云端确定目标区块的追溯数据,以对目标区块进行数据追溯。
其中,当出现农产品安全问题,且该农产品的追溯数据存储的目标区块已被链上删除时,需要找到被删除的追溯数据,可以根据第二区块的哈希值,在第二链上确定第二区块。
具体地,在第二区块的区块体中确定哈希地址;再根据哈希地址,在IPFS中查找目标区块的追溯数据,可以实现农产品安全问题的追溯数据。
或者,在第二区块的区块体中确定第一区块的区块高度;再根据第一区块的区块高度,从第一链上确定第一区块;接着在第一区块的区块体中获取哈希地址;最后,根据哈希地址,可以从IPFS中恢复目标区块的追溯数据,可以实现农产品安全问题的溯源。
此外,针对没有被删除的农产品供应链追溯数据,根据对应的区块哈希值,可以在第一链上确定农产品供应链追溯数据所存储的区块,进而进行追溯。
根据本发明提供的可编辑区块链追溯方法,通过在可编辑区块链或不可编辑区块链上找到哈希地址,并对被删除的追溯数据的恢复,从而实现对已删除追溯数据的溯源。
图5是本发明提供的可编辑区块链追溯系统的结构示意图,如图5所示,包括:
上传单元501,用于将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;
替换单元502,用于利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;
构建单元503,用于利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
在系统运作的过程中,上传单元501将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;替换单元502利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;构建单元503利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
首先,上传单元501将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块。
其中,目标区块可以为单个区块,也可以为连续的多个区块。云端可以是IPFS,后续的云端均以IPFS为例,不作为对本发明保护范围的限定。
如图2所示,追溯区块链包括平行的第一链和第二链,第一链为可编辑区块链,第二链为不可编辑区块链。
其中,第一链和第二链上的区块链节点完全相同,在图2中,第一链和第二链上共同拥有节点A、节点B、…、节点N等若干个区块链节点,当区块链节点A属于第一链时,则其必然也属于第二链,反之亦然。在第一链和第二链上的区块链节点不同的情况下,有些节点上没有存储追溯数据,或有些节点上没有存储操作记录数据,进而导致追溯失败。
以节点K为例,如果节点K只在第二链而不在第一链上,会导致节点K无法获取第一链上未被编辑的追溯数据。如果节点K只在第一链而不在第二链上,那么节点K可以拿到第一链上的全部数据,但是无法保证该数据安全,未被恶意篡改。
在农产品供应链追溯应用场景中,第一链用于存储农产品供应链追溯数据,第二链用于存储第一链的操作记录数据。操作记录数据包括但不仅限于:哈希地址、目标区块的区块高度,以及第一区块的区块高度。
以水稻供应链追溯数据为例。水稻的农产品供应链追溯数据主要包括种植信息,例如操作方式、操作时间、操作投入品;仓储信息,例如入库时间、仓库地点、仓库环境;加工信息,例如加工流程、加工标准、质检结果;物流信息,例如运输载具、储存环境;销售信息例如进货时间、销售时间、商家资质等。
第一链按区块对农产品供应链追溯数据进行存储,通常设置为每隔一段时间(如10秒)或达到一定数据量(如1兆字节)进行区块打包,故同一区块内存储数据通常为同一批次货物。
在对区块进行打包时,除将追溯数据存入区块体,还需将本区块存储的农产品的生产日期和本区块存储的农产品的有效日期存入区块头,当同一区块内产品有效日期不唯一时,以最长有效日期为准。
具体地,将第一链上的目标区块内的农产品供应链追溯数据上传至IPFS,等待IPFS成功存储后,得到IPFS返回的哈希地址。
进一步地,替换单元502利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块。
其中,第一区块是单个区块,在目标区块为单个区块的情况下,第一区块的哈希值与目标区块的哈希值相同;在目标区块为连续的多个区块的情况下,第一区块的哈希值与目标区块中最后一个区块的哈希值相同。
替换单元502还用于将第一区块广播至所有的区块链节点。
进一步地,在每个区块链节点上,删除第一链上的目标区块,并利用第一区块在目标区块的原有的位置上进行上链,以替代目标区块。其中,第一区块的区块体中存储有哈希地址。
进一步地,构建单元503利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
第二区块为单个区块。
具体地,打包哈希地址、目标区块的区块高度,以及第一区块的区块高度等信息,形成第二区块,并将第二区块增加到第二链的尾部,完成上链,可以通过第二区块对目标区块内的农产品供应链追溯数据进行追溯。
本发明提供的可编辑区块链追溯系统,通过构建可编辑区块链和不可编辑区块链的平行区块链结构,将可编辑区块链上的时效性追溯数据存入云端,而在不可编辑区块链上存储可编辑区块链的操作记录数据,在降低了区块链存储量的同时,实现了删除数据的可恢复性,进而保证链上数据可问责性和可信任性。
需要说明的是,本发明实施例提供的可编辑区块链追溯系统,在具体执行时,可以基于上述任一实施例所述的可编辑区块链追溯方法来实现,对此本实施例不作赘述。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行可编辑区块链追溯方法,该方法包括:将目标区块内的追溯数据上传至云端,以获取云端返回的哈希地址;目标区块为可编辑区块链上的区块;利用第一区块替换目标区块,并将哈希地址存储至第一区块;利用哈希地址、目标区块的区块高度,以及第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据第二区块对追溯数据进行追溯。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的可编辑区块链追溯方法,该方法包括:将目标区块内的追溯数据上传至云端,以获取云端返回的哈希地址;目标区块为可编辑区块链上的区块;利用第一区块替换目标区块,并将哈希地址存储至第一区块;利用哈希地址、目标区块的区块高度,以及第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据第二区块对追溯数据进行追溯。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的可编辑区块链追溯方法,该方法包括:将目标区块内的追溯数据上传至云端,以获取云端返回的哈希地址;目标区块为可编辑区块链上的区块;利用第一区块替换目标区块,并将哈希地址存储至第一区块;利用哈希地址、目标区块的区块高度,以及第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据第二区块对追溯数据进行追溯。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种可编辑区块链追溯方法,其特征在于,包括:
将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;
利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;
利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
2.根据权利要求1所述的可编辑区块链追溯方法,其特征在于,在将目标区块内的追溯数据上传至云端之前,还包括:
将删除请求广播至所有的区块链节点,并获取所有的陷门节点对所述删除请求的反馈情况;
若所述反馈情况为删除请求通过,则执行所述将目标区块内的追溯数据上传至云端;
所述删除请求由提案节点对所述目标区块提出的;所述陷门节点持有所述目标区块的陷门密钥的分片。
3.根据权利要求2所述的可编辑区块链追溯方法,其特征在于,所述第二区块的区块体,具体包括:提案节点地址、所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度;所述提案节点地址为提出所述删除请求的区块链节点的地址;
所述第二区块的区块头,具体包括:所述第二区块的区块体的哈希值、所述第二区块的生成时间,以及所述第二区块的上一区块的哈希值。
4.根据权利要求2所述的可编辑区块链追溯方法,其特征在于,在利用第一区块替换所述目标区块之前,还包括:
利用所述陷门密钥计算哈希碰撞,获取新随机数;
利用所述新随机数和所述哈希地址,获取所述第一区块。
5.根据权利要求1所述的可编辑区块链追溯方法,其特征在于,所述第一区块的区块体,具体包括:所述哈希地址;
所述第一区块的区块头,具体包括:所述第一区块的区块体的哈希值、所述追溯数据中农产品的生产日期、农产品的有效日期、所述目标区块的前一区块的哈希值、所述第一区块的区块高度、所述第一区块的生成时间、编辑过的状态位和所述第一区块的碰撞调节位。
6.根据权利要求1所述的可编辑区块链追溯方法,其特征在于,在将目标区块内的追溯数据上传至云端之前,还包括:
利用智能合约,对所述可编辑区块链上存储有追溯数据的区块进行轮询监测,以确定所述目标区块;所述目标区块内的追溯数据超过时效;所述智能合约存储有陷门密钥。
7.根据权利要求1所述的可编辑区块链追溯方法,其特征在于,以根据所述第二区块对所述追溯数据进行追溯,包括:
在所述第二区块的区块体中获取所述哈希地址;
根据所述哈希地址,从所述云端确定所述目标区块的追溯数据,以对目标区块进行数据追溯;
或者,
在所述第二区块的区块体中确定所述第一区块的区块高度;
根据所述第一区块的区块高度,从所述可编辑区块链上确定所述第一区块;
在所述第一区块的区块体中获取所述哈希地址;
根据所述哈希地址,在所述云端确定目标区块的追溯数据,以对目标区块进行数据追溯。
8.一种可编辑区块链追溯系统,其特征在于,包括:
上传单元,用于将目标区块内的追溯数据上传至云端,以获取所述云端返回的哈希地址;所述目标区块为可编辑区块链上的区块;
替换单元,用于利用第一区块替换所述目标区块,并将所述哈希地址存储至所述第一区块;
构建单元,用于利用所述哈希地址、所述目标区块的区块高度,以及所述第一区块的区块高度,在不可编辑区块链上构建第二区块,以根据所述第二区块对所述追溯数据进行追溯。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述可编辑区块链追溯方法步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述可编辑区块链追溯方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010289.1A CN113822680B (zh) | 2021-08-31 | 2021-08-31 | 一种可编辑区块链追溯方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010289.1A CN113822680B (zh) | 2021-08-31 | 2021-08-31 | 一种可编辑区块链追溯方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113822680A true CN113822680A (zh) | 2021-12-21 |
CN113822680B CN113822680B (zh) | 2023-04-25 |
Family
ID=78913851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111010289.1A Active CN113822680B (zh) | 2021-08-31 | 2021-08-31 | 一种可编辑区块链追溯方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822680B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034796A (zh) * | 2022-05-30 | 2022-09-09 | 四川大学 | 基于Merkle山脉的多链追溯方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445272A (zh) * | 2020-04-08 | 2020-07-24 | 华南农业大学 | 一种基于区块链的农产品溯源信息处理系统及方法 |
CN111460497A (zh) * | 2020-03-30 | 2020-07-28 | 中南大学 | 一种可编辑区块链系统 |
CN111913978A (zh) * | 2020-09-02 | 2020-11-10 | 上海优扬新媒信息技术有限公司 | 一种区块删除方法、装置及系统 |
CN112540998A (zh) * | 2020-12-21 | 2021-03-23 | 清华大学 | 一种区块链的链上内容清除方法及装置 |
WO2022206482A1 (zh) * | 2021-03-29 | 2022-10-06 | 华为技术有限公司 | 区块链编辑的方法和区块链节点 |
-
2021
- 2021-08-31 CN CN202111010289.1A patent/CN113822680B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460497A (zh) * | 2020-03-30 | 2020-07-28 | 中南大学 | 一种可编辑区块链系统 |
CN111445272A (zh) * | 2020-04-08 | 2020-07-24 | 华南农业大学 | 一种基于区块链的农产品溯源信息处理系统及方法 |
CN111913978A (zh) * | 2020-09-02 | 2020-11-10 | 上海优扬新媒信息技术有限公司 | 一种区块删除方法、装置及系统 |
CN112540998A (zh) * | 2020-12-21 | 2021-03-23 | 清华大学 | 一种区块链的链上内容清除方法及装置 |
WO2022206482A1 (zh) * | 2021-03-29 | 2022-10-06 | 华为技术有限公司 | 区块链编辑的方法和区块链节点 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034796A (zh) * | 2022-05-30 | 2022-09-09 | 四川大学 | 基于Merkle山脉的多链追溯方法、装置和存储介质 |
CN115034796B (zh) * | 2022-05-30 | 2024-05-24 | 四川大学 | 基于Merkle山脉的多链追溯方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113822680B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180336218A1 (en) | Template based data reduction for commercial data mining | |
Kim et al. | Big-data applications in the government sector | |
JP6827266B2 (ja) | 検知プログラム、検知方法および検知装置 | |
CN107844976A (zh) | 一种基于区块链的存证应用交易系统及方法 | |
EP2564560B1 (en) | Information tracking system and method | |
CN103873503A (zh) | 数据块备份系统及方法 | |
CN113822680A (zh) | 一种可编辑区块链追溯方法及系统 | |
CN112925759A (zh) | 数据文件的处理方法和装置、存储介质、电子装置 | |
KR102584292B1 (ko) | 조정 가능한 수의 트랜잭션 블록 및 복수의 중간 블록을 포함하는 블록을 가진 블록체인의 생성 | |
CN104158844A (zh) | 远程实时监测系统 | |
CN109740799B (zh) | 预算数据生成方法、装置、计算机设备和存储介质 | |
US11436614B2 (en) | Server device and traceability method | |
CN110837529B (zh) | 大数据分析监察方法、装置、服务器及可读存储介质 | |
CN112417031A (zh) | 利用区块链的上下文物联网 | |
CN107295059A (zh) | 业务推送量的统计系统及方法 | |
CN114047729B (zh) | 天然植物加工控制方法、系统、计算机设备和存储介质 | |
CN115454717A (zh) | 数据库实时备份方法、装置、计算机设备和存储介质 | |
CN114877943A (zh) | 一种基于区块链的生态环境监测装置 | |
CN111026705B (zh) | 建筑工程文件管理方法、系统及终端设备 | |
CN105119741A (zh) | 一种云网络可靠性度量方法 | |
Subramanian et al. | Enhancing Supply Chain Traceability with Blockchain Technology: A Study on Dairy, Agriculture, and Seafood Supply Chains | |
CN111640005A (zh) | 数据分析方法、装置、计算机设备及存储介质 | |
CN111274316A (zh) | 多级数据流转任务的执行方法及装置、电子设备、存储介质 | |
Chen et al. | Optimum imperfect maintenance policy with cumulative damage model for a used system subject to number-dependent shocks | |
CN113220707A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |