CN107391291B - 修改区块链即有区块体数据的区块链勘误方法及系统 - Google Patents

修改区块链即有区块体数据的区块链勘误方法及系统 Download PDF

Info

Publication number
CN107391291B
CN107391291B CN201710425447.7A CN201710425447A CN107391291B CN 107391291 B CN107391291 B CN 107391291B CN 201710425447 A CN201710425447 A CN 201710425447A CN 107391291 B CN107391291 B CN 107391291B
Authority
CN
China
Prior art keywords
data
error
block
record
chain
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.)
Expired - Fee Related
Application number
CN201710425447.7A
Other languages
English (en)
Other versions
CN107391291A (zh
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.)
Beijing Rui Zhuo Xi Tou Technology Development Co ltd
Original Assignee
Beijing Rui Zhuo Xi Tou Technology Development Co ltd
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 Beijing Rui Zhuo Xi Tou Technology Development Co ltd filed Critical Beijing Rui Zhuo Xi Tou Technology Development Co ltd
Publication of CN107391291A publication Critical patent/CN107391291A/zh
Application granted granted Critical
Publication of CN107391291B publication Critical patent/CN107391291B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Abstract

本发明实施例提供了一种修改区块链即有区块体数据的区块链勘误方法及系统,属于区块链技术领域,方法包括:接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,所述数据勘误请求中包括:待勘误的第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;将所述区块链中的所述第一数据修改为所述第二数据;根据所述数据勘误请求,生成勘误记录;将所述勘误记录存储到链外勘误表中,所述链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对所述区块链进行查阅。本发明实施例的方案,旨在对已生成的区块链中的区块体数据进行修改,且同时可完成区块链一致性验证的情况下,实现对区块链中区块体数据的勘误更正。

Description

