沿空间维度拓展的区块链的生成方法及系统与流程

文档序号:12596523阅读:326来源:国知局
沿空间维度拓展的区块链的生成方法及系统与流程

本发明实施例属于区块链技术领域,尤其涉及一种沿空间维度拓展的区块链的生成方法及系统。



背景技术:

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

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

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

现有的区块链只是单纯沿着区块链的延展方向,依次生成新的区块,链条的生成方式单一,并且从区块链中,不能清楚体现出各区块的生成地所在的空间区域的相关信息,例如,各区块是在哪个国家、哪个地区、甚至是哪个网络节点生成的。



技术实现要素:

本发明实施例提供一种沿空间维度拓展的区块链的生成方法及系统,旨在现有区块链的基础上,以区块链的形式,记录各区块的生成地,从而使得用户通过查看区块链的形态结构,就可以清楚分辨出各区块被挖掘的原始位置。

为达到上述目的,本发明实施例提供了一种沿空间维度拓展的区块链的生成方法,包括:所述区块链包括至少两条与空间区域对应的子区块链,各所述子区块链之间并行延展,各所述子区块链的整体延展形态相同,所述区块链的生成方法包括:获取新区块生成权的区块处理节点,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块;在所述第一子区块链以外的第二子区块链上,生成第二新区块,其中,所述第二新区块与所述第一新区块的区块体的数据内容相同,且所述第一新区块为所述第二新区块的父区块之一。

本发明实施例提供了一种沿空间维度拓展的区块链的生成系统,所述区块链包括至少两条与空间区域对应的子区块链,各所述子区块链之间并行延展,各所述子区块链的整体延展形态相同,所述区块链的生成系统包括:多个区块处理节点,且每个所述区块处理节点包括:第一区块生成模块,用于获取新区块生成权的所述区块处理节点,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块;第二区块生成模块,用于在所述第一子区块链以外的第二子区块链上,生成第二新区块,其中,所述第二新区块与所述第一新区块的区块体的数据内容相同,且所述第一新区块为所述第二新区块的父区块之一。

本发明实施例的沿空间维度拓展的区块链的生成方法及系统,在包括至少两条与空间区域对应的子区块链的区块链上,通过在获取新区块生成权的区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块,在第一子区块链以外的第二子区块链上,生成第二新区块,其中,第二新区块与第一新区块的区块体的数据内容相同,且第一新区块为第二新区块的父区块之一,从而保证各子区块链以整体延展形态相同的情况下并行延展,并且在区块链上保留了各区块生成地的信息。

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

附图说明

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

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

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

图4为本发明实施例提供的沿空间维度拓展的区块链的生成方法流程图一;

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

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

图7为本发明实施例提供的沿空间维度拓展的区块链的生成方法流程图二;

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

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

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

图11为本发明实施例提供的沿空间维度拓展的区块链的生成系统的结构示意图;

图12为本发明实施例提供的区块处理节点的结构示意图;

图13为本发明实施例提供的第二区块生成模块的结构示意图。

具体实施方式

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

首先需要说明的是,本发明实施例将提供一种沿空间维度拓展的区块链的生成方法,通过对区块链中并行延展的各子区块链增加新区块,即在获取新区块生成权的区块处理节所在的空间区域所对应的第一子区块链上,生成第一新区块,在第一子区块链以外的第二子区块链上生成第二新区块,其中第一新区块与第二新区块中的区块体数据对应相同,并将第一新区块作为第二新区块的父区块之一,进行新区块的拓展,且拓展后的区块链中,各子区块链的整体延展形态相同,同时在区块链中标注了本次生成的新区块的生成地,即第一子区块链对应的空间区域。这里所述的区块体数据可理解为作为实际交易数据的信息,区块头数据中包含由当前区块的父区块的所有数据经不可逆算法生成的固定长度的字符串即散列值,以及与当前区块相关的控制信息,区块体数据和区块头数据构成一个区块的完整数据。

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

以下将对本发明实施例的沿多维拓展的区块链的生成方法进行详细阐述。

实施例一

图4为本发明实施例提供的沿空间维度拓展的区块链的生成方法流程图一。本实施例中涉及的区块链不论是拓展之前,还是拓展之后都具有如下的结构形态,即区块链整体包括至少两条与空间区域对应的子区块链,各子区块链之间并行延展,各子区块链的整体延展形态相同。这里所谓的整体延展形态相同包括:各子区块链包含的区块的个数、各区块中区块体数据以及各区块之间的链接关系对应相同,各区块中区块头数据是否相同不做限定。如图4所示,该区块链的生成方法包括如下步骤:

S410,获取新区块生成权的区块处理节点,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块;

