一种基于动态区块链的去中心化的流程控制方法及系统与流程

文档序号:21693491发布日期:2020-07-31 22:18阅读:165来源:国知局
一种基于动态区块链的去中心化的流程控制方法及系统与流程

本发明涉及互联网信息追溯领域,尤其涉及一种基于动态区块链的去中心化的流程控制方法及系统。



背景技术:

某些区块链系统特别是联盟链系统是一个准入的系统。参与的共识节点需要许可才可以加入。一般来讲,联盟链的各个共识节点隶属于不同的实体,当联盟链系统需要管理控制时,包括节点的选择、链的初始化、节点的增减、节点之间的信息交互等,现有的技术只能通过线下的协调使得多个实体得到一致,而且这些管理控制往往是通过中心化的管理,才能够实现对等。这样,使得联盟链系统受到单点中心化问题的制约,使得联盟链的可信度大大降低。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是解决现有技术中对目标区块链的中心化管理过程。因此,本发明提供了一种基于动态区块链的去中心化的流程控制方法及系统,通过构建一个动态区块链系统作为目标区块链系统的辅助工具,实现对目标系统的去中心化管理和控制,提高联盟链的可信度。

为实现上述目的,本发明提供了一种基于动态区块链的去中心化的流程控制方法,包括以下步骤:

设定目标区块链系统,并构建一个动态区块链系统,动态区块链系统作为目标区块链系统的辅助系统;

动态区块链系统进行初始化并运行,当动态区块链系统运行平稳后,在动态区块链系统中部署一个控制流程模块;

控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程;

目标系统初始化后稳定运行。

进一步地,还包括动态区块链系统在目标系统稳定运行之后进入休眠状态或慢速出块状态。

进一步地,控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程,具体包括:

动态区块链系统选择共识节点,动态区块链系统的共识节点运行动态区块链节点执行程序;

动态区块链系统的控制模块调用动态区块链系统的接口;

动态区块链系统的接口与目标区块链系统的接口相互通讯;

目标区块链系统的接口验证通讯符合条件后,将控制逻辑递交到目标区块链系统的共识模块;

共识模块实施控制逻辑,并与其他共识节点达成共识。

进一步地,控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程,还包括对共识节点之间进行初始化过程,控制流程模块对共识节点之间进行可验证秘密分发过程。

本发明的另一较佳实施例提供了一种基于动态区块链的去中心化的流程控制系统,包括:

设定模块,用于设定目标区块链系统,并构建一个动态区块链系统,动态区块链系统作为目标区块链系统的辅助系统;

初始化模块,用于动态区块链系统进行初始化并运行,当动态区块链系统运行平稳后,在动态区块链系统中部署一个控制流程模块;

控制流程模块,用于控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程;

运行模块,用于目标系统初始化后稳定运行。

进一步地,还包括休眠模块,用于动态区块链系统在目标系统稳定运行之后进入休眠状态或慢速出块状态。

进一步地,控制流程模块,具体包括:

选择单元,用于动态区块链系统选择共识节点,动态区块链系统的共识节点运行动态区块链节点执行程序;

调用单元,用于动态区块链系统的控制模块调用动态区块链系统的接口;

通讯单元,用于动态区块链系统的接口与目标区块链系统的接口相互通讯;

验证和递交单元,用于目标区块链系统的接口验证通讯符合条件后,将控制逻辑递交到目标区块链系统的共识模块;

实施模块,用于共识模块实施控制逻辑,并与其他共识节点达成共识。

进一步地,控制流程模块,还包括共识节点初始化单元,用于对共识节点之间进行初始化过程,控制流程模块对共识节点之间进行可验证秘密分发过程。

本发明的又一较佳实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上述中任一项的方法。

本发明的又一较佳实施例提供一种存储有计算机程序的计算机可读存储介质,计算机程序使计算机执行时实现如上述中任一项的一种基于动态区块链的去中心化的流程控制方法。

技术效果

本发明的一种基于动态区块链的去中心化流程控制方案,通过去中心化的区块链,实现对另外一个目标区块链的流程控制,包括目标区块链的节点选取、初始化、节点之间的信息交互、节点的增减等。动态区块链可以在完成流程控制之后进入休眠状态,直到下次需要对目标区块链进行新的流程控制。本发明可以实现可信的去中心化的流程控制,使得目标区块链实现可信的创建、运行等操作。另外,由于目标区块链也是一个去中心化系统,对目标区块链的任何大的修正(包括:软件更新,节点增加,节点删除,节点私钥更换等),而这个修正不能够在目标区块链本身的范围内控制,这样动态区块链就可以很好地实现这个功能。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的一种基于动态区块链的去中心化的流程控制方法的流程示意图;