修改区块链即有区块体数据的区块链勘误方法及系统
技术领域
本发明实施例属于区块链技术领域,尤其涉及一种修改区块链即有区块体数据的区块链勘误方法及系统。
背景技术
随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被同时记录在多个账本节点之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。
当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:
现有的区块链是沿着区块链的延展方向,依次生成新的区块,且区块之间满足一致性验证,这也是为了防止区块中的数据被恶意篡改。但是,在一些情况下,当区块链上的某个区块中的区块体数据确实存在错误,或者出于监管或政策部门的特殊需求,需要被修改更正,但如果强行对该数据进行修改,势必会导致区块链的一致性验证不通过,从而出现修改区块数据与区块链一致性验证之间的矛盾。
发明内容
本发明实施例提供一种修改区块链即有区块体数据的区块链勘误方法及系统,旨在现有区块链的延展过程中,通过设置链外勘误表,在对已生成的区块链中的区块体数据进行修改,且同时可完成区块链一致性验证的情况下,实现对区块链中区块体数据的勘误更正。
为达到上述目的,本发明实施例提供了一种修改区块链即有区块体数据的区块链勘误方法,包括:接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,所述数据勘误请求中包括:待勘误的第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;将所述区块链中的所述第一数据修改为所述第二数据;根据所述数据勘误请求,生成勘误记录,所述勘误记录包括:关联存储的所述第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;将所述勘误记录存储到链外勘误表中,所述链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对所述区块链进行查阅和强行一致性验证。
本发明实施例提供了一种修改区块链即有区块体数据的区块链勘误系统,包括:请求接收模块,用于接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,所述数据勘误请求中包括:待勘误的第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;数据修改模块,用于将所述区块链中的所述第一数据修改为所述第二数据;记录生成模块,用于根据所述数据勘误请求,生成勘误记录,所述勘误记录包括:关联存储的所述第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;记录存储模块,用于将所述勘误记录存储到链外勘误表中,所述链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对所述区块链进行查阅和强行一致性验证。
本发明实施例的修改区块链即有区块体数据的区块链勘误方法及系统,通过设置链外勘误表,将每次需要勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据都关联存储在链外勘误表中,同时将区块链中的第一数据修改为第二数据,并利用链外勘误表对数据修改后的区块采用强行一致性验证,从而在对已生成的区块链中的区块体数据进行修改,且同时可完成区块链一致性验证的情况下,实现对区块链中区块体数据的勘误更正。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本发明实施例提供的区块链的形态图一;
图2为本发明实施例提供的区块链的形态图二;
图3为本发明实施例提供的区块链的形态图三;
图4为本发明实施例提供的修改区块链即有区块体数据的区块链勘误方法流程图一;
图5a为本发明实施例提供的区块链的形态图四;
图5b为本发明实施例提供的区块链的形态图五;
图6为本发明实施例提供的修改区块链即有区块体数据的区块链勘误方法流程图二;
图7为本发明实施例提供的在链外勘误表中存储勘误记录的方法流程图一;
图8为本发明实施例提供的在链外勘误表中存储勘误记录的方法流程图二;
图9为本发明实施例提供的修改区块链即有区块体数据的区块链勘误系统示意图一;
图10为本发明实施例提供的修改区块链即有区块体数据的区块链勘误系统示意图二;
图11为本发明实施例提供的存储勘误记录的结构示意图一;
图12为本发明实施例提供的存储勘误记录的结构示意图二。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
首先需要说明的是,本发明实施例将提供一种修改区块链即有区块体数据的区块链勘误方法,以在对已生成的区块链中的区块体数据进行修改,且同时可完成区块链一致性验证的情况下,实现对区块链中区块体数据的勘误更正。具体通过在每次接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求后,将区块链中待勘误的第一数据修改为第二数据,并根据数据勘误请求,生成勘误记录,该勘误记录中包括:关联存储的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;将勘误记录存储到链外勘误表中,链外勘误表与区块链之间具有关联关系,以用于查阅者结合链外勘误表对区块链进行查阅和强行一致性验证。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串即散列值,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。
其次需要说明的是,本发明实施例中的区块链中各区块的区块体数据记载的交易信息不局限于商业中的“账本”或“金融交易”的信息,也可以广义的理解为是需要通过区块链这种数据组织形式管理的多样化的对象数据,如针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等。本发明实施例中,对区块链本身的形态及延展方向不做限定,只是在区块链正常延展的过程中,通过设置链外勘误表的方式,对区块链中区块的区块体数据进行更正勘误,同时对原区块链中的相应的区块体数据部分进行修改。例如,区块链的延展形态可以为如图1所示的传统的单链条的区块链,也可以是如图2所示的整体上呈树形结构的区块链(该区块链中每个区块只有一个父区块,并有一个或多个子区块),还可以是如图3所示的具有有向无环图型结构的区块链(该区块链中存在至少一个区块具有一个或多个父区块)。
以下将对本发明实施例的修改区块链即有区块体数据的区块链勘误方法进行详细阐述。
实施例一
图4为本发明实施例提供的修改区块链即有区块体数据的区块链勘误方法流程图一,本方法的执行主体可以为具有数据处理功能的系统,包括终端和/或服务器。如图4所示,该修改区块链即有区块体数据的区块链勘误方法包括如下步骤:
S410,接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,该数据勘误请求中包括:待勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;
其中,所述的当前已形成的区块链是指截至当前时刻,所形成的区块链在整体上所呈现的区块链形态。
具体地,当需要对当前已形成的区块链中区块的区块体数据进行勘误时,可向上述系统发送数据勘误请求,该数据勘误请求中包括:待勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据。其中,所述的第一数据为位于所述区块链的区块中的部分区块体数据,并且该部分区块体数据被作为本次勘误的对象数据,该第一数据可以是仅包括被勘误的数据,或者是包含了被勘误的数据在内的数据集合。
为了方便描述区块链中各区块的区块体数据,本实施例将区块链中各区块的区块体数据划分为了多个数据条目,每个数据条目内独立的包含一条交易信息,并且对应一个数据ID,例如图5所示,其示出了区块链中区块体数据的存在形式,即每个区块的区块体数据中可以包括多条数据条目。图5中,位于区块Block2中的tx01:olddata,作为一个数据条目,其数据ID为tx01,交易信息为olddata(olddata泛指区块链中还没有被勘误的原始交易信息)。实际上,上述第一数据可以是待勘误的一条或者多条数据条目对应的交易信息,也可以是包含这些待勘误的交易信息在内的数据的集合。为了方便数据管理,本实施例中的系统在接收和处理数据勘误请求时,均是以区块链中已存在的区块体数据中的数据条目为单位,逐一处理的,即每次接收的数据勘误请求中只包含针对一个数据条目的数据勘误请求。
具体地,当区块链管理者需要对区块链中区块的区块体数据进行勘误时,可向系统输入待勘误的第一数据在区块链中的位置信息,该位置信息具体可以是第一数据所在的区块的编号(区块链中各区块的编号唯一确定,如图5a中的“Block1”、“Block2”、“Block3”、均可作为区块的编号),以及该第一数据在区块的区块体数据中的数据ID(如图5a中的“tx01”)。通过锁定第一数据在区块链中所在的区块编号,以及在该区块的区块体数据中的数据ID就可以唯一确定一个数据条目及其包含的交易信息。因此,这里需要说明的是,针对某个数据条目中的交易信息进行勘误是在决定进行数据勘误时就已经确定的,而在具体执行数据勘误时,只需要锁定被勘误数据即第一数据在所述区块链中的位置信息即可,而不必再向系统明确输入第一数据的具体内容。
所述的第二数据,是指第一数据被勘误后的数据,即用于替换第一数据所对应的那部分数据。在向系统输入的数据勘误请求中包括两部分内容,即:待勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据。
在实际应用场景中,区块链管理者可能会向系统一次性输入多条交易信息在区块链中的位置信息,以及对这些交易信息进行勘误后的结果信息,系统会根据这些交易信息在区块链中的位置信息,分析其所对应的信息条目,从而以信息条目为单位,将其视为多个数据勘误请求进行处理,即每个数据勘误请求中只包含针对一个数据条目的数据勘误请求。
S420,将区块链中的第一数据修改为第二数据;
具体地,根据数据勘误请求中包含的所述第一数据在区块链中的位置信息,将相应位置处的数据修改为第二数据即可实现数据的修改。
如图5b所示,即为对图5a中Block2中的数据ID为tx01的交易信息进行修改后的区块链的形态图,图5b中,数据ID为tx01的交易信息olddata已经被修改为newdata。
S430,根据数据勘误请求,生成勘误记录,该勘误记录包括:关联存储的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;
具体地,系统从每次接收的数据勘误请求中,提取出待勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据。并将这两个信息关联存储形成一条勘误记录。可选地,在该勘误记录中还可以包括本次勘误记录生成的时间信息等。
S440,将勘误记录存储到链外勘误表中,该链外勘误表与区块链之间具有关联关系,以用于查阅者结合链外勘误表对区块链进行查阅和强行一致性验证。
将当前生成的勘误记录存储到链外勘误表中,该链外勘误表用于在区块链之外,将每次对区块链进行勘误的勘误记录进行存储,并且该链外勘误表与区块链之间已确定了关联关系,以用于查阅者在查看区块链中记载的交易信息时可结合链外勘误表对区块链进行查阅,使得查阅者可以及时看到区块链中被勘误的交易信息,同时还可根据勘误记录的内容,对有数据修改的区块在区块链中的一致性进行强行验证通过。
如表1所示,为本发明实施例提供的链外勘误表一。其中,在链外勘误表一中,每个勘误记录中还可以包括勘误记录生成的时间等信息,在此均省略不显示。
链外勘误表一
数据ID 第二数据 所在区块编号 ……
tx01 newdata Block2 ……
…… …… …… ……
本发明实施例的修改区块链即有区块体数据的区块链勘误方法,通过设置链外勘误表,将每次需要勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据都关联存储在链外勘误表中,并且将区块链中的第一数据修改为第二数据,从而在对已生成的区块链中的区块体数据进行修改的情况下,实现对区块链中区块体数据的勘误更正,使得查阅者根据当前区块链记载的交易数据的内容就可以查看到截至当前时刻区块链中记录的最新交易信息。
实施例二
图6为本发明实施例提供的修改区块链即有区块体数据的区块链勘误方法流程图二,该方法实施例可视为对图4所示方法步骤的进一步细化方案,如图6所示,该修改区块链即有区块体数据的区块链勘误方法包括如下步骤:
S610,接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,该数据勘误请求中包括:待勘误的第一数据在区块链中的位置信息;
S620,将区块链中的第一数据修改为第二数据;
S630,根据数据勘误请求,生成勘误记录,该勘误记录包括:关联存储的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;
步骤S610~S630与步骤S410~S430的内容对应相同。
S640,根据第一数据在区块链中的位置信息,对当前第二数据所在区块的区块头数据和区块体数据经不可逆算法得到固定长度的字符串;
具体地,将第一数据修改成勘误后的第二数据后,相应的,原来第一数据在区块链中的位置信息所对应的区块的区块体数据中,就变成了由第二数据和原区块体数据中除了第一数据以外的其他数据所构成的区块体数据。对该数据替换后的区块的所有数据(包括区块头数据和区块体数据)经不可逆算法得到固定长度的字符串。
其中,上述的不可逆算法可以为定长计算(哈希(Hash))算法,相应的,经不可逆算法得到的字符串可以为哈希值。
S650,将固定长度的字符串添加到第二数据所对应的勘误记录中,以用于查阅者对本次勘误后的区块体数据进行真实性验证。
为了保证链外勘误表中每条勘误记录的真实性和合法性,或是防止有人趁对区块体数据勘误之际,对区块体数据中的其他数据进行恶意篡改,可在每次生成勘误记录时,将区块链中被勘误的区块的区块体数据中的第一数据修改为对应的第二数据,然后对数据修改后的区块的所有数据再经不可逆算法得到固定长度的字符串,然后将该固定长度的字符串存储到相应的勘误记录中,从而使得查阅者利用该固定长度的字符串,对勘误记录的真实性和合法性进行验证,防止勘误记录中的勘误数据和/或区块链中的其他区块体数据部分被恶意篡改。
如表2所示,为本发明实施例提供的链外勘误表二。其中,相比较链外勘误表一的内容,在链外勘误表二中,每个勘误记录中增加了哈希值表项,该哈希值即为上述步骤S640中,将第一数据修改成勘误后的第二数据后,根据第一数据在区块链中的位置信息,对当前第二数据所在区块的区块头数据和区块体数据经不可逆算法得到的固定长度的字符串。
表2链外勘误表二
数据ID 第二数据 所在区块编号 哈希值 ……
tx01 newdata Block2 32为字符串 ……
…… …… …… …… ……
同样,在链外勘误表二中,每个勘误记录中还可以包括勘误记录生成的时间等信息,在此均省略不显示。
S660,将勘误记录存储到链外勘误表中,该链外勘误表与区块链之间具有关联关系,以用于查阅者结合链外勘误表对区块链进行查阅和强行一致性验证。步骤S660与步骤S430的内容相同。
另外,在每次根据数据勘误请求,生成勘误记录之后,可以采用不同的方式存储和管理勘误记录,以方便查阅者对链外勘误表的查看需求。本实施例示出了但不局限于如下两种方式。
方式一
如图7所示,为本实施例提供的在链外勘误表中存储勘误记录的方法流程图一,包括如下步骤:
S710,查询链外勘误表中是否存储有,与当前生成的勘误记录为针对同一第一数据的勘误记录;
由于本实施例的技术方案中,区块链中各区块的原始区块体数据在勘误过程中是有修改的,因此针对是否为同一第一数据的判定,只需要满足被勘误的第一数据在区块链中的位置信息是否相同即可。因此,要查询链外勘误表中是否存储有,与当前生成的勘误记录为针对同一第一数据的勘误记录,则可以通过查看链外勘误表中各勘误记录中,是否存在与当前生成的勘误记录中,第一数据在区块链中的位置信息为同一位置信息的勘误记录。如果存在第一数据在区块链中的位置信息为同一位置信息的勘误记录,则表明链外勘误表中存储有,与当前生成的勘误记录为针对同一第一数据的勘误记录。
S720,若存在与当前生成的勘误记录为针对同一所述第一数据的勘误记录,则将勘误表中相应的勘误记录替换为当前生成的勘误记录。
当确定链外勘误表中存储有,与当前生成的勘误记录为针对同一第一数据的勘误记录时,可以当前生成的勘误记录替换掉已存在的勘误记录,从而保证链外勘误表中,针对区块链中的每条交易信息至多只存在一条勘误记录,且该勘误记录中记载的第二数据为最新勘误的结果数据。如此可使得链外勘误表的数据简单明了,避免数据冗余造成的数据存储和管理成本的增加,同时也使得查阅者可以方便的通过链外勘误表查看到最新勘误的区块体数据。
方式二
如图8所示,为本实施例提供的在链外勘误表中存储勘误记录的方法流程图二,该方法所对应的链外勘误表中各勘误记录还包括了标记本次勘误记录的版本号。所述的勘误记录的版本号是指针对同一第一数据(这里的同一第一数据指北勘误的数据在区块链中的位置信息相同,即认定为同一第一数据)进行勘误的过程中,生成的多个勘误记录之间为了加以区分,可按时间的先后顺序为每个勘误记录标记一个版本号。如图8所示,该方法包括如下步骤:
S810,查询链外勘误表中是否存储有,与当前生成的勘误记录为针对同一第一数据的勘误记录;步骤S810与前述步骤S710相同。
S820,若存在与当前生成的勘误记录为针对同一第一数据的勘误记录,则将当前生成的勘误记录存储到链外勘误表中,并按已存在的版本号,顺延标记该勘误记录的版本号。
当链外勘误表中存在与当前生成的勘误记录为针对同一第一数据的勘误记录,可以先将当前生成的勘误记录存储到链外勘误表中,然后根据勘误表中已存在的勘误记录的版本号,顺延标记当前的勘误记录的版本号。
相对应的,若链外勘误表中不存在与当前生成的勘误记录为针对同一第一数据的勘误记录,则将当前生成的勘误记录存储到链外勘误表中,并标记该勘误记录的版本号为初始版本号。
采用本方法步骤来存储勘误记录,可以清楚的展现出区块链的区块中各交易信息的历史勘误情况。
本发明实施例的修改区块链即有区块体数据的区块链勘误方法,在图4所示实施例的基础上,在每个勘误记录中增加了,该勘误记录对应的区块在数据勘误后的所有区块的数据经不可逆算法得到的固定长度的字符串,用于对勘误后的数据进行真实性及合法性的校验;同时,在存储勘误记录时,将针对同一第一数据的最新的勘误记录替换掉原有的勘误记录,或同时存储多条勘误记录,且通过对每条勘误记录标记版本号的方式进行区分,满足了依据不同存储方式所对应的管理需要。
实施例三
图9为本发明实施例提供的修改区块链即有区块体数据的区块链勘误系统示意图一,可用于执行如图4所示的方法步骤。如图9所示,该修改区块链即有区块体数据的区块链勘误系统包括:请求接收模块910、数据修改模块920、记录生成模块930和记录存储模块940,其中:
请求接收模块910,用于接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,该数据勘误请求中包括:待勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;数据修改模块920,用于将区块链中的所述第一数据修改为第二数据;记录生成模块930,用于根据数据勘误请求,生成勘误记录,该勘误记录包括:关联存储的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据;记录存储模块940,用于将勘误记录存储到链外勘误表中,该链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对区块链进行查阅和强行一致性验证。
本发明实施例的修改区块链即有区块体数据的区块链勘误系统,通过设置链外勘误表,将每次需要勘误的第一数据在区块链中的位置信息,以及对第一数据进行勘误后的第二数据都关联存储在链外勘误表中,并且将区块链中的第一数据修改为第二数据,从而在对已生成的区块链中的区块体数据进行修改的情况下,实现对区块链中区块体数据的勘误更正,使得查阅者根据当前区块链记载的交易数据的内容就可以查看到截至当前时刻区块链中记录的最新交易信息。
实施例四
如图10所示,为本发明实施例的修改区块链即有区块体数据的区块链勘误系统示意图二,可视为图9所示系统结构的细化方案,可用于执行如图6所示的方法步骤。如图10所示,在图9所示系统实施例的基础上,该修改区块链即有区块体数据的区块链勘误系统还包括:
数据计算模块950,用于根据第一数据在所述区块链中的位置信息,对当前第二数据所在区块的区块头数据和区块体数据经不可逆算法得到固定长度的字符串;
数据添加模块960,用于将固定长度的字符串添加到第二数据所对应的勘误记录中,以用于查阅者对本次勘误后的区块体数据进行真实性验证。
另外,在图9或图10的基础上,上述修改区块链即有区块体数据的区块链勘误系统中还可以包括图11或图12所示的存储勘误记录的结构示意图,其中,
图11所示的结构中包括:
第一数据查询模块111,用于查询链外勘误表中是否存储有与当前生成的勘误记录为针对同一第一数据的勘误记录;
第一数据处理模块112,用于若存在与当前生成的勘误记录为针对同一第一数据的勘误记录,则将勘误表中相应的勘误记录替换为所述当前生成的勘误记录。
图11所示的结构可用于执行如图7所示的方法步骤。
图12所示的结构中包括:
第二数据查询模块121,用于查询链外勘误表中是否存储有与当前生成的勘误记录为针对同一第一数据的勘误记录;
第二数据处理模块122,用于若存在与当前生成的勘误记录为针对同一第一数据的勘误记录,则将当前生成的勘误记录存储到链外勘误表中,并按已存在的版本号,顺延标记该勘误记录的版本号。
图12所示的结构可用于执行如图8所示的方法步骤。
进一步地,上述系统中,所述勘误记录中还包括:本次勘误记录生成的时间信息,第一数据在区块链中的位置信息包括:第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据ID。
本发明实施例的修改区块链即有区块体数据的区块链勘误系统,在图6所示实施例的基础上,在每个勘误记录中增加了,该勘误记录对应的区块在数据勘误后的所有区块的数据经不可逆算法得到的固定长度的字符串,用于对勘误后的数据进行真实性及合法性的校验;同时,在存储勘误记录时,将针对同一第一数据的最新的勘误记录替换掉原有的勘误记录,或同时存储多条勘误记录,且通过对每条勘误记录标记版本号的方式进行区分,满足了依据不同存储方式所对应的管理需要。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种修改区块链即有区块体数据的区块链勘误方法,其特征在于,包括:
接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,所述数据勘误请求中包括:待勘误的第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;
将所述区块链中的所述第一数据修改为所述第二数据;
根据所述数据勘误请求,生成勘误记录,所述勘误记录包括:关联存储的所述第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;
将所述勘误记录存储到链外勘误表中,所述链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对所述区块链进行查阅和强行一致性验证。
2.根据权利要求1所述的勘误方法,其特征在于,所述方法还包括:
根据所述第一数据在所述区块链中的位置信息,对当前所述第二数据所在区块的区块头数据和区块体数据经不可逆算法得到固定长度的字符串;
将所述固定长度的字符串添加到所述第二数据所对应的勘误记录中,以用于查阅者对本次勘误后的区块体数据进行真实性验证。
3.根据权利要求1所述的勘误方法,其特征在于,所述方法还包括:
查询所述链外勘误表中是否存储有,与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录;
若存在与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录,则将所述勘误表中相应的勘误记录替换为所述当前生成的勘误记录。
4.根据权利要求1所述的勘误方法,其特征在于,所述链外勘误表中的各所述勘误记录中还包括:用于标记本次勘误记录的版本号,
所述方法还包括:
查询所述链外勘误表中是否存储有与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录;
若存在与所述当前生成的所述勘误记录为针对同一所述第一数据的勘误记录,则将当前生成的所述勘误记录存储到所述链外勘误表中,并按已存在的版本号,顺延标记该勘误记录的版本号。
5.根据权利要求1-4中任一项所述的勘误方法,其特征在于,所述勘误记录中还包括:本次勘误记录生成的时间信息,所述第一数据在所述区块链中的位置信息包括:所述第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据ID。
6.一种修改区块链即有区块体数据的区块链勘误系统,其特征在于,包括:
请求接收模块,用于接收针对当前已形成的区块链中区块的区块体数据的数据勘误请求,所述数据勘误请求中包括:待勘误的第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;
数据修改模块,用于将所述区块链中的所述第一数据修改为所述第二数据;
记录生成模块,用于根据所述数据勘误请求,生成勘误记录,所述勘误记录包括:关联存储的所述第一数据在所述区块链中的位置信息,以及对所述第一数据进行勘误后的第二数据;
记录存储模块,用于将所述勘误记录存储到链外勘误表中,所述链外勘误表与所述区块链之间具有关联关系,以用于查阅者结合所述链外勘误表对所述区块链进行查阅和强行一致性验证。
7.根据权利要求6所述的勘误系统,其特征在于,所述系统还包括:
数据计算模块,用于根据所述第一数据在所述区块链中的位置信息,对当前所述第二数据所在区块的区块头数据和区块体数据经不可逆算法得到固定长度的字符串;
数据添加模块,用于将所述固定长度的字符串添加到所述第二数据所对应的勘误记录中,以用于查阅者对本次勘误后的区块体数据进行真实性验证。
8.根据权利要求6所述的勘误系统,其特征在于,所述系统还包括:
第一数据查询模块,用于查询所述链外勘误表中是否存储有与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录;
第一数据处理模块,用于若存在与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录,则将所述勘误表中相应的勘误记录替换为所述当前生成的勘误记录。
9.根据权利要求6所述的勘误系统,其特征在于,所述链外勘误表中的各所述勘误记录中还包括:用于标记本次勘误记录的版本号,
所述系统还包括:
第二数据查询模块,用于查询所述链外勘误表中是否存储有与当前生成的所述勘误记录为针对同一所述第一数据的勘误记录;
第二数据处理模块,用于若存在与所述当前生成的所述勘误记录为针对同一所述第一数据的勘误记录,则将当前生成的所述勘误记录存储到所述链外勘误表中,并按已存在的版本号,顺延标记该勘误记录的版本号。
10.根据权利要求6-9中任一项所述的勘误系统,其特征在于,所述勘误记录中还包括:本次勘误记录生成的时间信息,所述第一数据在所述区块链中的位置信息包括:所述第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据ID。
CN201710425447.7A 2017-03-24 2017-06-08 修改区块链即有区块体数据的区块链勘误方法及系统 Expired - Fee Related CN107391291B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2017101811572 2017-03-24
CN201710181157 2017-03-24