其中,所述的空间区域可以是真实的空间区域,如国家、地区、城镇等对应的空间区域,也可以是虚拟的空间区域,如由不同的区块处理节点构成的节点区域。每个区块处理节点,按上述划分空间区域的方法都可以对应到一个现实或虚拟的空间区域内。同时,当前待拓展的区块链上也包括至少两条与这些空间区域对应的子区块链。

例如,图5示出了本实施例中的区块链中各子区块链与空间区域中的真实空间区域之间的一种具体对应关系。在图5中,当前待拓展的区块链包含了分别与“美国”、“中国”、“欧洲”这三个空间区域对应的子区块链。这三个子区块链之间可以存在链接关系,也可以不存在链接关系。

具体地,在确定了本次获取到新区块生成权的区块处理节点后,可由该区块处理节点作为执行主体,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块。

其中,所述的第一子区块链,是指针对本次获取到新区块生成权的区块处理节点所在的空间区域所对应的子区块链;相对应的,第一新区块,是指在第一子区块链上生成的新区块。

例如,在图5中,当本次获取到新区块生成权的区块处理节点所在的空间区域为“中国”时,可将“中国”对应的子区块链确定为第一子区块链,相对应的,获取到新区块生成权的区块处理节点,在第一子区块链上生成的新区块记为第一新区块。

S420,在第一子区块链以外的第二子区块链上,生成第二新区块,其中,第二新区块与第一新区块的区块体的数据内容相同,且第一新区块为第二新区块的父区块之一。

其中,所述的第二子区块链,是指当前区块中除了已确定的第一子区块链以外的其他各子区块链,这些子区块链中每个子区块链均称为一个第二子区块链;相对应的,第二新区块,是指在各第二子区块链上生成的新区块。

例如,在图5中,当本次获取到新区块生成权的区块处理节点所在的空间区域为“中国”时,可将除“中国”对应的子区块链以外的,如“美国”、“欧洲”对应的子区块链确定为第二子区块链,相对应的,获取到新区块生成权的区块处理节点,在第二子区块链上生成的新区块记为第二新区块。

其中,第二新区块与第一新区块的数据内容相同,这里的数据内容包括:区块的区块体数据以及新区块与其所在的子区块链上的其他区块之间链接关系(该链接关系也可示意为新区块在其所在子区块链内部的链接关系)。同时,将第一新区块作为第二新区块的父区块之一,从而形成了如图6所示的区块链形态。

在图6中,各空间区域:“中国”、“美国”、“欧洲”各自对应的增加了新区块后的子区块链仍满足以相同的整体延展形态并行延展。且“美国”与“欧洲”对应的第二子区块链上新增的第二新区块除了包含与第一新区块有相同的链接关系外,还与第一新区块本身存在父子关系。如此,根据各子区块链上各对应的新区块之间的父子关系,就可以清楚的知道新区块中原始区块的生成地所对应的空间区域,即相对应的新区块中,作为父区块的区块所在的子区块链所对应的空间区域。

本发明实施例的沿空间维度拓展的区块链的生成方法,在包括至少两条与空间区域对应的子区块链的区块链上,通过在获取新区块生成权的区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块,在第一子区块链以外的第二子区块链上,生成第二新区块,其中,第二新区块与第一新区块的区块体的数据内容相同,且第一新区块为第二新区块的父区块之一,从而保证各子区块链以整体延展形态相同的情况下并行延展,并且在区块链上保留了各区块生成地的信息。

实施例二

图7为本发明实施例提供的沿空间维度拓展的区块链的生成方法流程图二,该方法实施例可视为图4所示方法实施例的细化方法。如图7所示,该区块链的生成方法包括如下步骤:

S710,获取新区块生成权的区块处理节点,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块;步骤S710与步骤S410的内容相同。

S720,对第一新区块的区块体数据以及第一新区块在第一子区块链中的第一链接关系进行复制,并根据复制内容在第二子区块链上生成副本区块,所述副本区块在第二子区块链上的链接关系与第一链接关系对应相同;

其中,所述链接关系,是指各区块之间存在的父子关系,该父子关系不要求必须通过区块中区块头数据中的散列值进行一致性验证。换言之,本实施例中的链接关系只是表达区块之间链接框架,而不作为规定区块之间一致性验证的定义范畴。所述第一链接关系,是指一个区块与其所在的子区块链中其他区块之间的链接关系。

