一种基于多节点决策的区块链网络动态管理方法与流程

专利2022-06-30  65


本发明属于区块链技术领域,更为具体地讲,涉及一种基于多节点决策的区块链网络动态管理方法。



背景技术:

在现有基于p2p(peertopeer)对等网络的区块链系统中,整个网络对于节点的管理存在很大不足。以比特币为代表的公链区块链网络,整个网络是一个松散的组织。网络中每一个节点仅维持相邻的若干个节点连接,网络中消息的广播通过多跳机制,节点可能受到重复消息。并且整个网络的进出不受任何规则约束,在增加网络可扩展性的同时,也带来了安全隐患。联盟区块链中,存在一个中心节点的角色对整个网络进行监控,即使该节点不一定参与网络的正常运行。但中心节点的管理员角色,违背了区块链去中心化的原则。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于多方决策的区块链网络动态管理方法,将网络管理交由网络所有参与方决策,参与方共同维护网络正常运行。

为实现上述发明目的,本发明基于多方决策的区块链网络动态管理方法包括以下步骤:

s1:根据初始的参与方搭建初始的区块链网络,在初始参与方中设置若干验证节点,由所有初始参与方一起构建得到共识系统;

s2:新参与方将加入请求发送给区块链网络中所有验证节点,验证节点在收到来自新参与方的加入请求后,验证该请求合法性并决定是否同意该请求;验证节点生成对该请求的处理结果并使用hash算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至共识系统;

共识系统收集各个验证节点对该新参与方的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意新参与方加入的请求处理结果是否满足预先设置的规则,如果满足,令新参与方加入,更新网络状态,添加新参与方信息,同时告知新参与方结果;如果不满足,告知新参与方不同意加入;

s3:当某个参与方需要退出区块链网络时,该参与方向网络中所有验证节点发送退出网络请求;各个验证节点在接收到来自该节点退网请求后,验证该请求合法性并同意该请求;验证节点生成对该请求的处理结果并使用hash算法对节点退出请求作摘要处理,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至给共识系统;

共识系统收集各个验证节点的请求处理结果,然后使用验证节点公钥验证判定结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意该参与方退出的请求处理结果是否满足预先设置的规则,如果满足,令该参与方退出,更新网络状态,删除该参与方信息,同时告知该参与方结果;如果不满足,继续收集其他验证节点处理结果;

s4:在区块链网络运行过程中,各个验证节点对其他参与方进行监控,当某个验证节点发现某个参与方存在异常时,向所有验证节点发送参与方异常消息,验证节点在接收到参与方异常消息后对该异常参与方进行异常状态判定,得到判定结果;验证节点对判定结果使用hash算法作摘要处理,使用验证节点的私钥对摘要进行签名,并将判定结果与签名发送至给共识系统;

共识系统收集各个验证节点对该异常参与方的判定结果,然后使用验证节点公钥验证判定结果的合法性,对通过合法性验证的判定结果进行判断,判断判定该参与方异常的判定结果是否满足预先设置的规则,如果满足,设置异常参与方信息为无效,更新网络状态,告知异常参与方结果;如果不满足,不作任何操作;

s5:当某个验证节点需要修改网络管理的相关规则,则生成修改网络管理规则请求,发送给区块链网络中所有验证节点,验证节点在收到网络管理规则请求后,验证该请求合法性并决定是否同意该请求;验证节点生成对该请求的处理结果并使用hash算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至给共识系统;

共识系统收集各个验证节点对该修改网络管理规则请求的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意网络管理规则修改的请求处理结果是否满足预先设置的规则,如果满足,修改网络管理规则,告知发起该请求的验证节点;如果不满足,告知发起该请求的验证节点不同意修改。

本发明基于多方决策的区块链网络动态管理方法,根据初始的参与方搭建初始的区块链网络,在初始参与方中设置若干验证节点,由所有初始参与方一起构建得到共识系统,当区块链网络存在变动请求时,由各验证节点对请求进行处理,再由共识系统对请求处理结果进行共识得到最终处理结果。本发明使区块链网络的管理交由所有参与方决策,共同维护网络正常运行。