Publications (2)

Publication Number Publication Date
CN107391291A CN107391291A (zh) 2017-11-24
CN107391291B true CN107391291B (zh) 2020-12-25

Family

ID=60333124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710425447.7A Expired - Fee Related CN107391291B (zh) 2017-03-24 2017-06-08 修改区块链即有区块体数据的区块链勘误方法及系统

Country Status (1)

Country Link
CN (1) CN107391291B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754989B2 (en) * 2018-03-27 2020-08-25 International Business Machines Corporation Runtime self-correction for blockchain ledgers
CN108965257B (zh) * 2018-06-20 2020-12-18 北京欧链科技有限公司 一种区块链系统的勘误方法以及区块链节点
CN109033886A (zh) * 2018-06-20 2018-12-18 北京欧链科技有限公司 一种区块链勘误方法及装置、存储介质、电子设备
CN109101526A (zh) * 2018-06-20 2018-12-28 北京欧链科技有限公司 一种区块链勘误方法及装置、存储介质、电子设备
CN108985934B (zh) * 2018-07-06 2021-12-17 深圳源码智能科技有限公司 区块链修改方法和装置
CN109271559A (zh) * 2018-08-21 2019-01-25 平安科技(深圳)有限公司 对区块链中数据进行修改方法、装置及电子设备
CN109241192B (zh) * 2018-09-18 2021-06-15 百度在线网络技术(北京)有限公司 区块链的数据修改及区块验证方法、装置、设备和介质
CN109254999B (zh) * 2018-09-18 2023-03-07 百度在线网络技术(北京)有限公司 一种区块链的数据处理方法、装置、设备及介质
CN109344631B (zh) * 2018-09-18 2020-11-06 百度在线网络技术(北京)有限公司 区块链的数据修改及区块验证方法、装置、设备和介质
CN109685225A (zh) * 2018-12-26 2019-04-26 深圳市轱辘汽车维修技术有限公司 一种车辆信息管理方法及相关设备
CN112215600A (zh) * 2019-06-25 2021-01-12 华为技术有限公司 数据浏览、存储方法、装置、计算机设备以及存储介质
CN113094753B (zh) * 2021-05-08 2023-02-24 重庆银行股份有限公司 基于区块链的大数据平台hive数据修改方法以及系统
CN113722395B (zh) * 2021-08-24 2023-04-11 苏州喜全软件科技有限公司 一种基于多维度私钥的区块链勘误系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1614582A (zh) * 2003-11-08 2005-05-11 鸿富锦精密工业(深圳)有限公司 自动生成勘误表系统及方法
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology

