分布式区块链服务系统及其构建方法、存储介质转让专利

申请号 : CN202110240035.2

文献号 : CN112600945B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴刚蔺静茹

申请人 : 暗链科技(深圳)有限公司

摘要 :

本申请涉及一种分布式区块链服务系统及其构建方法、存储介质,该方法包括:确定在主链的网络中部署的多个节点设备;创建多个初始节点;在初始节点上创建主链的创世区块,生成主链;获取至少一组用户区块链配置信息;根据每组用户区块链配置信息,建立创链交易;生成包含创链交易的候选新区块,选择一个候选新区块作为预备新区块,对预备新区块签名生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链;根据在主链上链的新区块生成至少一条用户区块链;将至少一条用户区块链加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。本申请实现区块链间相互合作和去中心化区块链生态体系。

权利要求 :

1.一种分布式区块链服务系统构建方法,其特征在于,所述分布式区块链服务系统构建方法包括:

确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架;

在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中;

确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;

在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链;

获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息;

通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网络中;

通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点;

通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广播到所述主链的网络中;

通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链;

根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链;

将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据加载所述安装程序的用户终端,创建所述主链的记账节点,并将所述记账节点加入到所述主链的网络中。

3.根据权利要求1至2任一项所述的方法,其特征在于,所述用户区块链配置信息包括以下至少一种:模板选择、区块链类型、共识机制、工作量难度、出块速度、是否使用确定性、确定性算法选择、矿工激励机制、数字货币配置信息、通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点数量、初始节点工作角色配置。

4.根据权利要求1所述的方法,其特征在于,所述根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链,包括:在完成所述主链上的至少一个包含所述创链交易的新区块上链后,通过所述主链上的服务节点,按照所述创链交易内记载的所述用户区块链配置信息,生成所述用户区块链的安装文件,并将所述安装文件输出至用户终端;

通过所述服务节点使用设备资源池,按照所述用户区块链配置信息建立所述用户区块链的初始节点,并配置所述用户区块链的初始节点的工作角色;

通过所述服务节点在所述用户区块链的初始节点上创建所述用户区块链的创世区块,并根据在所述主链上链的包含所述创链交易的所述新区块,将所述创链交易的信息和所述新区块的元信息写入所述用户区块链的创世区块;

基于所述用户区块链的创世区块,生成所述用户区块链。

5.根据权利要求4所述的方法,其特征在于,所述元信息包括以下至少一种:新区块高度、新区块哈希、父区块哈希、新区块时间戳、新区块大小、交易数量、新区块的签名。

6.一种分布式区块链服务系统,其特征在于,所述分布式区块链服务系统包括一条主链和至少一条用户区块链,其中,所述主链与所述用户区块链为按照如权利要求1至5中任一项所述的分布式区块链服务系统构建方法生成。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至5中任一项所述的分布式区块链服务系统构建方法。

说明书 :

分布式区块链服务系统及其构建方法、存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种分布式区块链服务系统及其构建方法、存储介质。

背景技术

[0002] 区块链技术是一种新型的分布式账本技术,区块链本质上为一个数据库,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改。BaaS
(Blockchain‑as‑a‑Service)系统是为构建区块链系统提供服务的系统。目前的BaaS系统
提供的服务本质上是基于中心化系统的云服务,通常使用开源代码的区块链及其API
(Application Programming Interface,应用程序接口)来进行所选区块链系统的快速部
署。一方面,基于中心化的平台体系难以支持去中心化区块链生态圈。另一方面,所构建的
不同区块链之间相互独立,自成体系,信息难以沟通,无法实现多链合作。
[0003] 因此,如何实现多区块链间相互合作以及去中心化区块链生态体系,成为亟待解决的问题。

发明内容