附图说明

图1是本发明基于多节点决策的区块链网络动态管理方法的具体实施方式流程图;

图2是本实施例中区块链网络的结构示意图;

图3是图2所示区块链网络加入一个新参与方后的网络结构图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明基于多节点决策的区块链网络动态管理方法的具体实施方式流程图。如图1所示,本发明基于多节点决策的区块链网络动态管理方法的具体步骤包括:

s101:初始搭建区块链网络:

根据初始的参与方搭建初始的区块链网络,在初始参与方中设置若干验证节点,由所有初始参与方一起构建得到共识系统。

s102:新参与方加入:

新参与方将加入请求发送给区块链网络中所有验证节点,验证节点在收到来自新参与方的加入请求后,验证该请求合法性并决定是否同意该请求。是否同意请求根据预先设置好的网络管理规则来确定即可。验证节点生成对该请求的处理结果并使用hash(哈希)算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至共识系统。

共识系统收集各个验证节点对该新参与方的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意新参与方加入的请求处理结果是否满足预先设置的规则(例如同意新参与方加入的验证节点数量达到预设阈值),如果满足,令新参与方加入,更新网络状态,添加新参与方信息,同时告知新参与方结果;如果不满足,告知新参与方不同意加入。

由于本发明中共识系统是由所有参与方组成的,那么共识系统在对请求处理结果进行处理时,可以由所有参与方分别对请求处理结果进行合法性验证、判断通过合法性验证的请求处理结果是否满足预选设置的规则并得到判断结果,然后将所有参与方的判断结果进行二次共识,得到最终是否同意新参与方加入的处理结果。

s103:参与方主动退出:

当某个参与方需要退出区块链网络时,向网络中所有验证节点发送退出网络请求。各个验证节点在接收到来自该节点退网请求后,验证该请求合法性并同意该请求。验证节点生成对该请求的处理结果并使用hash算法对节点退出请求作摘要处理,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至给共识系统。

共识系统收集各个验证节点的请求处理结果,然后使用验证节点公钥验证判定结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意该参与方退出的请求处理结果是否满足预先设置的规则,如果满足,令该参与方退出,更新网络状态,删除该参与方信息,同时告知该参与方结果;如果不满足,继续收集其他验证节点请求结果。

s104:参与方监控:

在区块链网络运行过程中,各个验证节点对其他参与方进行监控,当某个验证节点发现某个参与方存在异常时,向所有验证节点发送参与方异常消息。参与方异常情况包括:参与方宕机、网络故障以及参与方欺骗等等。验证节点在接收到参与方异常消息后对该异常参与方进行异常状态判定,得到判定结果。异常判定的规则可以由所有参与方预先进行设置。验证节点对判定结果使用hash算法作摘要处理,使用验证节点的私钥对摘要进行签名,并将判定结果与签名发送至共识系统。

共识系统收集各个验证节点对该异常参与方的判定结果,然后使用验证节点公钥验证判定结果的合法性,对通过合法性验证的判定结果进行判断,判断该参与方异常的判定结果是否满足预先设置的网络管理规则,如果满足,设置异常参与方信息为无效,更新网络状态,告知异常参与方结果;如果不满足,不作任何操作。

s105:网络管理规则修改:

当某个验证节点需要修改网络管理的相关规则,则生成修改网络管理规则请求,发送给区块链网络中所有验证节点,验证节点在收到网络管理规则请求后,验证该请求合法性并决定是否同意该请求。一般来说,修改网络管理规则的请求同意与否需要由验证节点的管理员来确定。验证节点生成对该请求的处理结果并使用hash算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至共识系统。

共识系统收集各个验证节点对该修改网络管理规则请求的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意网络管理规则修改的请求处理结果是否满足预先设置的规则,如果满足,修改网络管理规则,告知发起该请求的验证节点;如果不满足,告知发起该请求的验证节点不同意修改。

为了更好地说明本发明的技术方案,采用一个具体实例对本发明进行举例说明。图2是本实施例中区块链网络的结构示意图。如图2所示,本实施例中区块链网络包含3个节点p1、p2、p3,其中p1、p2为验证节点,三个节点共同构成共识系统。

