在拓展中进行修改的区块链的生成方法及系统与流程

文档序号:12733863阅读:304来源:国知局
在拓展中进行修改的区块链的生成方法及系统与流程

本发明实施例属于区块链技术领域,尤其涉及一种在拓展中进行修改的区块链的生成方法及系统。



背景技术:

随着互联网的不断发展,区块链技术应运而生,它是一种互联网数据库技术,具有去中心化、公开透明的特点。具体地,区块链技术的本质是去中心化且寓于分布式结构的数据存储、传输和证明的方法,用数据区块取代目前互联网对中心服务器的依赖,使得所有数据的变更或者交易项目都被记录在一个云系统之上。由于没有中央控制点的分布式对等网络,并且使用分布式集体运作的方法,可以说,区块链是网络上的“公开大账本”。它存在许多节点,每个节点都可以观察到整个账本,并且共同参与维护,其收益则是获得记账的权利,并且可以复制一份完整的数据库,单个节点无法修改数据库,从而保证了账本数据的安全可靠。

当下,采用区块链技术进行数据的组织和管理已经被广泛的应用到了各种商业领域。

发明人在实现本发明的过程中,发现现有技术存在如下缺陷:

现有的区块链只是单纯沿着区块链的延展方向,依次生成新的区块,链条的生成方式单一,且不能体现出截至到某一历史时刻下,区块链的整体形态,特别是需要对区块链中某区块进行修改甚至删除时,用户更是无法获知修改操作之前整个区块链的形态。



技术实现要素:

本发明实施例提供一种在拓展中进行修改的区块链的生成方法及系统,旨在现有区块链的延展过程的基础上,结合数据快照技术,在整体上以区块链的形式保存区块链在各个阶段的历史形态,特别是保留对区块链中区块进行修改操作之前,区块链的历史形态。

为达到上述目的,本发明实施例提供了一种在拓展中进行修改的区块链的生成方法,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上;所述生成方法包括:对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链,原所述延展区块链记为快照对象区块链,所述快照结果区块链与所述快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;对所述快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;以所述快照对象区块链中的各区块作为父区块,以修改后的所述快照结果区块链中与各所述父区块对应的各区块作为子区块,将所述快照对象区块链与修改后的所述快照结果区块链进行组合链接,形成第二链接关系;按照所述第一链接关系和第二链接关系,依次生成修改后的所述快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将所述拓展后的区块链中所述快照结果区块链记为所述延展区块链,将所述快照对象区块链记为非延展区块链。

本发明实施例提供了一种在拓展中进行修改的区块链的生成系统,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上;所述生成系统包括:数据快照模块,用于对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链,原所述延展区块链记为快照对象区块链,所述快照结果区块链与所述快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;数据修改模块,用于对所述快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;组合链接模块,用于以所述快照对象区块链中的各区块作为父区块,以修改后的所述快照结果区块链中与各所述父区块对应的各区块作为子区块,将所述快照对象区块链与修改后的所述快照结果区块链进行组合链接,形成第二链接关系;区块链生成模块,用于按照所述第一链接关系和第二链接关系,依次生成修改后的所述快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将所述拓展后的区块链中所述快照结果区块链记为所述延展区块链,将所述快照对象区块链记为非延展区块链。

本发明实施例的在拓展中进行修改的区块链的生成方法及系统,对当前已形成的延展区块链进行数据快照,生成区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,然后,对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;接着,以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。该拓展后的区块链可以清楚的保留区块链在拓展过程中所进行的修改操作的痕迹。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

图1为本发明实施例提供的区块链的形态图一;

图2为本发明实施例提供的区块链的形态图二;

图3为本发明实施例提供的区块链的形态图三;

图4为本发明实施例提供的在拓展中进行修改的区块链的生成方法流程图一;

图5为本发明实施例提供的区块链的形态图四;

图6为本发明实施例提供的修改区块体数据的方法示意图;

图7为本发明实施例提供的修改区块间链接关系的方法示意图一;

图8为本发明实施例提供的修改区块间链接关系的方法示意图二;

图9为本发明实施例提供的区块链的形态图五;

图10为本发明实施例提供的区块链的形态图六;

图11为本发明实施例提供的在拓展中进行修改的区块链的生成方法流程图二;

图12为本发明实施例提供的数据快照方法流程图;

图13为本发明实施例提供的区块链的形态图七;

图14为本发明实施例提供的延展区块链的数据快照和区块延展的综合形态图;

