The embodiment of the invention provides a method and system for query block chain chain set serial errata, which belongs to the technical field, the blockchain method includes: receiving to block currently has formed a block in the chain block data query; data query according to the key information in the request, in the chain of errata the table in the query, to obtain the target errata records; according to key information, the original data in the table, and to record the query target errata exists outside of the same original record of the location information block in the chain in order to get target records; the target record and original record target errata as target data output. The scheme of the embodiment of the invention aims to provide a query method for the block chain in order to complete the data correction of the block chain by setting an external chain errata, so as to enable the user to accurately query the desired data.
【技术实现步骤摘要】
针对设置链外勘误表的区块链串行查询方法及系统
本专利技术实施例属于区块链
,尤其涉及一种针对设置链外勘误表的区块链串行查询方法及系统。
技术介绍
随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被同时记录在多个账本节点之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。专利技术人在实现本专利技术的过程中,发现现有技术存在如下缺陷:现有的区块链是沿着区块链的延展方向,依次生成新的区块,且区块之间满足一致性验证,这也是为了防止区块中的数据被恶意篡改。但是,在一些情况下,当区块链上的某个区块中的区块体数据确实存在错误,或者出于监管或政策部门的特殊需求,需要被修改更正,但如果强行对该数据进行修改,势必会导致区块链的一致性验证不通过,从而出现修改区块数据与区块链一致性验证之间的矛盾。
技术实现思路
本专利技术实施例提供一种针对设置链外勘误表的区块链串行查询方法及系统,旨在现有区块链的延展过程中,针对已形成的区块链,通过设置链外勘误表,且不修改区块链中既有区块体 ...
【技术保护点】
一种针对设置链外勘误表的区块链串行查询方法,其特征在于,所述区块链中区块的区块体数据存储于一原始数据表中,所述原始数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的原始记录,所述原始数据表中的所有所述第一数据的内容构成了所述区块链中所有区块的区块体数据;与所述原始数据表关联存储有一链外勘误表,所述链外勘误表中包括多条由关联存储的所述第一数据在所述区块链中的位置信息和第二数据构成的勘误记录,其中,所述链外勘误表中涉及的所述第一数据对应于所述原始数据表中被勘误的第一数据,所述第二数据为将该第一数据勘误后的数据;所述查询方法包括:接收针对当前已形成的区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述链外勘误表中进行查询,以得到与所述关键信息匹配的目标勘误记录;根据所述关键信息,在所述原始数据表中,针对与所述目标勘误记录中存在相同所述区块链中的位置信息的以外的所述原始记录中进行查询,以得到与所述关键信息匹配的目标原始记录;将所述目标勘误记录和所述目标原始记录作为所述目标数据输出。
【技术特征摘要】
2017.03.24 CN 20171018110891.一种针对设置链外勘误表的区块链串行查询方法,其特征在于,所述区块链中区块的区块体数据存储于一原始数据表中,所述原始数据表中包括多条由关联存储的第一数据在所述区块链中的位置信息和所述第一数据的内容构成的原始记录,所述原始数据表中的所有所述第一数据的内容构成了所述区块链中所有区块的区块体数据;与所述原始数据表关联存储有一链外勘误表,所述链外勘误表中包括多条由关联存储的所述第一数据在所述区块链中的位置信息和第二数据构成的勘误记录,其中,所述链外勘误表中涉及的所述第一数据对应于所述原始数据表中被勘误的第一数据,所述第二数据为将该第一数据勘误后的数据;所述查询方法包括:接收针对当前已形成的区块链中区块的区块体数据的数据查询请求,所述数据查询请求中包括:待查询的目标数据的关键信息;根据所述关键信息,在所述链外勘误表中进行查询,以得到与所述关键信息匹配的目标勘误记录;根据所述关键信息,在所述原始数据表中,针对与所述目标勘误记录中存在相同所述区块链中的位置信息的以外的所述原始记录中进行查询,以得到与所述关键信息匹配的目标原始记录;将所述目标勘误记录和所述目标原始记录作为所述目标数据输出。2.根据权利要求1所述的勘误方法,其特征在于,所述目标勘误记录中针对同一所述第一数据至少包括一条目标勘误记录,所述方法还包括:从所述目标勘误记录中,提取针对各同一所述第一数据的且生成时间最近的目标勘误记录,并将这些目标勘误记录作为所述目标数据输出。3.根据权利要求2所述的勘误方法,其特征在于,所述链外勘误表中的各所述勘误记录中还包括:用于标记所述勘误记录所针对的被勘误的第一数据在本勘误记录中被勘误的版本号;所述方法还包括:从所述目标勘误记录中,提取针对各同一所述第一数据的且所述版本号最高的目标勘误记录,并将这些目标勘误记录作为所述目标数据输出。4.根据权利要求1所述的勘误方法,其特征在于,各所述勘误记录中还包括第一散列值,所述第一散列值为其所在勘误记录中所述第一数据所在区块在当次被勘误后,将该区块中所述第一数据替换为相应所述第二数据后,对该区块的区块头数据和区块体数据经不可逆算法生成的固定长度的字符串,所述方法还包括:以所述目标勘误记录中的所述第二数据替换该目标勘误记录中记录的位于所述区块链中的位置信息处的第一数据,并对数据替换后,该第二数据所在区块的区块头数据和区块体数据经不可逆算法生成的固定长度的字符串,即第二散列值;将所述目标勘误记录中的所述第一散列值与以该目标勘误记录中的所述第二数据计算得到的所述第二散列值进行比较,如果所述第一散列值与所述第二散列值相同,则确定将所述目标勘误记录作为所述目标数据输出。5.根据权利要求1-4中任一项所述的勘误方法,其特征在于,所述勘误记录中还包括:本次勘误记录的生成时间信息,所述第一数据在所述区块链中的位置信息包括:所述第一数据所在的区块的编号,以及该第一数据在所述区块的区块体数据中的数据...
【专利技术属性】
技术研发人员:谭智勇,王子龙,许进,张勇,
申请(专利权)人:北京瑞卓喜投科技发展有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。