假设有一个新参与方加入区块链网络,其具体过程如下:

步骤一:新参与方p4生成加入请求,将加入请求发送给网络中2个验证节点p1和p2;

步骤二:验证节点p1和p2分别验证请求合法性并对该申请做出决策,假设两个验证节点均同意新参与方p4的加入请求,然后使用hash算法对请求与处理结果作摘要计算,并使用自己的私钥为摘要进行签名。验证节点p1和p2将分别将该请求处理结果与签名发送给共识系统;

步骤三:共识系统收集验证节点p1、p2对该加入请求执行结果与签名,使用公钥验证签名,以确定请求处理结果的合法性,假设两个请求处理结果均通过合法性验证。

步骤四:共识系统对请求处理结果进行共识,判断同意新参与方加入的请求处理结果是否满足预先设置的规则,本实施例中网络管理规则为有2个及以上验证节点同意该请求,则请求通过,因此令参与方p4加入,更新网络状态,添加新参与方信息,同时告知参与方p4结果。

图3是图2所示区块链网络加入一个新参与方后的网络结构图。

假设此时参与方p4需要退出区块链网络,其具体过程如下:

步骤一:参与方p4向整个网络发送退出网络请求,向网络中所有验证节点p1、p2发送退出网络请求。

步骤二:验证节点p1,p2收到来自参与方p4退出网络请求,验证节点p1和p2分别验证请求合法性并对该申请做出决策,由于p4是主动退出网络,因此两个验证节点均同意参与方p4的退出请求,然后使用hash算法对请求与处理结果作摘要计算,并使用自己的私钥为摘要进行签名。验证节点p1和p2将分别将该请求处理结果与签名发送给共识系统;

步骤三:共识系统收集验证节点p1、p2对该加入请求执行结果与签名,使用公钥验证签名正确,以确定请求处理结果的合法性,假设两个请求处理结果均通过合法性验证。

步骤四:共识系统对请求处理结果进行共识,判断同意新参与方加入的请求处理结果是否满足预先设置的规则,即是否有2个及以上验证节点同意该请求,当处理结果满足规则时,令参与方p4退出,删除该参与方信息,同时告知参与方p4结果。

对于参与方监控的场景,在图3所示网络结构为例,其具体过程如下:

步骤一:假设验证节点p1发现参与方p4存在异常,向所有验证节点p1,p2发送参与方p4异常消息。

步骤二:验证节点p1,p2收到参与方p4异常消息,验证节点p1和p2分别对该异常参与方p4进行异常状态判定,得到判定结果,假设验证节点p1判定参与方p4异常,而验证节点p2判定参与方p4正常,然后使用hash算法对请求与处理结果作摘要计算,并使用自己的私钥为摘要进行签名。验证节点p1和p2将分别将该判定结果与签名发送给共识系统;

步骤三:共识系统收集验证节点p1、p2对该判定结果与签名,使用公钥验证签名正确,以确定判定结果的合法性,假设两个判定结果均通过合法性验证。

步骤四:共识系统对判定结果进行共识,判断判定参与方p4异常的判定结果是否满足预先设置的规则,即是否有2个及以上验证节点判定参与方p4异常,而本实施例中仅有1个验证节点,因此不作任何操作。

对于网络管理规则修改场景,以图2所示的网络结构为例,其具体过程如下:

步骤一:假设验证节点p1生成修改网络管理规则请求,发送给区块链网络中所有验证节点p1和p2。

步骤二:验证节点p1,p2收到修改网络管理规则请求,验证节点p1和p2分别验证请求合法性并对该申请做出决策,假设验证节点p1同意修改,而验证节点p2不同意修改,然后使用hash算法对请求与处理结果作摘要计算,并使用自己的私钥为摘要进行签名。验证节点p1和p2将分别将该请求处理结果与签名发送给共识系统。

步骤三:共识系统收集验证节点p1、p2对该加入请求执行结果与签名,使用公钥验证签名正确,以确定请求处理结果的合法性,假设两个请求处理结果均通过合法性验证。