图15为本发明实施例提供的在拓展中进行修改的区块链的生成系统示意图一;

图16为本发明实施例提供的数据快照模块示意图;

图17为本发明实施例提供的在拓展中进行修改的区块链的生成系统示意图二。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在介绍本发明实施例的内容之前,先对以下名词进行解释:

数据快照:与数据复制不完全相同,数据快照后的结果与被执行快照的原数据之间存在部分数据相同,具体可以是:①快照后的数据与原数据完全相同,②快照后的全部数据与原数据的部分数据相同,③快照后的数据中的部分数据与原数据中的全部或部分数据相同;

延展区块链:当为新产生的数据生成新区块时,该新区块在整个区块链中所链接的部分区块链称之为延展区块链;一个完整的区块链,可由一个延展区块链构成或者由一个延展区块链和一个或多个非延展区块链构成,延展区块链在整个区块链中的定义范围,会在对区块链进行如数据快照、区块修改等类似操作后从新指定;初始状态下,区块链仅包括一个创世区块时,该创世区块构成最初形态下的延展区块链。这里说明,所述新产生的数据生成的新区块,不包括上述对区块链进行如数据快照、区块修改等类似操作所产生的新区块。

快照对象区块链:被执行数据快照操作的区块链,被记为当次快照对应的快照对象区块链;

快照结果区块链:对区块链进行快照操作后,产生的相对于快照对象区块链的结果区块链。

首先需要说明的是,本发明实施例将提供一种在拓展中进行修改的区块链的生成方法,以在拓展后的区块链中保留修改之前的区块链的形态。具体通过在每次对区块链进行修改之前,先对当前已形成的区块链进行数据快照,生成快照结果区块链,原区块链记为快照对象区块链,所述快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;在快照结果区块链上进行修改,并将修改后的快照结果区块链与快照对象区块链组合链接形成拓展后的区块链,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链。该拓展后的区块链保留了修改前区块链的形态。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串即散列值,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。

其次需要说明的是,本发明实施例中的区块链中各区块的区块体数据记载的交易信息不局限于商业中的“账本”或“金融交易”的信息,也可以广义的理解为是需要通过区块链这种数据组织形式管理的多样化的对象数据,如针对企业进行管理的企业管理数据,针对项目进行进展跟踪的项目进程管理数据等。本发明实施例中,对区块链本身的形态及延展方向不做限定,只是在区块链正常延展的过程中,通过数据快照实现对当前区块链进行整体维度的拓展,并在拓展过程中实现对区块数据的修改。例如,区块链的延展形态可以为如图1所示的传统的单链条的区块链,也可以是如图2所示的整体上呈树形结构的区块链(该区块链中每个区块只有一个父区块,并有一个或多个子区块),还可以是如图3所示的具有有向无环图型结构的区块链(该区块链中存在至少一个区块具有一个或多个父区块)。

以下将对本发明实施例的在拓展中进行修改的区块链的生成方法进行详细阐述。

实施例一

图4为本发明实施例提供的在拓展中进行修改的区块链的生成方法流程图一,其中,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在延展区块链上。如图4所示,该区块链的生成方法包括如下步骤:

S410,对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;

其中,所述的当前已形成的延展区块链是指截至当前时刻,所形成的延展区块链在整体上所呈现的区块链形态。

具体地,当需要对当前形成的延展区块链进行修改时,可先对当前形成的延展区块链进行数据快照,生成当前延展区块链对应的快照结果区块链。

这里需要说明的是,本实施例中的数据快照的过程是对快照对象的内容进行部分复制和/或,整体复制和/或修改的操作。该操作仅用于,使数据快照后生成的快照结果区块链与快照对象区块链中各区块的区块体数据对应相同,并且各区块间的链接关系对应相同。这里将快照对象区块链中各区块间的链接关系整体定义为第一链接关系,由于数据快照后,生成的快照结果区块链与对应的快照对象区块链中各区块间的链接关系相同,因此快照结果区块链中各区块间的链接关系也可整体定义为第一链接关系。所述区块间的链接关系,是指各区块之间存在的父子关系,该父子关系不要求必须通过区块中区块头数据中的散列值进行一致性验证。换言之,本实施例中的链接关系只是表达区块之间链接框架,而不作为规定区块之间一致性验证的定义范畴。