图2是本发明的一个较佳实施例的一种基于动态区块链的去中心化的流程控制方法的控制流程模块的流程示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下描述中,为了说明而不是为了限定,提出了诸如特定内部程序、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本实施例提供了一种基于动态区块链的去中心化的流程控制方法,其步骤包括:

步骤100,设定目标区块链系统,并构建一个动态区块链系统,动态区块链系统作为目标区块链系统的辅助系统;

步骤200,动态区块链系统进行初始化并运行,当动态区块链系统运行平稳后,在动态区块链系统中部署一个控制流程模块;

步骤300,控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程;具体包括:

步骤301,动态区块链系统选择共识节点,动态区块链系统的共识节点运行动态区块链节点执行程序;

步骤302,动态区块链系统的控制模块调用动态区块链系统的接口;

步骤303,动态区块链系统的接口与目标区块链系统的接口相互通讯;

步骤304,目标区块链系统的接口验证通讯符合条件后,将控制逻辑递交到目标区块链系统的共识模块;

步骤305,共识模块实施控制逻辑,并与其他共识节点达成共识。

步骤400,目标系统初始化后稳定运行。

还包括步骤500,动态区块链系统在目标系统稳定运行之后进入休眠状态或慢速出块状态。

另外,控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程,还包括对共识节点之间进行初始化过程,控制流程模块对共识节点之间进行可验证秘密分发过程。

如图1所示,101指的是一个动态区块链系统。动态区块链系统是作为目标区块链系统的去中心化建立以及控制的辅助系统。

102指的是目标区块链系统,是实际生产过程中需要用到的区块链系统。

101动态区块链系统一个可能的实现是采用pow(proofofwork,工作量证明)的方式,具体来讲,参与共识的每一个节点,运行一个软件模块,通过大量的运算来寻找一个合适的随机数,这个合适的随机数就是一个工作量证明。最早获得工作量证明的节点可以提交区块,并广播到网络中,其他节点验证接受后达到共识。pow的初始化过程比较快速,因为不需要对节点实现访问控制。任意一个安装软件模块的节点都可以快速加入pow系统。

因此,101动态区块链系统可以实现本系统的如上所述快速初始化过程103,实现系统的稳定运行104。当所述动态区块链运行平稳之后,可以在所述动态区块链中部署一个控制流程模块105。这个控制流程模块可以是部署在动态区块链系统101里面的一个智能合约来实现。

控制流程模块105是目标区块链系统102启动的控制模块。目标区块链系统102可以是一个区块链系统,也可以是一个中心化的系统。本实施例以较为常见的联盟链作为例子。联盟链系统的启动需要实现选择共识节点过程106。项目方可以调用控制流程模块105实现对共识节点的准入控制。具体的控制过程见图二,其具体过程再稍后做解释。

之后,共识节点之间需要经过初始化过程107。一个较优的实例是通过控制流程105实现共识节点之间的可验证秘密分发过程。具体来讲,以阈值签名为共识算法的联盟链的共识节点,在初始化过程107中,必须实现每个节点的秘密片段的分发:

联盟链的共识节点本地产生公钥p1和私钥k1,和非对称加密的私钥k2和公钥p2;

共识节点向所述动态区块链系统的控制流程模块105递交本地的公钥p1和p2;

共识节点查询所述动态区块链系统的控制流程模块105获得其他节点i的公钥p_i1,p_i2;

共识节点针对每个其他节点i,将本地的私钥k1以设定的方式生成秘密s_i,并用其他节点i的非对称公钥p_i2进行加密,并递交到所述动态区块链的控制模块105;

共识节点对其他每个节点i递交的秘密s_i进行验证;

共识节点向所述动态区块链的控制模块105递交秘密的验证结果;

如果每个共识节点的验证结果都为正确,则可验证秘密分发过程完成。

当目标区块链系统102的初始化过程107完成之后,目标区块链系统进入稳定运行状态108。这时,所述动态区块链系统101可以以设定的条件,或者以触发的方式进入休眠状态109。另外一个较佳的实例是不进入休眠状态,而是进入慢速出块状态。具体来讲,动态区块链系统101在正常工作状态时,以固定的较短时间进行出块,例如5秒出一个区块。当目标区块链系统102进入稳定运行状态时,动态区块链系统101可以切换到慢速出块状态,例如一天(86400秒)出一个区块。慢速出块状态的好处是,如果需要切换回正常工作状态时,不需要外界的触发。在上例中,每隔1天,动态区块链系统101会处理一下交易,对状态切换的操作可以由这个交易触发。