[0004] 本申请提供了一种分布式区块链服务系统及其构建方法、存储介质,能够实现多区块链间相互合作以及去中心化区块链生态体系。
[0005] 第一方面,本申请提供了一种分布式区块链服务系统构建方法,所述方法包括:
[0006] 确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架;
[0007] 在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中;
[0008] 确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所
述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;
[0009] 在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链;
[0010] 获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息;
[0011] 通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网
络中;
[0012] 通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点;
[0013] 通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候
选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广
播到所述主链的网络中;
[0014] 通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链;
[0015] 根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链;
[0016] 将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
[0017] 第二方面,本申请还提供了一种分布式区块链服务系统,所述分布式区块链服务系统包括一条主链和至少一条用户区块链,其中,所述主链与所述用户区块链为按照上述
的分布式区块链服务系统构建方法生成。
[0018] 第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现上述的分布式区块链服务系统
构建方法。
[0019] 本申请公开了一种分布式区块链服务系统及其构建方法、存储介质,通过创建一条分布式区块链服务系统的主链为服务骨架,首先确定在主链的网络中部署的多个节点设
备,在多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到
主链的网络中,以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排
除决策节点以外的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策
节点以外的其他初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上
创建主链的创世区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取
至少一个用户基于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至
少一组用户区块链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在
主链的上链,根据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链
加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分
布式区块链服务系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务
系统内的用户区块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为
信息传递的枢纽,将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。

附图说明

[0020] 为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1是本申请实施例提供的一种分布式区块链服务系统构建方法的步骤示意流程图;
[0022] 图2是本申请实施例提供的一种根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链的步骤示意流程图;
[0023] 图3是本申请实施例提供的一种分布式区块链服务系统的系统结构示意图。

具体实施方式

