CN112600945B - 分布式区块链服务系统及其构建方法、存储介质 - Google Patents
分布式区块链服务系统及其构建方法、存储介质 Download PDFInfo
- Publication number
- CN112600945B CN112600945B CN202110240035.2A CN202110240035A CN112600945B CN 112600945 B CN112600945 B CN 112600945B CN 202110240035 A CN202110240035 A CN 202110240035A CN 112600945 B CN112600945 B CN 112600945B
- Authority
- CN
- China
- Prior art keywords
- block
- chain
- node
- user
- main 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及一种分布式区块链服务系统及其构建方法、存储介质,该方法包括:确定在主链的网络中部署的多个节点设备;创建多个初始节点;在初始节点上创建主链的创世区块,生成主链;获取至少一组用户区块链配置信息;根据每组用户区块链配置信息,建立创链交易;生成包含创链交易的候选新区块,选择一个候选新区块作为预备新区块,对预备新区块签名生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链;根据在主链上链的新区块生成至少一条用户区块链;将至少一条用户区块链加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。本申请实现区块链间相互合作和去中心化区块链生态体系。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种分布式区块链服务系统及其构建方法、存储介质。
背景技术
区块链技术是一种新型的分布式账本技术,区块链本质上为一个数据库,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改。BaaS(Blockchain-as-a-Service)系统是为构建区块链系统提供服务的系统。目前的BaaS系统提供的服务本质上是基于中心化系统的云服务,通常使用开源代码的区块链及其API(Application Programming Interface,应用程序接口)来进行所选区块链系统的快速部署。一方面,基于中心化的平台体系难以支持去中心化区块链生态圈。另一方面,所构建的不同区块链之间相互独立,自成体系,信息难以沟通,无法实现多链合作。
因此,如何实现多区块链间相互合作以及去中心化区块链生态体系,成为亟待解决的问题。
发明内容
本申请提供了一种分布式区块链服务系统及其构建方法、存储介质,能够实现多区块链间相互合作以及去中心化区块链生态体系。
第一方面,本申请提供了一种分布式区块链服务系统构建方法,所述方法包括:
确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架;
在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中;
确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;
在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链;
获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息;
通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网络中;
通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点;
通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广播到所述主链的网络中;
通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链;
根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链;
将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
第二方面,本申请还提供了一种分布式区块链服务系统,所述分布式区块链服务系统包括一条主链和至少一条用户区块链,其中,所述主链与所述用户区块链为按照上述的分布式区块链服务系统构建方法生成。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现上述的分布式区块链服务系统构建方法。
本申请公开了一种分布式区块链服务系统及其构建方法、存储介质,通过创建一条分布式区块链服务系统的主链为服务骨架,首先确定在主链的网络中部署的多个节点设备,在多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到主链的网络中,以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排除决策节点以外的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策节点以外的其他初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上创建主链的创世区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取至少一个用户基于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至少一组用户区块链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链,根据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分布式区块链服务系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务系统内的用户区块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为信息传递的枢纽,将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式区块链服务系统构建方法的步骤示意流程图;
图2是本申请实施例提供的一种根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链的步骤示意流程图;
图3是本申请实施例提供的一种分布式区块链服务系统的系统结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
BaaS(Blockchain-as-a-Service)系统是为构建区块链系统提供服务的系统。目前的BaaS系统提供的服务本质上是基于中心化系统的云服务,通常使用开源代码的区块链及其API(Application Programming Interface,应用程序接口)来进行所选区块链系统的快速部署。一方面,基于中心化的平台体系难以形成以去中心化区块链生态圈。另一方面,所构建的区块链之间相互独立,自成体系,彼此形成价值孤岛,信息难以沟通,无法实现多链合作,也无法迭代更新,或者更新必须丢失价值,无法集成。由此导致建立在各个区块链上的不同应用在相互协作中困难重重,效率低下,安全不能保证,价值难以传递。并且,可供选择的开源区块链数量有限,无法对非开源、自研、或者经过深度改造的开源的区块链系统实现部署。
为了解决上述问题,本申请的实施例提供了一种分布式区块链服务系统及其构建方法、存储介质。基于该分布式区块链服务系统构建方法生成分布式区块链服务系统,与目前的BaaS系统相比,基于该分布式区块链服务系统部署的各区块链之间可相互协作建立合作,实现去中心化区块链生态体系。
其中,该分布式区块链服务系统构建方法可以用于服务器,当然也可以用于计算机终端,其中,计算机终端可以是平板电脑、笔记本电脑、台式电脑等电子设备;服务器例如可以为单独的服务器或服务器集群。但为了便于理解,以下实施例将以应用于服务器的分布式区块链服务系统构建方法进行详细介绍。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种分布式区块链服务系统构建方法的示意流程图。
如图1所示,该分布式区块链服务系统构建方法可以包括以下步骤S101至步骤S111。
S101、确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架。
为了便于描述,下文将分布式区块链服务系统称为dBaaS(decentralized BaaS)系统。dBaaS系统的系统架构包含一条主链与不限数量不限类型的用户区块链。
其中,主链作为dBaaS系统的服务骨架,为dBaaS系统用户提供用户区块链构建服务,其角色等同于BaaS系统中底层的云服务系统。用户通过dBaaS系统创建自己需要的用户区块链,随着用户不断增加,dBaaS系统内用户区块链不断增多,形成一个去中心化的应用生态体系。dBaaS系统的主链作为信息传递的枢纽,将所有用户区块链联系在一起,提供跨链交互、价值继承、数据背书、链外存证、激励确权等服务。
dBaaS系统的主链的网络为互联互通的开放式网络,可以由系统设计者基于该网络进行多个节点设备的部署操作,根据设计者的部署操作,确定dBaaS系统的主链的网络中部署的多个节点设备。其中,节点设备可以为计算机等设备,也可以为虚拟机等设备。
例如,若系统设计者进行了20个节点设备的部署操作,则根据设计者的部署操作,确定dBaaS系统的主链的网络中部署了该20个节点设备。
S102、在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中。
首先对dBaaS安装程序进行初始化,设定dBaaS系统的主链的网络标识信息,其中,网络标识信息包括但不限于网络ID。
dBaaS安装程序初始化之后,上载初始化的dBaaS安装程序至dBaaS系统的主链的网络中部署的多个节点设备,实现对应的多个初始节点的创建,每个节点设备对应一个初始节点,并将创建的多个初始节点加入到dBaaS系统的主链的网络中。
S103、确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点。
多个初始节点具有不同的工作角色,包括决策节点、服务节点、共识节点与记账节点等。除了决策节点以外,其他的初始节点可以具有多重工作角色。基于创建的多个初始节点,确定多个初始节点中的一个初始节点的工作角色为决策节点,也即有且只有一个初始节点被指定为决策节点,确定排除决策节点以外的其他每个初始节点的工作角色包括共识节点与记账节点,排除决策节点以外的其他初始节点中的至少一个初始节点的工作角色包括服务节点,也即从决策节点以外的其他初始节点中,确定一个或多个初始节点的工作角色包括服务节点。
其中,决策节点负责对共识进行决策,决策的结果不可逆转,决策节点不参与共识和记账,决策节点不承担其他工作角色。
服务节点负责为用户提供dBaaS系统的服务操作界面,服务节点的服务包括提供初始化dBaaS安装程序的下载服务、提供用户区块链创建服务等。
在一些实施例中,所述分布式区块链服务系统构建方法还可以包括:根据加载所述安装程序的用户终端,创建所述主链的记账节点,并将所述记账节点加入到所述主链的网络中。
用户缺省状态时,也即没有用户终端成为节点参与dBaaS系统的主链时,通过服务节点使用dBaaS系统的主链。
用户也可选择将其用户终端配置成为节点参与dBaaS系统的主链,通过在用户终端上加载安装dBaaS安装程序,根据加载安装了dBaaS安装程序的用户终端,创建对应的用户节点,并确定该用户节点的工作角色包括记账节点,也即其初始状态为记账节点。并将记账节点加入到dBaaS系统的主链的网络中。之后,用户节点可以通过自举成为共识节点,参与主链的共识服务。
用户节点可参与记账,具体地,用户节点通过网络发现找到其相邻节点,用户节点与其相邻节点交换身份信息,用户节点从其相邻节点同步区块数据,从而获得相同的区块数据,用户节点监听dBaaS系统的主链的网络,实现参与记账。
用户节点可请求成为服务节点,在主链系统许可后为其他用户提供dBaaS客户端服务。
S104、在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链。
对于创建的多个初始节点,分别在每个初始节点本地创建第一个区块,即创世区块,从而得到多个初始节点对应的多个创世区块。根据该多个创世区块,生成dBaaS系统的主链。
S105、获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息。
dBaaS系统的主链上的服务节点可以为用户提供dBaaS系统的服务操作界面,用户通过用户终端访问主链上的服务节点,在服务节点提供的服务操作界面上设置相应的用户区块链配置信息,类似于BaaS系统上的使用界面和方法,因此,相对于传统用户在使用上是熟悉的,透明的,无障碍的。
其中,用户区块链配置信息包括但不限于模板选择、区块链类型、共识机制、工作量难度、出块速度、是否使用确定性、确定性算法选择、矿工激励机制、数字货币配置信息、通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点数量、初始节点工作角色配置等。模板选择包括Bitcoin、Ethereum、HyperLedger等;区块链类型包括公链、联盟链、私有链等;共识机制包括PoW、PoS、DPoS、PoC、DPoW等。
用户在服务操作界面上设置用户区块链配置信息完成后,用户提交用户区块链配置信息,获取用户提交的用户区块链配置信息。
S106、通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网络中。
若多个用户提交了各自设置的用户区块链配置信息,则获取到多组用户区块链配置信息,根据该多组用户区块链配置信息,创建对应的多条用户区块链。
示例性的,用户设置好用户区块链配置信息,提交包含该用户区块链配置信息的创链指令至服务节点。服务节点接收到该创链指令时,生成待创建的用户区块链的网络标识信息,如网络ID。
服务节点根据用户提交的用户区块链配置信息,以及待创建的用户区块链的网络标识信息,建立创链交易,其中,创链交易包含待创建的用户区块链的网络标识信息。建立创链交易后,服务节点将创链交易广播到dBaaS系统的主链的网络中。
S107、通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点。
服务节点将创链交易广播到dBaaS系统的主链的网络中后,主链上的共识节点接收创链交易,并根据共识规则生成候选新区块,其中候选新区块包含创链交易。并且,共识节点将生成的候选新区块发送至主链上的决策节点。
S108、通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广播到所述主链的网络中。
dBaaS系统的主链上的决策节点处于开放状态,监听网络中的候选新区块,基于预设的时间窗接收一个或多个候选新区块。示例性的,主链上的决策节点接收到第一个候选新区块,开始计时,直至计时达到预设的时间窗时间,关闭接收。主链上的决策节点将接收到的一个或多个候选新区块放入缓存池。
dBaaS系统的主链上的决策节点根据预设的选择规则,从缓存池中缓存的一个或多个候选新区块中,选出一个候选新区块,作为预备新区块。
dBaaS系统的主链上的决策节点对选出的预备新区块签名,生成对应的新区块。
新区块生成后,dBaaS系统的主链上的决策节点将新区块广播到dBaaS系统的主链的网络中。
S109、通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链。
dBaaS系统的主链上的记账节点接收到签名的新区块,记账节点对新区块进行合法性验证。若验证不通过,则创链失败,可选地输出相应的提示信息。若验证通过,则进行包含创链交易的新区块在dBaaS系统的主链的上链。
S110、根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链。
按照上述方式实现一个或多个包含创链交易的新区块在dBaaS系统的主链上链,根据在dBaaS系统的主链上链的一个或多个包含创链交易的新区块,生成对应的至少一条用户区块链。
在一些实施例中,如图2所示,所述步骤S110可以包括子步骤S1101至子步骤S1104。
S1101、在完成所述主链上的至少一个包含所述创链交易的新区块上链后,通过所述主链上的服务节点,按照所述创链交易内记载的所述用户区块链配置信息,生成所述用户区块链的安装文件,并将所述安装文件发送至用户终端。
在完成dBaaS系统的主链上的一个或多个包含创链交易的新区块上链后,dBaaS系统的主链上的服务节点,按照创链交易内包含的用户区块链配置信息,从模板库中选择用户设置的模板,并使用创链交易内包含的用户区块链的网络标识信息,如网络ID,按用户配置初始化模板,打包成用户区块链的安装文件。并将用户区块链的安装文件输出至用户终端,比如将用户区块链的安装文件提供到用户界面,供用户终端下载。
S1102、通过所述服务节点使用设备资源池,按照所述用户区块链配置信息建立所述用户区块链的初始节点,并配置所述用户区块链的初始节点的工作角色。
dBaaS系统预先配置了一些设备资源池,dBaaS系统的主链上的服务节点使用设备资源池,按照用户区块链配置信息建立待创建的用户区块链的初始节点,并配置初始节点的工作角色,如将该用户区块链的初始节点的工作角色配置为共识节点和记账节点。并且,根据用户设置还可以增加其他工作角色。
S1103、通过所述服务节点在所述用户区块链的初始节点上创建所述用户区块链的创世区块,并根据在所述主链上链的包含所述创链交易的所述新区块,将所述创链交易的信息和所述新区块的元信息写入所述用户区块链的创世区块。
dBaaS系统的主链上的服务节点,在待创建的用户区块链的初始节点上创建第一个区块,也即创世区块。并根据在dBaaS系统的主链上链的一个或多个包含创链交易的新区块,将创链交易的信息和包含创链交易的新区块的元信息写入待创建的用户区块链的创世区块。其中,新区块的元信息包括新区块高度、新区块哈希、父区块哈希、新区块时间戳、新区块大小、交易数量、新区块的签名等。
S1104、基于所述用户区块链的创世区块,生成对应的所述用户区块链。
按上述方式创建一个或多个创世区块,生成dBaaS系统的至少一条用户区块链。
S111、将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
将生成的至少一条用户区块链加入到dBaaS系统的分布式网络中,构建完成dBaaS系统。其中,dBaaS系统的分布式网络包含dBaaS系统的主链的网络以及一个或多个用户区块链的网络。
dBaaS系统的主链使用PoW工作量证明机制,提供写账的随机性,确保写账可信;使用开放式,确保记账可信。并且,在工作量难度设计上相对于比特币以太坊等PoW区块链降低难度,使主流服务器可以在较短时间(平均60分钟)内得到合法结果,减少算力竞争产生的能源消耗和环境污染。出块时间短,比如降低出块速度到平均60分钟一个块,用来匹配创建的用户区块链的使用频率,减少空块,空块策略是不出块。为了防止双花,使用确定性机制,确保数据一旦上链便不可回滚,确定性算法使用出块先后,块中交易数量和时间哈希来确定,时间窗可选以2秒为限。可以理解的是,时间窗也可以设置为其他时间值,在此不做限制。具体地,参数的设置及对应功能如表1所示。
表1
设置 | 参数 | 功能 |
开放式 | 是 | 记账可信 |
共识机制 | PoW | 写账可信 |
工作量难度 | 主流服务器 | 减少算力污染 |
出块速度 | 60分钟/块 | 减少空块 |
空块策略 | 不出 | 防止浪费 |
是否使用确定性 | 是 | 防止回滚,便于更新 |
确定性算法选择 | 出块先后,交易数量,时间哈希 | 减少分叉 |
在dBaaS系统的分布式网络中加入用户节点时,可以将初始化的用户区块链的安装文件发布到公开区域,接收无许可参与(公链),或将初始化的用户区块链的安装文件发送给相关联盟成员对应的用户终端(联盟链),或将初始化的用户区块链的安装文件发送给相关内部负责人员对应的用户终端(私有链)。不同类型的用户终端下载安装用户区块链的安装文件,生成用户区块链的节点,将节点加入到dBaaS系统的分布式网络中。
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系统,可以突破单一区块链的技术限制,在不破坏价值流和历史的情况下迭代,实现无分叉自我更新。
另一方面,以往将区块链A上的价值同区块链B上的价值进行互换时,须借助外部的交易过程,无法做到实时协同,这给欺诈带来了机会,还带来高昂的效率成本。而在dBaaS系统中,只需在dBaaS系统的主链上发送一个交易合同,记录区块链A和区块链B上的相关交易方、金额、汇率等信息,即可在区块链A和区块链B上依据交易合同锁定相关方的相关数字资产,进行区块链A和区块链B上的协同转账,经共识验证成功后解锁。整个过程全部自动化,透明可验证,可实现真正的实时、公平、无欺诈交易。
再有,以往区块链自成体系,独立性强,很难融入到更大的结构中去形成更为高端的生产力。而dBaaS系统中,在dBaaS系统的主链的引导和媒介下,各用户区块链可以和主链集成为更高级的系统。例如,创建一条流动性好防双花的用户区块链专门负责数字货币;创建一条高度可信,便于数据查询,不可篡改,不可磨灭性好的用户区块链负责征信及合同相关数据;创建一条智能合约性能高的用户区块链负责金融产品和自动化;将这几条用户区块链交互通道通过主链配置,形成一个分布式金融系统的骨架,加入所需的中心化上层建筑及新的区块链组件,可形成一个高性能的DeFi去中心化金融系统,且这个系统还能够不断迭代优化。也即,通过dBaaS系统,可以使各分离的区块链形成协作,使它们优势互补,产生更高级的能力。
并且,通过dBaaS系统,可以提供对开源、非开源、自研、深度改造的开源的区块链系统部署广泛支持的能力,促进整个区块链生态发展,优化技术体系。
上述实施例提供的分布式区块链服务系统构建方法,通过创建一条分布式区块链服务系统的主链为服务骨架,首先确定在主链的网络中部署的多个节点设备,在多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到主链的网络中,以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排除决策节点以外的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策节点以外的其他初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上创建主链的创世区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取至少一个用户基于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至少一组用户区块链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链,根据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分布式区块链服务系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务系统内的用户区块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为信息传递的枢纽,将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。
请参阅图3,图3是本申请实施例提供的一种分布式区块链服务系统的系统示意图。
如图3所示,该分布式区块链服务系统1000包括一条主链100和至少一条用户区块链200,其中,主链100为按照上述分布式区块链服务系统构建方法实施例中生成的主链,至少一条用户区块链200为按照上述分布式区块链服务系统构建方法实施例中生成的用户区块链,分布式区块链服务系统1000为按照上述分布式区块链服务系统构建方法实施例中生成的dBaaS系统。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的分布式区块链服务系统1000的具体工作过程,可以参考前述分布式区块链服务系统构建方法实施例中的对应过程,在此不再赘述。
本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项分布式区块链服务系统构建方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种分布式区块链服务系统构建方法,其特征在于,所述分布式区块链服务系统构建方法包括:
确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架;
在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中;
确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;
在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链;
获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息;
通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网络中;
通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点;
通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广播到所述主链的网络中;
通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链;
根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链;
将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据加载所述安装程序的用户终端,创建所述主链的记账节点,并将所述记账节点加入到所述主链的网络中。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述用户区块链配置信息包括以下至少一种:模板选择、区块链类型、共识机制、工作量难度、出块速度、是否使用确定性、确定性算法选择、矿工激励机制、数字货币配置信息、通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点数量、初始节点工作角色配置。
4.根据权利要求1所述的方法,其特征在于,所述根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链,包括:
在完成所述主链上的至少一个包含所述创链交易的新区块上链后,通过所述主链上的服务节点,按照所述创链交易内记载的所述用户区块链配置信息,生成所述用户区块链的安装文件,并将所述安装文件输出至用户终端;
通过所述服务节点使用设备资源池,按照所述用户区块链配置信息建立所述用户区块链的初始节点,并配置所述用户区块链的初始节点的工作角色;
通过所述服务节点在所述用户区块链的初始节点上创建所述用户区块链的创世区块,并根据在所述主链上链的包含所述创链交易的所述新区块,将所述创链交易的信息和所述新区块的元信息写入所述用户区块链的创世区块;
基于所述用户区块链的创世区块,生成所述用户区块链。
5.根据权利要求4所述的方法,其特征在于,所述元信息包括以下至少一种:新区块高度、新区块哈希、父区块哈希、新区块时间戳、新区块大小、交易数量、新区块的签名。
6.一种分布式区块链服务系统,其特征在于,所述分布式区块链服务系统包括一条主链和至少一条用户区块链,其中,所述主链与所述用户区块链为按照如权利要求1至5中任一项所述的分布式区块链服务系统构建方法生成。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至5中任一项所述的分布式区块链服务系统构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240035.2A CN112600945B (zh) | 2021-03-04 | 2021-03-04 | 分布式区块链服务系统及其构建方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240035.2A CN112600945B (zh) | 2021-03-04 | 2021-03-04 | 分布式区块链服务系统及其构建方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112600945A CN112600945A (zh) | 2021-04-02 |
CN112600945B true CN112600945B (zh) | 2021-06-04 |
Family
ID=75210272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240035.2A Active CN112600945B (zh) | 2021-03-04 | 2021-03-04 | 分布式区块链服务系统及其构建方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112600945B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113420086A (zh) * | 2021-06-21 | 2021-09-21 | 北京众享比特科技有限公司 | 用于区块链的方法和相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414210A (zh) * | 2020-03-25 | 2020-07-14 | 北京创世智链信息技术研究院 | 基于主链生成侧链的方法、装置及计算机可读存储介质 |
CN112118124A (zh) * | 2020-08-03 | 2020-12-22 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678151A (zh) * | 2016-03-04 | 2016-06-15 | 邓迪 | 构建可信节点/卫星节点的区块链传输方法和系统 |
CN107169865B (zh) * | 2017-04-24 | 2021-06-29 | 北京果仁宝科技有限公司 | 基于区块链技术的资产数据处理系统 |
US20190180276A1 (en) * | 2017-12-07 | 2019-06-13 | Bank Of America Corporation | Automated Event Processing Computing Platform for Handling and Enriching Blockchain Data |
CN112235429B (zh) * | 2020-12-17 | 2021-03-30 | 暗链科技(深圳)有限公司 | 一种中心记账式去中心化分布式数据处理方法及系统 |
-
2021
- 2021-03-04 CN CN202110240035.2A patent/CN112600945B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414210A (zh) * | 2020-03-25 | 2020-07-14 | 北京创世智链信息技术研究院 | 基于主链生成侧链的方法、装置及计算机可读存储介质 |
CN112118124A (zh) * | 2020-08-03 | 2020-12-22 | 西安电子科技大学 | 区块链构建方法、系统、存储介质、计算机设备及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN112600945A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959621B (zh) | 一种区块链网络的实现方法、装置、设备及存储介质 | |
CN110599181B (zh) | 基于区块链的数据处理方法、装置和设备及存储介质 | |
CN111414210B (zh) | 基于主链生成侧链的方法、装置及计算机可读存储介质 | |
US20190354518A1 (en) | Chain mesh network for decentralized transaction systems | |
CN111090892B (zh) | 一种基于vrf和门限签名的区块链共识方法和装置 | |
US11593321B2 (en) | Systems and methods of self-administered protocols on a blockchain platform | |
US10708071B1 (en) | Consensus protocols in distributed computing systems | |
CN107464106A (zh) | 区块链主链与侧链间交易的方法及系统 | |
CN109003185B (zh) | 一种智能合约的建立方法、装置、计算设备及存储介质 | |
EP3669493B1 (en) | Computer-implemented systems and methods relating to a binary blockchain comprising a pair of coupled blockchains | |
CN110599323B (zh) | 一种资源处理方法及处理设备 | |
CN107085810A (zh) | 一种区块链的跨链操作方法及区块链管理系统 | |
CN111431903A (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
CN111177800A (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN112163950A (zh) | 一种方便扩展、节点资源复用的区块链链网构建方法、系统及终端设备 | |
CN109510713A (zh) | 一种基于区块链的流量共享激励方法 | |
CN114118734A (zh) | 一种基于区块链技术的虚拟电厂需求响应管理系统 | |
CN112651830A (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN112907082A (zh) | 一种区块链共识算法评估优化方法 | |
CN112016954A (zh) | 一种基于区块链网络技术的资源配置方法、装置和电子设备 | |
CN112600945B (zh) | 分布式区块链服务系统及其构建方法、存储介质 | |
CN111444090B (zh) | 区块链中的合约测试方法、装置、电子设备及存储介质 | |
CN116319768A (zh) | 计算任务的执行方法、装置、存储介质及电子装置 | |
Wang et al. | An efficient, secured, and infinitely scalable consensus mechanism for peer-to-peer energy trading blockchain | |
CN110458541A (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 |