Also Published As

Publication number Publication date
CN107391291A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107391291B (zh) 修改区块链即有区块体数据的区块链勘误方法及系统
US11914712B1 (en) Blockchain based secure naming and update verification
CN107391557B (zh) 针对设置链外勘误表的区块链串行查询方法及系统
CN108446407B (zh) 基于区块链的数据库审计方法和装置
CN107463597B (zh) 针对修改区块体数据的区块链的被动验证方法及系统
US11895223B2 (en) Cross-chain validation
CN107423163B (zh) 整体串行增加区块的区块链的勘误方法及系统
CN110495132B (zh) 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法
Nikitin et al. {CHAINIAC}: Proactive {Software-Update} transparency via collectively signed skipchains and verified builds
CN106897348B (zh) 一种数据存储、数据校验、数据溯源方法和设备
KR101954268B1 (ko) 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버
CN107391292B (zh) 针对保持区块体数据实现勘误的区块链验证方法及系统
US11080691B2 (en) Fork-tolerant consensus protocol
US20210109917A1 (en) System and Method for Processing a Database Query
US20100212017A1 (en) System and method for efficient trust preservation in data stores
CN107463596B (zh) 针对设置链外勘误表的区块链并行查询方法及系统
US11762839B2 (en) Search method using data structure for supporting multiple search in blockchain-based IoT environment, and device according to method
CN109255056B (zh) 区块链的数据引用处理方法、装置、设备及存储介质
CN107451177B (zh) 针对增加区块的单个勘误的区块链的查询方法及系统
CN110704428A (zh) 区块链的数据索引方法、装置、计算机设备和存储介质
CN112287033B (zh) 一种数据同步方法、设备以及计算机可读存储介质
CN112287034A (zh) 一种数据同步方法、设备以及计算机可读存储介质
CN107451002B (zh) 针对修改区块体数据的区块链的主动验证方法及系统
CN107451007B (zh) 针对增加区块进行勘误的区块链的验证方法及系统
CN111078799A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201225

CF01 Termination of patent right due to non-payment of annual fee