在具体应用中,上述数据快照的目的,就是使快照结果区块链与快照对象区块链在区块链的整体架构上是相同的,并且各区块中的区块体数据也是对应相同的,而区块头中的数据可能相同,也可能不同,甚至在快照结果区块链中,各区块的区块头中没有实质数据,这需要根据具体需求来确定。

由于后续步骤中,还要对快照结果区块链进行修改,为了降低后续计算各区块散列值的复杂度,默认在通过数据快照得到的快照结果区块链中各区块的区块头数据为空。由此可以认为,数据快照后得到的快照结果区块链是一个“不完整”的区块链,该区块链中各区块的区块头中,不包含能够验证区块链一致性的散列值。只有在快照结果区块链的各区块的区块头中增加了散列值,且这些散列值满足区块链的一致性验证要求,才认为是一个“完整”的区块链。

例如,图5示出了数据快照后,对应的快照对象区块链和快照结果区块链的形态图样例。从图中可以看出,快照对象区块链和快照结果区块链在整体形态架构上相同,两个区块链中的各区块间的链接关系(第一链接关系)对应相同,且区块中区块体数据对应相同,区块头数据不一定相同,甚至快照结果区块链中各区块的区头数据可以为空。

S420,对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;

为了适应实际应用中,针对快照结果区块链中区块的区块体数据的修改需求,以及区块链中各区块的链接组织形式调整的需求,可在数据快照后,对生成的快照结果区块链中区块的区块体数据和/或区块之间的链接关系进行修改。

具体地,对快照结果区块链中区块的区块体数据进行修改包括:对区块体数据的内容进行增加、删减和替换中的至少一种操作。

例如,图6示出了对区块体数据进行修改的操作示意图,如将区块体数据中的数据1进行删除操作,将数据3添加到区块体数据中的增加操作,以及将数据2替换为数据2’的替换操作。

具体地,对快照结果区块链中区块之间的链接关系进行修改包括:

对区块之间的链接关系进行调换,

和/或,

删除和/或增加一个或多个区块之后,从新形成各区块之间的链接关系。

其中,对区块之间的链接关系进行调换,是指在不增加或删除区块链中区块的情况下,对现有区块间的链接关系进行调整。例如,图7中所示的,将以区块A作为父区块、区块B和区块C作为子区块构成的树形链接关系,调整为以区块A作为区块B的父区块、区块B作为区块C的父区块构成的单链条链接关系。

其中,删除和/或增加一个或多个区块之后,从新形成各区块之间的链接关系,是指在当前形成的快照结果区块链中,先删除和/或增加一个或多个区块,然后根据需要从新形成这些区块之间的链接关系。例如,图8中所示的,将以区块A作为父区块、区块B和区块C作为子区块构成的树形链接关系的区块链中,先增加一个区块D,删除区块B,然后,根据需求,将区块D链接在区块A之后,从而形成新的树形链接关系的区块链。

具体地,当对数据快照形成的快照结果区块链中区块的区块体数据和/或区块之间的链接关系进行修改操作后,针对快照结果区块链中各区块有如下定义:

对区块的区块体数据进行修改后的区块仍与快照对象区块链中原对应的区块保持对应关系;

区块之间的链接关系发生调换后对应的区块仍与快照对象区块链中原对应的区块保持对应关系;

增加的区块在快照对象区块链中不存在对应的区块。

S430,以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;

例如,以图5中,快照对象区块链中的区块A、区块B作为父区块,以快照结果区块链中,与父区块A对应的区块A1(A1的区块体数据已修改)作为区块A的子区块;与父区块B对应的区块B1(A1的区块体数据已修改)作为区块B的子区块,从而将快照对象区块链与快照结果区块链进行组合链接,并形成第二链接关系。所谓第二链接关系即快照对象区块链与修改后的快照结果区块链之间的所有链接关系的总称。如图9所示的区块链形态图,为将快照对象区块链与修改后的快照结果区块链进行组合链接后的区块链形态图。需要说明的是,所谓将快照对象区块链与快照结果区块链进行组合链接,仍只是确定两个区块链之间的链接关系,而不涉及区块链链接后的一致性验证,因此,组合链接后形成的区块链中,快照结果区块链中各区块的区块头数据仍是不限定的。

在图5和图9所示的区块链的形态图中,快照结果区块链中各区块的区块头数据不限定,因此图中以“区块头数据?”示出。

S440,按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。

例如,以图9中示出的区块链形态为例,按快照结果区块链中各区块的第一链接关系,以及修改后的快照结果区块链与快照对象区块链之间的第二链接关系,确定相应各区块之间的父子关系,然后根据父子关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成形态如图10所示的拓展后的区块链。

