分布式区块链服务系统及其构建方法、存储介质转让专利
申请号 : CN202110240035.2
文献号 : CN112600945B
文献日 : 2021-06-04
发明人 : 吴刚 , 蔺静茹
申请人 : 暗链科技(深圳)有限公司
摘要 :
权利要求 :
1.一种分布式区块链服务系统构建方法,其特征在于,所述分布式区块链服务系统构建方法包括:
确定在分布式区块链服务系统的主链的网络中部署的多个节点设备,其中,所述主链为服务骨架;
在所述多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个所述初始节点加入到所述主链的网络中;
确定所述多个初始节点中的一个初始节点的工作角色为决策节点;确定排除所述决策节点以外的其他每个所述初始节点的工作角色包括共识节点与记账节点;确定排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;
在所述初始节点上创建所述主链的创世区块,基于所述主链的创世区块,生成所述分布式区块链服务系统的主链;
获取至少一个用户基于用户终端访问所述服务节点设置的至少一组用户区块链配置信息;
通过所述服务节点生成每条用户区块链的网络标识信息,并根据每组用户区块链配置信息,建立包含所述网络标识信息的创链交易,将所述创链交易广播到所述主链的网络中;
通过所述主链上的共识节点接收所述创链交易,并根据共识规则生成包含所述创链交易的候选新区块,将所述候选新区块发送至所述主链上的决策节点;
通过所述决策节点基于预设的时间窗接收一个或多个所述候选新区块放入缓存池,根据预设的选择规则从所述缓存池的一个或多个所述候选新区块中,选择一个所述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广播到所述主链的网络中;
通过所述主链上的记账节点对所述新区块进行合法性验证,并在验证通过后,进行包含所述创链交易的新区块在所述主链的上链;
根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链;
将所述至少一条用户区块链加入到所述分布式区块链服务系统的分布式网络中,生成所述分布式区块链服务系统。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据加载所述安装程序的用户终端,创建所述主链的记账节点,并将所述记账节点加入到所述主链的网络中。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述用户区块链配置信息包括以下至少一种:模板选择、区块链类型、共识机制、工作量难度、出块速度、是否使用确定性、确定性算法选择、矿工激励机制、数字货币配置信息、通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点数量、初始节点工作角色配置。
4.根据权利要求1所述的方法,其特征在于,所述根据在所述主链上链的包含所述创链交易的新区块,生成对应的至少一条用户区块链,包括:在完成所述主链上的至少一个包含所述创链交易的新区块上链后,通过所述主链上的服务节点,按照所述创链交易内记载的所述用户区块链配置信息,生成所述用户区块链的安装文件,并将所述安装文件输出至用户终端;
通过所述服务节点使用设备资源池,按照所述用户区块链配置信息建立所述用户区块链的初始节点,并配置所述用户区块链的初始节点的工作角色;
通过所述服务节点在所述用户区块链的初始节点上创建所述用户区块链的创世区块,并根据在所述主链上链的包含所述创链交易的所述新区块,将所述创链交易的信息和所述新区块的元信息写入所述用户区块链的创世区块;
基于所述用户区块链的创世区块,生成所述用户区块链。
5.根据权利要求4所述的方法,其特征在于,所述元信息包括以下至少一种:新区块高度、新区块哈希、父区块哈希、新区块时间戳、新区块大小、交易数量、新区块的签名。
6.一种分布式区块链服务系统,其特征在于,所述分布式区块链服务系统包括一条主链和至少一条用户区块链,其中,所述主链与所述用户区块链为按照如权利要求1至5中任一项所述的分布式区块链服务系统构建方法生成。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至5中任一项所述的分布式区块链服务系统构建方法。
说明书 :
分布式区块链服务系统及其构建方法、存储介质
技术领域
背景技术
(Blockchain‑as‑a‑Service)系统是为构建区块链系统提供服务的系统。目前的BaaS系统
提供的服务本质上是基于中心化系统的云服务,通常使用开源代码的区块链及其API
(Application Programming Interface,应用程序接口)来进行所选区块链系统的快速部
署。一方面,基于中心化的平台体系难以支持去中心化区块链生态圈。另一方面,所构建的
不同区块链之间相互独立,自成体系,信息难以沟通,无法实现多链合作。
发明内容
述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务节点;
络中;
选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区块广
播到所述主链的网络中;
的分布式区块链服务系统构建方法生成。
构建方法。
备,在多个节点设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到
主链的网络中,以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排
除决策节点以外的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策
节点以外的其他初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上
创建主链的创世区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取
至少一个用户基于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至
少一组用户区块链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在
主链的上链,根据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链
加入到分布式区块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分
布式区块链服务系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务
系统内的用户区块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为
信息传递的枢纽,将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。
附图说明
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
具体实施方式
请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施
例,都属于本申请保护的范围。
执行的顺序有可能根据实际情况改变。
文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
及其API(Application Programming Interface,应用程序接口)来进行所选区块链系统的
快速部署。一方面,基于中心化的平台体系难以形成以去中心化区块链生态圈。另一方面,
所构建的区块链之间相互独立,自成体系,彼此形成价值孤岛,信息难以沟通,无法实现多
链合作,也无法迭代更新,或者更新必须丢失价值,无法集成。由此导致建立在各个区块链
上的不同应用在相互协作中困难重重,效率低下,安全不能保证,价值难以传递。并且,可供
选择的开源区块链数量有限,无法对非开源、自研、或者经过深度改造的开源的区块链系统
实现部署。
前的BaaS系统相比,基于该分布式区块链服务系统部署的各区块链之间可相互协作建立合
作,实现去中心化区块链生态体系。
可以为单独的服务器或服务器集群。但为了便于理解,以下实施例将以应用于服务器的分
布式区块链服务系统构建方法进行详细介绍。
区块链,随着用户不断增加,dBaaS系统内用户区块链不断增多,形成一个去中心化的应用
生态体系。dBaaS系统的主链作为信息传递的枢纽,将所有用户区块链联系在一起,提供跨
链交互、价值继承、数据背书、链外存证、激励确权等服务。
部署的多个节点设备。其中,节点设备可以为计算机等设备,也可以为虚拟机等设备。
始节点,并将创建的多个初始节点加入到dBaaS系统的主链的网络中。
排除所述决策节点以外的其他所述初始节点中的至少一个初始节点的工作角色包括服务
节点。
点,确定多个初始节点中的一个初始节点的工作角色为决策节点,也即有且只有一个初始
节点被指定为决策节点,确定排除决策节点以外的其他每个初始节点的工作角色包括共识
节点与记账节点,排除决策节点以外的其他初始节点中的至少一个初始节点的工作角色包
括服务节点,也即从决策节点以外的其他初始节点中,确定一个或多个初始节点的工作角
色包括服务节点。
网络中。
户节点,并确定该用户节点的工作角色包括记账节点,也即其初始状态为记账节点。并将记
账节点加入到dBaaS系统的主链的网络中。之后,用户节点可以通过自举成为共识节点,参
与主链的共识服务。
数据,用户节点监听dBaaS系统的主链的网络,实现参与记账。
主链。
区块链配置信息,类似于BaaS系统上的使用界面和方法,因此,相对于传统用户在使用上是
熟悉的,透明的,无障碍的。
通胀模型、代表数量、选举机制、网络发现机制、举报机制、预挖矿配置、糖果配置、初始节点
数量、初始节点工作角色配置等。模板选择包括Bitcoin、Ethereum、HyperLedger等;区块链
类型包括公链、联盟链、私有链等;共识机制包括PoW、PoS、DPoS、PoC、DPoW等。
链的网络中。
识信息,如网络ID。
创链交易后,服务节点将创链交易广播到dBaaS系统的主链的网络中。
节点将生成的候选新区块发送至主链上的决策节点。
述候选新区块作为预备新区块,并对所述预备新区块签名,生成对应的新区块,将所述新区
块广播到所述主链的网络中。
新区块,开始计时,直至计时达到预设的时间窗时间,关闭接收。主链上的决策节点将接收
到的一个或多个候选新区块放入缓存池。
含创链交易的新区块在dBaaS系统的主链的上链。
用户区块链。
户区块链的安装文件,并将所述安装文件发送至用户终端。
户设置的模板,并使用创链交易内包含的用户区块链的网络标识信息,如网络ID,按用户配
置初始化模板,打包成用户区块链的安装文件。并将用户区块链的安装文件输出至用户终
端,比如将用户区块链的安装文件提供到用户界面,供用户终端下载。
的工作角色,如将该用户区块链的初始节点的工作角色配置为共识节点和记账节点。并且,
根据用户设置还可以增加其他工作角色。
的信息和所述新区块的元信息写入所述用户区块链的创世区块。
块,将创链交易的信息和包含创链交易的新区块的元信息写入待创建的用户区块链的创世
区块。其中,新区块的元信息包括新区块高度、新区块哈希、父区块哈希、新区块时间戳、新
区块大小、交易数量、新区块的签名等。
块链的网络。
低难度,使主流服务器可以在较短时间(平均60分钟)内得到合法结果,减少算力竞争产生
的能源消耗和环境污染。出块时间短,比如降低出块速度到平均60分钟一个块,用来匹配创
建的用户区块链的使用频率,减少空块,空块策略是不出块。为了防止双花,使用确定性机
制,确保数据一旦上链便不可回滚,确定性算法使用出块先后,块中交易数量和时间哈希来
确定,时间窗可选以2秒为限。可以理解的是,时间窗也可以设置为其他时间值,在此不做限
制。具体地,参数的设置及对应功能如表1所示。
开放式 是 记账可信
共识机制 PoW 写账可信
工作量难度 主流服务器 减少算力污染
出块速度 60分钟/块 减少空块
空块策略 不出 防止浪费
是否使用确定性 是 防止回滚,便于更新
确定性算法选择 出块先后,交易数量,时间哈希 减少分叉
送给相关联盟成员对应的用户终端(联盟链),或将初始化的用户区块链的安装文件发送给
相关内部负责人员对应的用户终端(私有链)。不同类型的用户终端下载安装用户区块链的
安装文件,生成用户区块链的节点,将节点加入到dBaaS系统的分布式网络中。
系统的主链上注册一个新的区块链A2.0,其间,将继承方案写入新区块链A2.0的创链交易
中,区块链A和区块链A2.0会根据继承方案设定的区块高度协同切换工作,终止区块链A的
出块,启动区块链A2.0的出块,区块链A2.0的创世区块头包含区块链A的最后一个区块的哈
希作为父哈希。也即,通过dBaaS系统,可以突破单一区块链的技术限制,在不破坏价值流和
历史的情况下迭代,实现无分叉自我更新。
系统中,只需在dBaaS系统的主链上发送一个交易合同,记录区块链A和区块链B上的相关交
易方、金额、汇率等信息,即可在区块链A和区块链B上依据交易合同锁定相关方的相关数字
资产,进行区块链A和区块链B上的协同转账,经共识验证成功后解锁。整个过程全部自动
化,透明可验证,可实现真正的实时、公平、无欺诈交易。
集成为更高级的系统。例如,创建一条流动性好防双花的用户区块链专门负责数字货币;创
建一条高度可信,便于数据查询,不可篡改,不可磨灭性好的用户区块链负责征信及合同相
关数据;创建一条智能合约性能高的用户区块链负责金融产品和自动化;将这几条用户区
块链交互通道通过主链配置,形成一个分布式金融系统的骨架,加入所需的中心化上层建
筑及新的区块链组件,可形成一个高性能的DeFi去中心化金融系统,且这个系统还能够不
断迭代优化。也即,通过dBaaS系统,可以使各分离的区块链形成协作,使它们优势互补,产
生更高级的能力。
设备上加载安装程序,创建对应的多个初始节点,并将多个初始节点加入到主链的网络中,
以及确定多个初始节点中的一个初始节点的工作角色为决策节点,确定排除决策节点以外
的其他每个初始节点的工作角色包括共识节点与记账节点,确定排除决策节点以外的其他
初始节点中的至少一个初始节点的工作角色包括服务节点,在初始节点上创建主链的创世
区块,基于主链的创世区块,生成分布式区块链服务系统的主链;之后获取至少一个用户基
于用户终端访问服务节点设置的至少一组用户区块链配置信息,并根据至少一组用户区块
链配置信息,生成新区块,对新区块进行合法性验证通过后,进行新区块在主链的上链,根
据在主链上链的新区块生成至少一条用户区块链,将至少一条用户区块链加入到分布式区
块链服务系统的分布式网络中,生成分布式区块链服务系统。用户通过分布式区块链服务
系统创建自己需要的用户区块链,随着用户不断增加,分布式区块链服务系统内的用户区
块链不断增多,形成一个去中心化区块链生态体系,并且其中的主链作为信息传递的枢纽,
将所有用户区块链联系在一起,实现了多个用户区块链间相互合作。
少一条用户区块链200为按照上述分布式区块链服务系统构建方法实施例中生成的用户区
块链,分布式区块链服务系统1000为按照上述分布式区块链服务系统构建方法实施例中生
成的dBaaS系统。
系统构建方法实施例中的对应过程,在此不再赘述。
请实施例提供的任一项分布式区块链服务系统构建方法。
设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart
Media Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利
要求的保护范围为准。