例如,以图8中所示的区块B作为第一新区块,区块B所在的子区块链(对应“中国”的第一子区块链)作为第一子区块链,对区块B的区块体数据以及区块B在第一子区块链中与其他区块的第一链接关系进行复制,并根据复制内容在第二子区块链上(“美国“和”欧洲”对应的第二子区块链)生成副本区块B1和区块B2,所述副本区块B1和副本区块B2中的区块体数据与区块B中的区块体数据对应相同,所述副本区块B1和副本区块B2在第二子区块链上的链接关系与第一链接关系对应相同,即区块B1与区块A之间具有第一链接关系,区块B2与区块A2之间具有第一链接关系,其中,区块A、区块A1、区块A2为相互对应的区块,它们的区块体数据对应相同。这时,副本区块B1和区块B2的区块头数据为空(图中显示为“区块头数据?”)。

S730,以第一新区块作为父区块,以各副本区块作为子区块,将第一新区块与副本区块进行组合链接,形成第二链接关系;

其中,所述第二链接关系指各子区块链中,相互对应的区块之间的链接关系。

以图8中所示的区块B作为第一新区块,区块B1、区块B2作为副本区块为例,以区块B作为父区块,以各区块B1、区块B2作为子区块形成第二链接关系,该第二连接关系可视为对应的各新区块之间的链接关系。

S740,按照第一链接关系和第二链接关系,生成各副本区块的散列值,并写入到对应的各个区块的区块头中,以形成第二新区块。

例如,以图8中示出的区块链形态为例,按区块B1与区块A之间的第一链接关系和区块B1与区块B之间的第二链接关系生成区块B1的散列值,并写入区块B1的区块头数据中,生成如图9所示的区块头数据b3,从而形成第二新区块B1’;按区块B2与区块A2之间的第一链接关系和区块B2与区块B之间的第二链接关系生成区块B2的散列值,并写入区块B2的区块头数据中,生成如图9所示的区块头数据b4,从而形成第二新区块B2’。

其中,各第二新区块的散列值,为针对每个副本区块,将副本区块的各父区块的区块头数据和区块体数据分别经不可逆算法生成固定长度的字符串作为散列值,添加到副本区块的区块头中。

具体地,如图8所示,分别将副本区块B1的父区块A的中的全部数据,(区块头数据a1和区块体数据a2)和父区块B的全部数据(区块头数据b1和区块体数据b2)分别经不可逆算法生成固定长度的字符串作为散列值,添加到副本区块B1的区块头中;分别将副本区块B2的父区块A2的中的全部数据,(区块头数据a4和区块体数据a2)和父区块B的全部数据(区块头数据b1和区块体数据b2)分别经不可逆算法生成固定长度的字符串作为散列值,添加到副本区块B1的区块头中。

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

上述步骤S720~S740可视为步骤S420的细化过程。

进一步地,在形成各副本区块之后,还可向各副本区块的区块头中添加针对本次复制操作的标签信息,该标签信息其中可以包括针对本次复制操作的时间信息、区块的存储位置信息,以及第一新区块的信息等。

S750,获取新区块生成权的区块处理节点将区块链的新增数据广播到其他区块处理节点。

本实施例中,沿空间维度拓展的区块链的生成过程,是在各个区块处理节点上同步执行的,且生成的区块链的形态完全相同,只是生成过程略有不同。

以图10为例,在网络中的各区块处理节点上都会同步存储如图10所示的相同的区块链形态图,该图中包含了“美国”、“中国”和“欧洲”三个空间区域对应的子区块链,且这三个子区块链以整体延展形态相同的趋势并行延展,且每次的新增的新区块,其区块体数据对应相同,新区块与其所在的子区块链上的他区块之间的第一链接关系对应相同,同时各新区块之间,还存在以第一新区块作为父区块,以第二新区块作为子区块的第二链接关系。

具体地,在T1时刻的切面中,在“中国”空间区域内的区块处理节点生成了第一新区块A、第二新区块A1和第二新区块A2,并在第一新区块A与第二新区块A1、第二新区块A2之间建立第二链接关系(在生成各子区块链的首端第一个区块时,该首端区块没有对应的第一链接关系),然后,在“中国”空间区域内的区块处理节点会将区块链中新增的数据包括新增的区块中的数据,以及新增区块与当前已形成的区块链中各区块的链接关系,广播到其他区块处理节点(如“美国”和“欧洲”空间区域内的区块处理节点),从而让其他区块处理节点更新本区块处理节点上存储的区块链,以保持与当前区块处理节上的区块链相同。

在T2时刻的切面中,在“美国”空间区域内的区块处理节点生成了第一新区块B、第二新区块B1和第二新区块B2,并在第一新区块B与第二新区块B1、第二新区块B2之间建立第二链接关系(各新区块与其所在子区块链上的其他区块的第一链接关系对应相同),然后,在“美国”空间区域内的区块处理节点会将区块链中新增的数据包括新增的区块中的数据,以及新增区块与当前已形成的区块链中各区块的链接关系,广播到其他区块处理节点(如“中国”和“欧洲”空间区域内的区块处理节点),从而让其他区块处理节点更新本区块处理节点上存储的区块链,以保持与当前区块处理节上的区块链相同。