结合图10所示,这里所谓的“依次生成”是指先生成区块A1的散列值,该散列值为区块A1的父区块A中的所有数据经不可逆算法生成的固定长度的字符串,该散列值为明文进入区块链的存证和不可篡改提供了保证。在得到区块A1的散列值后,将其添加到区块A1的区块头中,构成区块A1的区块头数据a3,修改后的区块体数据a2和区块头数据a3共同构成了区块A1的完整数据;然后按区块之间的父子关系(由第一链接关系和第二链接关系确定),计算区块B1的散列值,该散列值包括两个,分别为区块B1的父区块A1中的所有数据经不可逆算法生成的固定长度的字符串,以及区块B1的父区块B中的所有数据经不可逆算法生成的固定长度的字符串,将这两个散列值分别添加到区块B1的区块头中,构成区块B1的区块头数据b3,修改后的区块体数据b2和区块头数据b3共同构成了区块B1的完整数据。在根据上述方法,依次计算完成所有修改后的快照结果区块链中各区块的区块头数据后,所形成的整体区块链记为拓展后的区块链。该拓展后的区块链中,将修改后的快照结果区块链作为后续的延展区块链,将快照对象区块链作为非延展区块链。

其中,上述的不可逆算法可以为定长计算(哈希(Hash))算法,相应的,经不可逆算法得到的字符串可以为哈希值。

其中,在上述形成快照结果区块链中各区块的区块体数据时,忽略了区块头数据中可能存在的其他控制数据,如果区块的区块头中存在该控制数据,可将其与计算的散列值一起作为当前区块的区块头数据。

本发明实施例提供的在拓展中进行修改的区块链的生成方法,对当前已形成的延展区块链进行数据快照,生成区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,然后,对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;接着,以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链作为非延展区块链。该拓展后的区块链可以清楚的保留区块链在拓展过程中所进行的修改操作的痕迹。

实施例二

图11为本发明实施例提供的在拓展中进行修改的区块链的生成方法流程图二,该方法实施例可视为图4所示方法实施例的细化方法。如图11所示,该区块链的生成方法包括如下步骤:

S111,对当前已形成的延展区块链进行数据快照,生成延展区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,快照结果区块链与快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;步骤S111与步骤S410的内容相似。

具体地,图12示出了关于数据快照的一种具体方法,在根据该方法生成的快照结果区块链的各区块的区块头数据为空。如图12所示,上述数据快照的方法包括如下步骤:

S121对快照对象区块链中各区块的区块体数据以及各区块之间的第一链接关系进行复制,并根据复制内容搭建区块链架构;

例如,以图5中所示的快照对象区块链为例,对区块A和区块B中的区块体数据以及第一链接关系进行复制,并以复制的区块体数据构件不包含区块头数据的区块,然后将这些区块按照第一链接关系搭建区块链架构。

S122,向搭建好的区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成快照结果区块链。

其中,上述标签信息中可以包括针对本次数据快照的时间信息、区块的存储位置信息等。

如图13中,示出了根据上述步骤搭建的区块链架构,其中,区块链架构中各区块的区块体数据与快照对象区块链中各区块的区块体数据对应相同,且在区块头数据中添加了针对本次数据快照的标签信息,各区块的区块头中的标签信息可以相同,也可以不同。

S112,对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;

S113,以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;

S114,按照所述第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链作为非延展区块链。

步骤S112~S114的内容与步骤S420~S440的内容对应相同。

在步骤S114之后,还可继续执行步骤S115,以拓展后的区块链中快照结果区块链作为延展区块链进行区块链延展。

需要说明的是,本实施例中进行数据快照操作和进行区块延展的操作均是以延展区块链作为操作对象。

例如,图14所示,为对延展区块链进行数据快照和区块延展的综合变化形态图。如图中所示,展示了4个状态下的区块链的形态图:

T1时刻状态:该状态为区块链的初始状态,图中仅包括由一个区块A构成的延展区块链;

T2时刻状态:该状态下,原延展区块链已完成了第一次数据快照,生成了由区块A1构成的快照结果区块链,该快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块B;

T3时刻状态:该状态下,延展区块链完成了第二次数据快照,生成了由区块A2和区块B1构成的快照结果区块链,该快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块C和区块D;