[0024] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申
请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
[0025] 附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际
执行的顺序有可能根据实际情况改变。
[0026] 应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下
文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0027] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0028] BaaS(Blockchain‑as‑a‑Service)系统是为构建区块链系统提供服务的系统。目前的BaaS系统提供的服务本质上是基于中心化系统的云服务,通常使用开源代码的区块链
及其API(Application Programming Interface,应用程序接口)来进行所选区块链系统的
快速部署。一方面,基于中心化的平台体系难以形成以去中心化区块链生态圈。另一方面,
所构建的区块链之间相互独立,自成体系,彼此形成价值孤岛,信息难以沟通,无法实现多
链合作,也无法迭代更新,或者更新必须丢失价值,无法集成。由此导致建立在各个区块链
上的不同应用在相互协作中困难重重,效率低下,安全不能保证,价值难以传递。并且,可供
选择的开源区块链数量有限,无法对非开源、自研、或者经过深度改造的开源的区块链系统
实现部署。
[0029] 为了解决上述问题,本申请的实施例提供了一种分布式区块链服务系统及其构建方法、存储介质。基于该分布式区块链服务系统构建方法生成分布式区块链服务系统,与目
前的BaaS系统相比,基于该分布式区块链服务系统部署的各区块链之间可相互协作建立合
作,实现去中心化区块链生态体系。
[0030] 其中,该分布式区块链服务系统构建方法可以用于服务器,当然也可以用于计算机终端,其中,计算机终端可以是平板电脑、笔记本电脑、台式电脑等电子设备;服务器例如
可以为单独的服务器或服务器集群。但为了便于理解,以下实施例将以应用于服务器的分
布式区块链服务系统构建方法进行详细介绍。
[0031] 下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0032] 请参阅图1,图1是本申请实施例提供的一种分布式区块链服务系统构建方法的示意流程图。
[0033] 如图1所示,该分布式区块链服务系统构建方法可以包括以下步骤S101至步骤S111。
[0034] S101、确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架。
[0035] 为了便于描述,下文将分布式区块链服务系统称为dBaaS(decentralized BaaS)系统。dBaaS系统的系统架构包含一条主链与不限数量不限类型的用户区块链。
[0036] 其中,主链作为dBaaS系统的服务骨架,为dBaaS系统用户提供用户区块链构建服务,其角色等同于BaaS系统中底层的云服务系统。用户通过dBaaS系统创建自己需要的用户
区块链,随着用户不断增加,dBaaS系统内用户区块链不断增多,形成一个去中心化的应用
生态体系。dBaaS系统的主链作为信息传递的枢纽,将所有用户区块链联系在一起,提供跨
链交互、价值继承、数据背书、链外存证、激励确权等服务。
[0037] dBaaS系统的主链的网络为互联互通的开放式网络,可以由系统设计者基于该网络进行多个节点设备的部署操作,根据设计者的部署操作,确定dBaaS系统的主链的网络中
部署的多个节点设备。其中,节点设备可以为计算机等设备,也可以为虚拟机等设备。
[0038] 例如,若系统设计者进行了20个节点设备的部署操作,则根据设计者的部署操作,确定dBaaS系统的主链的网络中部署了该20个节点设备。
[0039] S102、在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中。
[0040] 首先对dBaaS安装程序进行初始化,设定dBaaS系统的主链的网络标识信息,其中,网络标识信息包括但不限于网络ID。
[0041] dBaaS安装程序初始化之后,上载初始化的dBaaS安装程序至dBaaS系统的主链的网络中部署的多个节点设备,实现对应的多个初始节点的创建,每个节点设备对应一个初
始节点,并将创建的多个初始节点加入到dBaaS系统的主链的网络中。
[0042] S103、确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定
排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务
节点。
[0043] 多个初始节点具有不同的工作角色,包括决策节点、服务节点、共识节点与记账节点等。除了决策节点以外,其他的初始节点可以具有多重工作角色。基于创建的多个初始节
点,确定多个初始节点中的一个初始节点的工作角色为决策节点,也即有且只有一个初始
节点被指定为决策节点,确定排除决策节点以外的其他每个初始节点的工作角色包括共识
节点与记账节点,排除决策节点以外的其他初始节点中的至少一个初始节点的工作角色包
括服务节点,也即从决策节点以外的其他初始节点中,确定一个或多个初始节点的工作角
色包括服务节点。
[0044] 其中,决策节点负责对共识进行决策,决策的结果不可逆转,决策节点不参与共识和记账,决策节点不承担其他工作角色。
[0045] 服务节点负责为用户提供dBaaS系统的服务操作界面,服务节点的服务包括提供初始化dBaaS安装程序的下载服务、提供用户区块链创建服务等。
[0046] 在一些实施例中,所述分布式区块链服务系统构建方法还可以包括:根据加载所述安装程序的用户终端,创建所述主链的记账节点,并将所述记账节点加入到所述主链的
网络中。
[0047] 用户缺省状态时,也即没有用户终端成为节点参与dBaaS系统的主链时,通过服务节点使用dBaaS系统的主链。
[0048] 用户也可选择将其用户终端配置成为节点参与dBaaS系统的主链,通过在用户终端上加载安装dBaaS安装程序,根据加载安装了dBaaS安装程序的用户终端,创建对应的用
户节点,并确定该用户节点的工作角色包括记账节点,也即其初始状态为记账节点。并将记
账节点加入到dBaaS系统的主链的网络中。之后,用户节点可以通过自举成为共识节点,参
与主链的共识服务。
[0049] 用户节点可参与记账,具体地,用户节点通过网络发现找到其相邻节点,用户节点与其相邻节点交换身份信息,用户节点从其相邻节点同步区块数据,从而获得相同的区块
数据,用户节点监听dBaaS系统的主链的网络,实现参与记账。
[0050] 用户节点可请求成为服务节点,在主链系统许可后为其他用户提供dBaaS客户端服务。
[0051] S104、在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链。
[0052] 对于创建的多个初始节点,分别在每个初始节点本地创建第一个区块,即创世区块,从而得到多个初始节点对应的多个创世区块。根据该多个创世区块,生成dBaaS系统的
主链。
[0053] S105、获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息。
[0054] dBaaS系统的主链上的服务节点可以为用户提供dBaaS系统的服务操作界面,用户通过用户终端访问主链上的服务节点,在服务节点提供的服务操作界面上设置相应的用户
区块链配置信息,类似于BaaS系统上的使用界面和方法,因此,相对于传统用户在使用上是
熟悉的,透明的,无障碍的。
[0055] 其中,用户区块链配置信息包括但不限于模板选择、区块链类型、共识机制、工作量难度、出块速度、是否使用确定性、确定性算法选择、矿工激励机制、数字货币配置信息、
通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点
数量、初始节点工作角色配置等。模板选择包括Bitcoin、Ethereum、HyperLedger等;区块链
类型包括公链、联盟链、私有链等;共识机制包括PoW、PoS、DPoS、PoC、DPoW等。
[0056] 用户在服务操作界面上设置用户区块链配置信息完成后,用户提交用户区块链配置信息,获取用户提交的用户区块链配置信息。
[0057] S106、通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主
链的网络中。
[0058] 若多个用户提交了各自设置的用户区块链配置信息,则获取到多组用户区块链配置信息,根据该多组用户区块链配置信息,创建对应的多条用户区块链。
[0059] 示例性的,用户设置好用户区块链配置信息,提交包含该用户区块链配置信息的创链指令至服务节点。服务节点接收到该创链指令时,生成待创建的用户区块链的网络标
识信息,如网络ID。
[0060] 服务节点根据用户提交的用户区块链配置信息,以及待创建的用户区块链的网络标识信息,建立创链交易,其中,创链交易包含待创建的用户区块链的网络标识信息。建立
创链交易后,服务节点将创链交易广播到dBaaS系统的主链的网络中。
[0061] S107、通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点。
[0062] 服务节点将创链交易广播到dBaaS系统的主链的网络中后,主链上的共识节点接收创链交易,并根据共识规则生成候选新区块,其中候选新区块包含创链交易。并且,共识
节点将生成的候选新区块发送至主链上的决策节点。
[0063] S108、通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所
述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区
块广播到所述主链的网络中。
[0064] dBaaS系统的主链上的决策节点处于开放状态,监听网络中的候选新区块,基于预设的时间窗接收一个或多个候选新区块。示例性的,主链上的决策节点接收到第一个候选
新区块,开始计时,直至计时达到预设的时间窗时间,关闭接收。主链上的决策节点将接收
到的一个或多个候选新区块放入缓存池。
[0065] dBaaS系统的主链上的决策节点根据预设的选择规则,从缓存池中缓存的一个或多个候选新区块中,选出一个候选新区块,作为预备新区块。
[0066] dBaaS系统的主链上的决策节点对选出的预备新区块签名,生成对应的新区块。
[0067] 新区块生成后,dBaaS系统的主链上的决策节点将新区块广播到dBaaS系统的主链的网络中。
[0068] S109、通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链。
[0069] dBaaS系统的主链上的记账节点接收到签名的新区块,记账节点对新区块进行合法性验证。若验证不通过,则创链失败,可选地输出相应的提示信息。若验证通过,则进行包
含创链交易的新区块在dBaaS系统的主链的上链。
[0070] S110、根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链。
[0071] 按照上述方式实现一个或多个包含创链交易的新区块在dBaaS系统的主链上链,根据在dBaaS系统的主链上链的一个或多个包含创链交易的新区块,生成对应的至少一条
用户区块链。
[0072] 在一些实施例中,如图2所示,所述步骤S110可以包括子步骤S1101至子步骤S1104。
[0073] S1101、在完成所述主链上的至少一个包含所述创链交易的新区块上链后,通过所述主链上的服务节点,按照所述创链交易内记载的所述用户区块链配置信息,生成所述用
户区块链的安装文件,并将所述安装文件发送至用户终端。
[0074] 在完成dBaaS系统的主链上的一个或多个包含创链交易的新区块上链后,dBaaS系统的主链上的服务节点,按照创链交易内包含的用户区块链配置信息,从模板库中选择用
户设置的模板,并使用创链交易内包含的用户区块链的网络标识信息,如网络ID,按用户配
置初始化模板,打包成用户区块链的安装文件。并将用户区块链的安装文件输出至用户终
端,比如将用户区块链的安装文件提供到用户界面,供用户终端下载。
[0075] S1102、通过所述服务节点使用设备资源池,按照所述用户区块链配置信息建立所述用户区块链的初始节点,并配置所述用户区块链的初始节点的工作角色。
[0076] dBaaS系统预先配置了一些设备资源池,dBaaS系统的主链上的服务节点使用设备资源池,按照用户区块链配置信息建立待创建的用户区块链的初始节点,并配置初始节点
的工作角色,如将该用户区块链的初始节点的工作角色配置为共识节点和记账节点。并且,
根据用户设置还可以增加其他工作角色。
[0077] S1103、通过所述服务节点在所述用户区块链的初始节点上创建所述用户区块链的创世区块,并根据在所述主链上链的包含所述创链交易的所述新区块,将所述创链交易
的信息和所述新区块的元信息写入所述用户区块链的创世区块。
[0078] dBaaS系统的主链上的服务节点,在待创建的用户区块链的初始节点上创建第一个区块,也即创世区块。并根据在dBaaS系统的主链上链的一个或多个包含创链交易的新区
块,将创链交易的信息和包含创链交易的新区块的元信息写入待创建的用户区块链的创世
区块。其中,新区块的元信息包括新区块高度、新区块哈希、父区块哈希、新区块时间戳、新
区块大小、交易数量、新区块的签名等。
[0079] S1104、基于所述用户区块链的创世区块,生成对应的所述用户区块链。
[0080] 按上述方式创建一个或多个创世区块,生成dBaaS系统的至少一条用户区块链。
[0081] S111、将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
[0082] 将生成的至少一条用户区块链加入到dBaaS系统的分布式网络中,构建完成dBaaS系统。其中,dBaaS系统的分布式网络包含dBaaS系统的主链的网络以及一个或多个用户区
块链的网络。
[0083] dBaaS系统的主链使用PoW工作量证明机制,提供写账的随机性,确保写账可信;使用开放式,确保记账可信。并且,在工作量难度设计上相对于比特币以太坊等PoW区块链降
低难度,使主流服务器可以在较短时间(平均60分钟)内得到合法结果,减少算力竞争产生
的能源消耗和环境污染。出块时间短,比如降低出块速度到平均60分钟一个块,用来匹配创
建的用户区块链的使用频率,减少空块,空块策略是不出块。为了防止双花,使用确定性机
制,确保数据一旦上链便不可回滚,确定性算法使用出块先后,块中交易数量和时间哈希来
确定,时间窗可选以2秒为限。可以理解的是,时间窗也可以设置为其他时间值,在此不做限
制。具体地,参数的设置及对应功能如表1所示。
[0084] 表1
[0085]设置 参数 功能
开放式 是 记账可信
共识机制 PoW 写账可信
工作量难度 主流服务器 减少算力污染
出块速度 60分钟/块 减少空块
空块策略 不出 防止浪费
是否使用确定性 是 防止回滚,便于更新
确定性算法选择 出块先后,交易数量,时间哈希 减少分叉
[0086] 在dBaaS系统的分布式网络中加入用户节点时,可以将初始化的用户区块链的安装文件发布到公开区域,接收无许可参与(公链),或将初始化的用户区块链的安装文件发
送给相关联盟成员对应的用户终端(联盟链),或将初始化的用户区块链的安装文件发送给
相关内部负责人员对应的用户终端(私有链)。不同类型的用户终端下载安装用户区块链的
安装文件,生成用户区块链的节点,将节点加入到dBaaS系统的分布式网络中。
[0087] dBaaS系统可以实现链继承和链更新。以往,假设区块链A1.0需要升级到A2.0,会导致区块链A最终分叉成A1.0和A2.0两条区块链。而在dBaaS系统中,区块链A只需在dBaaS
系统的主链上注册一个新的区块链A2.0,其间,将继承方案写入新区块链A2.0的创链交易
中,区块链A和区块链A2.0会根据继承方案设定的区块高度协同切换工作,终止区块链A的
出块,启动区块链A2.0的出块,区块链A2.0的创世区块头包含区块链A的最后一个区块的哈
希作为父哈希。也即,通过dBaaS系统,可以突破单一区块链的技术限制,在不破坏价值流和
历史的情况下迭代,实现无分叉自我更新。
[0088] 另一方面,以往将区块链A上的价值同区块链B上的价值进行互换时,须借助外部的交易过程,无法做到实时协同,这给欺诈带来了机会,还带来高昂的效率成本。而在dBaaS
系统中,只需在dBaaS系统的主链上发送一个交易合同,记录区块链A和区块链B上的相关交
易方、金额、汇率等信息,即可在区块链A和区块链B上依据交易合同锁定相关方的相关数字
资产,进行区块链A和区块链B上的协同转账,经共识验证成功后解锁。整个过程全部自动
化,透明可验证,可实现真正的实时、公平、无欺诈交易。
[0089] 再有,以往区块链自成体系,独立性强,很难融入到更大的结构中去形成更为高端的生产力。而dBaaS系统中,在dBaaS系统的主链的引导和媒介下,各用户区块链可以和主链
集成为更高级的系统。例如,创建一条流动性好防双花的用户区块链专门负责数字货币;创
建一条高度可信,便于数据查询,不可篡改,不可磨灭性好的用户区块链负责征信及合同相
关数据;创建一条智能合约性能高的用户区块链负责金融产品和自动化;将这几条用户区
块链交互通道通过主链配置,形成一个分布式金融系统的骨架,加入所需的中心化上层建
筑及新的区块链组件,可形成一个高性能的DeFi去中心化金融系统,且这个系统还能够不
断迭代优化。也即,通过dBaaS系统,可以使各分离的区块链形成协作,使它们优势互补,产
生更高级的能力。
[0090] 并且,通过dBaaS系统,可以提供对开源、非开源、自研、深度改造的开源的区块链系统部署广泛支持的能力,促进整个区块链生态发展,优化技术体系。
[0091] 上述实施例提供的分布式区块链服务系统构建方法,通过创建一条分布式区块链服务系统的主链为服务骨架,首先确定在主链的网络中部署的多个节点设备,在多个节点
设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到主链的网络中,
以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排除决策节点以外
的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策节点以外的其他
初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上创建主链的创世
区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取至少一个用户基
于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至少一组用户区块
链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链,根
据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链加入到分布式区
块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分布式区块链服务
系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务系统内的用户区
块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为信息传递的枢纽,
将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。
[0092] 请参阅图3,图3是本申请实施例提供的一种分布式区块链服务系统的系统示意图。
[0093] 如图3所示,该分布式区块链服务系统1000包括一条主链100和至少一条用户区块链200,其中,主链100为按照上述分布式区块链服务系统构建方法实施例中生成的主链,至
少一条用户区块链200为按照上述分布式区块链服务系统构建方法实施例中生成的用户区
块链,分布式区块链服务系统1000为按照上述分布式区块链服务系统构建方法实施例中生
成的dBaaS系统。
[0094] 需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的分布式区块链服务系统1000的具体工作过程,可以参考前述分布式区块链服务
系统构建方法实施例中的对应过程,在此不再赘述。
[0095] 本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申
请实施例提供的任一项分布式区块链服务系统构建方法。
[0096] 其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机
设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart 
Media Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
[0097] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替
换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利
要求的保护范围为准。