步骤四:共识系统对请求处理结果进行共识,判断同意网络管理规则修改的请求处理结果是否满足预先设置的规则,即是否有2个及以上验证节点同意该请求,而本实施例中只有1个验证节点同意,因此不满足,告知发起该请求的验证节点p1不同意修改。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。


技术特征:

1.一种基于多节点决策的区块链网络动态管理方法,其特征在于,包括以下步骤:

s1:根据初始的参与方搭建初始的区块链网络,在初始参与方中设置若干验证节点,由所有初始参与方一起构建得到共识系统;

s2:新参与方将加入申请发送给区块链网络中所有验证节点,验证节点在收到来自新参与方的加入请求后,验证该请求合法性并决定是否同意该请求;验证节点生成对该请求的处理结果并使用hash算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至共识系统;

共识系统收集各个验证节点对该新参与方的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意新参与方加入的请求处理结果是否满足预先设置的规则,如果满足,令新参与方加入,更新网络状态,添加新参与方信息,同时告知新参与方结果;如果不满足,告知新参与方不同意加入;

s3:当某个参与方需要退出区块链网络时,该参与方向网络中所有验证节点发送退出网络请求;各个验证节点在接收到来自该节点退网请求后,验证该请求合法性并同意该请求;验证节点生成对该请求的处理结果并使用hash算法对节点退出请求作摘要处理,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至给共识系统;

共识系统收集各个验证节点的请求处理结果,然后使用验证节点公钥验证判定结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意该参与方退出的请求处理结果是否满足预先设置的规则,如果满足,令该参与方退出,更新网络状态,删除该参与方信息,同时告知该参与方结果;如果不满足,继续收集其他节点的请求处理结果;

s4:在区块链网络运行过程中,各个验证节点对其他参与方进行监控,当某个验证节点发现某个参与方存在异常时,向所有验证节点发送参与方异常消息,验证节点在接收到参与方异常消息后对该异常参与方进行异常状态判定,得到判定结果;验证节点对判定结果使用hash算法作摘要处理,使用验证节点的私钥对摘要进行签名,并将判定结果与签名发送至给共识系统;

共识系统收集各个验证节点对该异常参与方的判定结果,然后使用验证节点公钥私钥验证判定结果的合法性,对通过合法性验证的判定结果进行判断,判断该参与方异常的判定结果是否满足预先设置的规则,如果满足,设置异常参与方信息为无效,更新网络状态,告知异常参与方结果;如果不满足,不作任何操作;

s5:当某个验证节点需要修改网络管理的相关规则,则生成修改网络管理规则请求,发送给区块链网络中所有验证节点,验证节点在收到网络管理规则请求后,验证该请求合法性并决定是否同意该请求;验证节点生成对该请求的处理结果并使用hash算法对该请求与处理结果计算摘要,使用验证节点的私钥对摘要进行签名,并将请求处理结果与签名发送至给共识系统;

共识系统收集各个验证节点对该修改网络管理规则请求的请求处理结果,然后使用验证节点公钥验证请求处理结果的合法性,对通过合法性验证的请求处理结果进行判断,判断同意网络管理规则修改的请求处理结果是否满足预先设置的规则,如果满足,修改网络管理规则,告知发起该请求的验证节点;如果不满足,告知发起该请求的验证节点不同意修改。

技术总结
本发明公开了一种基于多方决策的区块链网络动态管理方法,根据初始的参与方搭建初始的区块链网络,在初始参与方中设置若干验证节点,由所有初始参与方一起构建得到共识系统,当区块链网络存在变动请求时,由各验证节点对请求进行处理,再由共识系统对请求处理结果进行共识得到最终处理结果。本发明使区块链网络的管理交由所有参与方决策,共同维护网络正常运行。

技术研发人员:陈虹;周帅;丘志杰;孙燕
受保护的技术使用者:电子科技大学;电子科技大学广东电子信息工程研究院
技术研发日:2020.01.13
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55730.html

最新回复(0)