T4时刻状态:该状态下,延展区块链完成了第三次数据快照,生成了由区块A3、区块B2、区块C1和区块D1构成的快照结果区块链,并且对该快照结果区块链进行了修改,删除了区块D1(在实际数据快照时,也可不对区块D执行数据快照操作),然后将修改后的快照结果区块链与对应的快照对象区块链链接组合,形成了拓展后的区块链,且在拓展后的区块链中,以快照结果区块链作为延展区块链,延展生成了区块E。

其中,在第一次和第二次数据快照后,还可对生成的快照结果区块链中各区块的区块体数据进行修改,并将修改后的快照结果区块链与对应的快照对象区块链进行组合链接。

本发明实施例中的在拓展中进行修改的区块链的生成方法,在实施例一的基础上,对延展区块链进行数据快照的过程,进行了详细说明;在数据快照完成后,对得到的快照结果区块链的区块的区块体数据和/或区块间的链接关系进行修改,并以各拓展后的区块链中的数据快照区块链作为延展区块链进行区块延展,保持了真实区块链的延展形态。

实施例三

图15为本发明实施例提供的在拓展中进行修改的区块链的生成系统示意图一,其中,所述区块链由一个延展区块链构成,或者由一个延展区块链和一个或多个非延展区块链构成,在区块链的延展过程中,当为新产生的数据生成新区块时,该新区块链接在所述延展区块链上。所述生成系统可以用于执行如图4所示的方法步骤。如图15所示,该区块链的生成系统包括:数据快照模块151、数据修改模块152、组合链接模块153和区块链生成模块154,其中:

数据快照模块151,用于对当前已形成的延展区块链进行数据快照,生成所述延展区块链对应的快照结果区块链,原所述延展区块链记为快照对象区块链,所述快照结果区块链与所述快照对象区块链中各区块间的第一链接关系,以及区块中区块体数据的内容对应相同;数据修改模块152,用于对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;组合链接模块153,用于以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;区块链生成模块154,用于按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。

本发明实施例提供的在拓展中进行修改的区块链的生成系统,对当前已形成的延展区块链进行数据快照,生成区块链对应的快照结果区块链,原延展区块链记为快照对象区块链,然后,对快照结果区块链中区块的区块体数据和/或区块间的链接关系进行修改;接着,以快照对象区块链中的各区块作为父区块,以修改后的快照结果区块链中与各父区块对应的各区块作为子区块,将快照对象区块链与修改后的快照结果区块链进行组合链接,形成第二链接关系;按照第一链接关系和第二链接关系,依次生成修改后的快照结果区块链中的各个区块的散列值,并写入到对应的各个区块的区块头中,以形成拓展后的区块链,并将拓展后的区块链中快照结果区块链记为延展区块链,将快照对象区块链记为非延展区块链。该拓展后的区块链可以清楚的保留区块链在拓展过程中所进行的修改操作的痕迹。

实施例四

本发明实施例对图15所示系统实施例进行了结构和功能的细化,细化后的结构可用于执行如图11所示的方法步骤。具体地,在图15所示结构的基础上:

如图16所示,上述数据快照模块151具体可包括:

架构搭建单元161,用于对快照对象区块链中各区块的区块体数据以及各区块之间的所述第一链接关系进行复制,并根据复制内容搭建区块链架构;信息添加单元162,用于向搭建好的区块链架构中各区块的区块头中添加针对本次数据快照的标签信息,以形成快照结果区块链。

上述数据快照模块151可具体用于执行图12所示的方法步骤。

进一步地,上述数据修改模块152具体可包括,数据修改单元,用于对区块体数据的内容进行增加、删减和替换中的至少一种操作。

进一步地,上述数据修改模块154具体还可包括,链接关系修改单元,用于对区块之间的链接关系进行调换,

和/或,

删除和/或增加一个或多个区块之后,从新形成各区块之间的链接关系。

进一步地,如图17所示,在图15所示的系统的基础上还可包括:区块延展模块155,用于以拓展后的区块链中快照结果区块链作为延展区块链进行区块链延展。

本发明实施例的在拓展中进行修改的区块链的生成系统,在实施例三所示系统的基础上,对数据快照模块执行延展区块链的数据快照过程,进行了详细说明;在数据快照完成后,对得到的快照结果区块链的区块的区块体数据和/或区块间的链接关系进行修改,并以各拓展后的区块链中的数据快照区块链作为延展区块链进行区块延展,保持了真实区块链的延展形态。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1