在T3时刻的切面中,在“欧洲”空间区域内的区块处理节点生成了第一新区块C、第一新区块D、第二新区块C1、第二新区块D1和第二新区块C2、第二新区块D2,并在第一新区块C与第二新区块C1、第二新区块C2之间、第一新区块D与第二新区块D1、第二新区块D2之间分别建立第二链接关系(各新区块与其所在子区块链上的其他区块的第一链接关系对应相同),然后,在“欧洲”空间区域内的区块处理节点会将区块链中新增的数据包括新增的区块中的数据,以及新增区块与当前已形成的区块链中各区块的链接关系,广播到其他区块处理节点(如“中国”和“美国”空间区域内的区块处理节点),从而让其他区块处理节点更新本区块处理节点上存储的区块链,以保持与当前区块处理节上的区块链相同。

另外,在图10中,获取新区块生成权的区块处理节点,还将各时刻的切面对应的区块链顺次链接在前一时刻的切面对应的区块链上,从而保留了各时刻下的区块链的整体形态图。

本发明实施例中的沿空间维度拓展的区块链的生成方法,在实施例一的基础上,对第二新区块的生成过程,进行了详细说明;其次,在各第二新区块中增加了标签信息以体现第二新区块的增加意义,最后,还阐述了各区块处理节点同步形成区块链的处理过程,以实现区块链在进行区块拓展过程中,在区块链上保留各新生区块生成地的区块组织需求。

实施例三

图11为本发明实施例提供的沿空间维度拓展的区块链的生成系统示意图一,所述区块链包括至少两条与空间区域对应的子区块链,各子区块链之间并行延展,各子区块链的整体延展形态相同,区块链的生成系统包括:多个区块处理节点,如区块处理节点1、区块处理节点2,……,区块处理节点N(N为大于0的整数),每个区块处理节点具体可执行如图4所示的方法步骤。如图11所示,每个区块处理节点包括:

第一区块生成模块111,用于获取新区块生成权的区块处理节点,在与该区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块;

第二区块生成模块112,用于在第一子区块链以外的第二子区块链上,生成第二新区块,其中,第二新区块与第一新区块的区块体的数据内容相同,且第一新区块为第二新区块的父区块之一。

本发明实施例的沿空间维度拓展的区块链的生成系统,在包括至少两条与空间区域对应的子区块链的区块链上,通过在获取新区块生成权的区块处理节点所在的空间区域所对应的第一子区块链上,生成第一新区块,在第一子区块链以外的第二子区块链上,生成第二新区块,其中,第二新区块与第一新区块的区块体的数据内容相同,且第一新区块为第二新区块的父区块之一,从而保证各子区块链以整体延展形态相同的情况下并行延展,并且在区块链上保留了各区块生成地的信息。

实施例四

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

如图12所示,每个区块处理节点中还可包括:

数据广播模块113,用于获取新区块生成权的区块处理节点将区块链的新增数据广播到其他区块处理节点。

进一步地,如图13所示,上述第二区块生成模块112中可具体包括:

复制生成单元131,用于对第一新区块的区块体数据以及第一新区块在第一子区块链中的第一链接关系进行复制,并根据复制内容在第二子区块链上生成副本区块,副本区块在第二子区块链上的链接关系与第一链接关系对应相同;关系链接单元132,用于以第一新区块作为父区块,以各副本区块作为子区块,将第一新区块与副本区块进行组合链接,形成第二链接关系;散列值写入单元133,用于按照第一链接关系和第二链接关系,生成各副本区块的散列值,并写入到对应的各个区块的区块头中,以形成第二新区块。

进一步地,上述散列值写入单元133具体用于,针对每个副本区块,将副本区块的各父区块的区块头数据和区块体数据分别经不可逆算法生成固定长度的字符串作为散列值,添加到副本区块的区块头中。

进一步地,在图13所示的第二区块生成模块中,还可包括:

信息添加单元134,用于向各副本区块的区块头中添加针对本次复制操作的标签信息。

本发明实施例的沿空间维度拓展的区块链的生成系统,在实施例三所示系统的基础上,首先,对第二区块生成模块结构和功能进行了详细说明;其次,增加了在各第二新区块中增加了标签信息的结构单元,以体现第二新区块的增加意义,最后,还增加了数据广播模块,阐述了各区块处理节点同步形成区块链的处理过程,以实现区块链在进行区块拓展过程中,在区块链上保留各新生区块生成地的区块组织需求。

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

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

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