这两种状态(休眠或慢速)都是为了实现动态区块链系统101的低开销运行,不占用目标区块链处理正常业务流程需要的资源。另外一个较佳实例是目标区块链在完成所属的控制过程后直接中止不再运行。这种情况下,后续的109-113(休眠和慢速出块)操作都不需要再运行,可以降低系统的复杂程度。

在设定的条件或者外界的触发条件下,所述动态区块链可以从休眠状态109恢复成正常运行状态。并通过控制流程101实现对目标区块链系统102的所需的操作,例如共识节点的增减过程111。同样地,控制流程见图二。当目标区块链实现稳定运行112之后,动态区块链系统101可以再进入休眠状态113。

如图2所示,是动态区块链系统101对目标区块链102的控制示意图。

动态区块链的每个共识节点运行一个动态区块链节点执行程序201,目标区块链的每个共识节点运行一个目标区块链节点执行程序202。动态区块链的控制模块203自动或者由于触发对接口204的调用。动态区块链的接口204与目标区块链的接口205互相通讯。目标区块链的接口205验证通讯符合条件后,将控制逻辑递交到共识模块206。共识模块206实施控制逻辑,并与其他共识节点达成共识。另一个较佳的实施例是动态区块链的共识节点也是目标区块链的共识节点。在这种情况下,两个节点执行程序模块201,202同时运行在一个服务器上。这样,所述两个模块可以实现快速的通讯。

以行业溯源链为例,某个行业的多家企业组成一个联盟,对行业内的上下游商品在区块链上进行溯源。这里的区块链就是所述目标区块链系统。假设所述区块链采用的是基于阈值签名的共识协议,那么再增加新的行业联盟成员的情况下,需要将联盟链的共识节点相应的增加。新增加的共识节点必须与现有的共识节点集合形成一个可信秘密共享,这样的过程可以通过动态区块链系统来实现。动态区块链系统上的控制流程模块是一个基于智能合约实现的功能模块。动态区块链系统可以以某种形式从休眠状态进入活跃状态。原有的共识节点加上新的共识节点可以发送交易对智能合约进行调用。当所有节点完成可信秘密共享后,智能合约模块控制目标区块链进行共识节点增加,实现对联盟链的成员扩展。这样可以避免通过从线下协调使各企业得到一致而造成的可信度降低的问题。

实施例二

本实施例提供了一种基于动态区块链的去中心化的流程控制系统,包括:

设定模块,用于设定目标区块链系统,并构建一个动态区块链系统,动态区块链系统作为目标区块链系统的辅助系统;

初始化模块,用于动态区块链系统进行初始化并运行,当动态区块链系统运行平稳后,在动态区块链系统中部署一个控制流程模块;

控制流程模块,用于控制流程对目标区块链系统选择共识节点并对目标区块链系统进行初始化过程;

运行模块,用于目标系统初始化后稳定运行。

进一步地,还包括休眠模块,用于动态区块链系统在目标系统稳定运行之后进入休眠状态或慢速出块状态。

进一步地,控制流程模块,具体包括:

选择单元,用于动态区块链系统选择共识节点,动态区块链系统的共识节点运行动态区块链节点执行程序;

调用单元,用于动态区块链系统的控制模块调用动态区块链系统的接口;

通讯单元,用于动态区块链系统的接口与目标区块链系统的接口相互通讯;

验证和递交单元,用于目标区块链系统的接口验证通讯符合条件后,将控制逻辑递交到目标区块链系统的共识模块;

实施模块,用于共识模块实施控制逻辑,并与其他共识节点达成共识。

进一步地,控制流程模块,还包括共识节点初始化单元,用于对共识节点之间进行初始化过程,控制流程模块对共识节点之间进行可验证秘密分发过程。

实施例二是为了实现实施例一,其实现方式同实施例一,此处将不再赘述。

实施例三

本发明实施例三提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述任一项的方法。

该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如流程控制程序。所述处理器执行所述计算机程序时实现上述各个数据同步方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备中的执行过程。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可以是所述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。所述存储器也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器还可以既包括所述计算机设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述计算机设备所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例还提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现上述任一项所述的一种基于动态区块链的去中心化的流程控制方法。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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