CN110992035A - 区块链节点管理方法、装置及系统 - Google Patents
区块链节点管理方法、装置及系统 Download PDFInfo
- Publication number
- CN110992035A CN110992035A CN201911289500.0A CN201911289500A CN110992035A CN 110992035 A CN110992035 A CN 110992035A CN 201911289500 A CN201911289500 A CN 201911289500A CN 110992035 A CN110992035 A CN 110992035A
- Authority
- CN
- China
- Prior art keywords
- transaction
- node
- revocation list
- certificate
- block 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例提供一种区块链节点管理方法、装置及系统,方法包括:从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的;接收区块链中其他交易节点发送的交易;判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易;本申请能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行。
Description
技术领域
本申请涉及区块链领域,具体涉及一种区块链节点管理方法、装置及系统。
背景技术
区块链网络由若干个节点组成,交易在各节点之间广播、共识、执行和记账,以执行各种业务逻辑。其中联盟链(联盟型区块链)是由若干家机构组成联盟搭建而成的区块链,只有经过许可的节点才能加入到区块链网络中。随着业务参与方的退出,需要对部份节点作退出处理,以防止已退出节点发送无效交易,影响整个区块链网络的运行。
目前联盟链中退出节点的方式一般有两种:
第一种为静态退出,这种方式需要把整个区块链网络中所有节点停止运行,重新配置各个节点的路由表,删除已退出节点的路由信息,再重新启动每个节点。这种方式因为需要停止区块链网络的运行,期间基于区块链智能合约的业务无法继续运作,带来很大的不便。
第二种为动态退出,需要对所有存在于区块链网络中的节点作接口调用,分别修改每个节点的路由表,删除已退出节点的路由信息。每个节点删除已退出节点的路由信息这个操作,会存在时间差,在该时间差内如果已退出节点发起交易,可能会造成不同的节点对该个交易做出不同的反应,从而使执行结果不同,最终使区块链网络出现分叉。
因此,亟需一种在不停止正常业务运行,和保证所有节点处理结果一致的情况下,注销区块链网络中的某个节点的方法。
发明内容
针对现有技术中的问题,本申请提供一种区块链节点管理方法、装置及系统,能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种区块链节点管理方法,包括:
从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的;
接收区块链中其他交易节点发送的交易;
判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
进一步地,在所述判断所述节点作废列表中是否包含有所述交易的节点唯一标识之前,还包括:
根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
进一步地,在所述判定所述交易中的交易证书具备合法性之后,还包括:
根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
进一步地,在所述执行所述交易之前,还包括:
将所述交易存储至本地合法交易列表;
向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识;
接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文;
接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
进一步地,在所述从区块链中的成员管理节点获取节点作废列表之后,还包括:
根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
进一步地,所述执行所述交易包括:
按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
第二方面,本申请提供一种区块链节点管理方法,包括:
接收节点作废名单并生成节点作废列表;
接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
进一步地,在所述接收区块链中的交易节点发送的节点作废列表获取请求之前,还包括:
根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
进一步地,在所述接收节点作废名单并生成节点作废列表之后,还包括:
根据根证书私钥对所述节点作废列表进行签名加密。
第三方面,本申请提供一种区块链节点管理装置,包括:
列表获取模块,用于从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的;
交易接收模块,用于接收区块链中其他交易节点发送的交易;
交易判定模块,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
进一步地,还包括:
交易证书验证单元,用于根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
进一步地,还包括:
交易验签单元,用于根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
进一步地,还包括:
交易存储单元,用于将所述交易存储至本地合法交易列表;
第一共识单元,用于向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识;
第二共识单元,用于接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文;
第三共识单元,用于接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
进一步地,还包括:
列表验签单元,用于根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
进一步地,所述交易判定模块包括:
交易执行单元,用于按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
第四方面,本申请提供一种区块链节点管理装置,包括:
列表生成模块,用于接收节点作废名单并生成节点作废列表;
列表下发模块,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
进一步地,还包括:
交易证书签发单元,用于根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
进一步地,还包括:
列表签名加密单元,用于根据根证书私钥对所述节点作废列表进行签名加密。
第五方面,本申请提供一种区块链节点管理系统,包括:交易节点和成员管理节点,所述交易节点和所述成员管理节点连接;
所述交易节点包括:
列表获取模块,用于从区块链中的成员管理节点获取节点作废列表;
交易接收模块,用于接收区块链中其他交易节点发送的交易;
交易判定模块,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易;
所述成员管理节点包括:
列表生成模块,用于接收节点作废名单并生成节点作废列表;
列表下发模块,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表。
第六方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链节点管理方法的步骤。
第七方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的区块链节点管理方法的步骤。
由上述技术方案可知,本申请提供一种区块链节点管理方法、装置及系统,通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的区块链节点管理方法的流程示意图之一;
图2为本申请实施例中的区块链节点管理方法的流程示意图之二;
图3为本申请实施例中的区块链节点管理方法的流程示意图之三;
图4为本申请实施例中的区块链节点管理装置的结构图之一;
图5为本申请实施例中的区块链节点管理装置的结构图之二;
图6为本申请实施例中的区块链节点管理装置的结构图之三;
图7为本申请实施例中所述区块链的结构示意图;
图8为本申请实施例中所述成员管理节点的结构图;
图9为本申请实施例中所述交易节点的结构图;
图10为本申请实施例中一种生成联盟链根证书和交易证书的流程示意图;
图11为本申请实施例中一种动态退出节点的联盟链的执行交易的流程示意图;
图12为本申请实施例中一种同步节点作废列表的流程示意图;
图13为本申请实施例中一种区块链PBFT算法在预准备阶段的处理流程示意图;
图14为本申请实施例中一种区块链PBFT算法在准备阶段的处理流程示意图;
图15为本申请实施例中一种区块链PBFT算法在提交阶段的处理流程示意图;
图16为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中区块链(尤其是联盟链)中退出节点的方式一般有两种:第一种为静态退出,这种方式需要把整个区块链网络中所有节点停止运行,重新配置各个节点的路由表,删除已退出节点的路由信息,再重新启动每个节点。这种方式因为需要停止区块链网络的运行,期间基于区块链智能合约的业务无法继续运作,带来很大的不便;第二种为动态退出,需要对所有存在于区块链网络中的节点作接口调用,分别修改每个节点的路由表,删除已退出节点的路由信息。每个节点删除已退出节点的路由信息这个操作,会存在时间差,在该时间差内如果已退出节点发起交易,可能会造成不同的节点对该个交易做出不同的反应,从而使执行结果不同,最终使区块链网络出现分叉;本申请提供一种区块链节点管理方法、装置及系统,通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
为了能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行,本申请提供一种区块链节点管理方法的实施例,执行主体为区块链中的任意一个交易节点,参见图1,所述区块链节点管理方法具体包含有如下内容:
步骤S101:从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的。
可以理解的是,参见图7,所述“成员管理节点1”为一台服务器或多台相互备份的服务器,通过为多个交易节点签发交易证书进行身份认证和准入校验,为整个区块链网络提供成员管理服务。交易证书用于表明该交易发起者为经过成员管理节点认证的节点,为可信节点。所有联盟链节点通过校验交易中的签名和交易证书,判断交易的合法性。
可选地,所述成员管理节点还维护节点作废列表,可以对节点作废列表进行新增、删除操作。节点作废列表包含所有已退出节点的节点唯一标识。
步骤S102:接收区块链中其他交易节点发送的交易。
可以理解的是,所述“交易节点2”是指联盟链中对交易进行接收、广播、共识、执行和存储的网络节点,一般是各联盟链成员的可信服务器、工作站等,所有交易节点会相互之间建立P2P(Peer to Peer,点对点)网络连接,负责把用户的请求封装成交易再广播到其他交易节点,或者根据联盟链共识算法的规则对其他交易节点广播的交易进行共识,对于共识通过的交易会进行智能合约处理,最后根据处理的结果生成区块并进行持久化保存。
步骤S103:判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
可选地,联盟链中的每个交易节点会校验交易中的交易证书和签名,如果校验通过则继续进行交易发送者的校验,否则拒绝执行该交易。关于交易发送者的校验,对于每笔交易,交易节点会根据交易的交易证书中的节点唯一标识检索本地的节点作废列表,如果检索得到即为校验不通过,如果检索不到即为校验通过。
可选地,对于校验通过的交易,交易节点会把该交易的交易唯一标识记入合法交易列表,对于校验不通过的交易,交易节点会拒绝该交易。所有交易节点2共同使用PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)算法对交易进行共识。在共识过程中,只有当交易的交易唯一标识存在于合法交易列表时,交易节点2才会应答共识报文。对于每个交易,交易节点只有在共识的提交阶段,收到关于该交易的数量至少为共识通过所需认可节点数的提交共识报文,才把该交易判断为共识通过。对于共识通过的交易,交易节点才会进行执行处理。交易节点会每隔一段时间向成员管理节点请求节点作废列表,并更新本地的节点作废列表。
从上述描述可知,本申请实施例提供的区块链节点管理方法,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
为了能够使用本地根证书验证交易中的交易证书的合法性,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
为了能够使用交易证书中的交易证书公钥,对交易进行验签,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
可以理解的是,交易节点收到其他交易节点发送的交易后,可以首先使用存储在本地的根证书,验证所述交易中的交易证书的合法性,验证不通过则拒绝该交易,验证通过则使用交易中的交易证书里的交易证书公钥,对所述交易进行验签,验签不通过则拒绝该交易,验签通过则继续后续步骤。
为了能够合理存入合法交易列表,进行共识判定,在本申请的区块链节点管理方法的一实施例中,参见图2,还可以具体包含有如下内容:
步骤S201:将所述交易存储至本地合法交易列表。
步骤S202:向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识。
步骤S203:接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文;
步骤S204:接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
可以理解的是,所有交易节点使用PBFT(Practical Byzantine FaultTolerance,实用拜占庭容错)算法对交易进行三阶段的共识。在共识过程中,只有当交易的交易唯一标识存在于合法交易列表时,交易节点的共识模块才会应答共识报文。对于每个交易,共识模块只有在共识的提交阶段,收到关于该交易的数量至少为共识通过所需认可节点数的提交共识报文,才把该交易判断为共识通过。
三阶段的PBFT共识分别为:预准备、准备、提交,在提交阶段,每个交易节点需要收到数量至少为共识通过所需认可节点数的共识报文应答,该交易才算共识通过。
例如,当区块链网络总节点数为N时,网络中允许存在的恶意节点数f和共识通过所需认可节点数q的计算方式为:
其中,函数floor()为取浮点数的整数下限,函数ceil()为取浮点数的整数上限。
对于共识不通过的交易,交易节点会丢弃该交易,对于共识通过的交易,交易节点会从合法交易列表中删除该交易的交易唯一标识,并继续执行后续步骤。
为了能够根据本地根证书公钥对节点作废列表进行验签,验签通过,则更新本地节点作废列表,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
为了能够有效的执行交易,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
为了能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行,本申请提供一种区块链节点管理方法的实施例,执行主体为区块链中的部署的成员管理节点,参见图3,所述区块链节点管理方法具体包含有如下内容:
步骤S301:接收节点作废名单并生成节点作废列表。
可以理解的是,所述成员管理节点可以接收联盟链管理员修改列表作废列表的请求,或其他交易节点发送的请求,以根据请求的内容,对节点作废列表进行新增或删除操作。
步骤S302:接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
从上述描述可知,本申请实施例提供的区块链节点管理方法,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
为了能够签发交易证书,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
为了对节点作废列表签名,在本申请的区块链节点管理方法的一实施例中,还可以具体包含有如下内容:
根据根证书私钥对所述节点作废列表进行签名加密。
为了能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行,本申请提供一种用于实现所述区块链节点管理方法的全部或部分内容的区块链节点管理装置的实施例,参见图4,所述区块链节点管理装置具体包含有如下内容:
列表获取模块10,用于从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的。
交易接收模块20,用于接收区块链中其他交易节点发送的交易。
交易判定模块30,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
从上述描述可知,本申请实施例提供的区块链节点管理装置,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
为了能够使用本地根证书验证交易中的交易证书的合法性,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
交易证书验证单元,用于根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
为了能够使用交易证书中的交易证书公钥,对交易进行验签,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
交易验签单元,用于根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
为了能够合理存入合法交易列表,进行共识判定,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
交易存储单元,用于将所述交易存储至本地合法交易列表。
第一共识单元,用于向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识。
第二共识单元,用于接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文。
第三共识单元,用于接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
为了能够根据本地根证书公钥对节点作废列表进行验签,验签通过,则更新本地节点作废列表,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
列表验签单元,用于根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
为了能够有效的执行交易,在本申请的区块链节点管理装置的一实施例中,参见图5,所述交易判定模块30包括:
交易执行单元31,用于按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
为了能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行,本申请提供一种用于实现所述区块链节点管理方法的全部或部分内容的区块链节点管理装置的实施例,参见图6,所述区块链节点管理装置具体包含有如下内容:
列表生成模块40,用于接收节点作废名单并生成节点作废列表。
列表下发模块50,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
从上述描述可知,本申请实施例提供的区块链节点管理装置,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
为了能够签发交易证书,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
交易证书签发单元,用于根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
为了对节点作废列表签名,在本申请的区块链节点管理装置的一实施例中,还具体包含有如下内容:
列表签名加密单元,用于根据根证书私钥对所述节点作废列表进行签名加密。
为了能够加强在联盟链中节点维护的安全管理,保证整个区块链网络的安全运行,本申请提供一种区块链节点管理系统的实施例,所述区块链节点管理系统具体包含有如下内容:
交易节点和成员管理节点,所述交易节点和所述成员管理节点连接;
所述交易节点包括:
列表获取模块,用于从区块链中的成员管理节点获取节点作废列表;
交易接收模块,用于接收区块链中其他交易节点发送的交易;
交易判定模块,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易;
所述成员管理节点包括:
列表生成模块,用于接收节点作废名单并生成节点作废列表;
列表下发模块,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表。
为了更进一步说明本方案,本申请还提供一种应用上述区块链节点管理装置实现区块链节点管理方法的具体应用实例,具体包含有如下内容:
参见图8,一种成员管理节点的结构图,所述“成员管理节点1”包含:通讯模块11、证书模块12、密码模块13、节点管理模块14。
所述“通讯模块11”负责与各个交易节点2建立RPC(Remote Procedure Call,远程过程调用)网络连接,接收交易节点2的请求,并进行应答。通讯模块11还负责接收联盟链管理员修改列表作废列表的请求,转交给节点管理模块14进行后续处理。
所述“证书模块12”通过调用密码模块13的接口,生成自签名的根证书,以及为各个交易节点2签发交易证书。
所述“密码模块13”属于技术支撑模块,为证书模块12生成证书提供密码算法支持。签名算法可以使用ECDSA或者SM2。
所述“节点管理模块14”负责维护节点作废列表,可以对节点作废列表进行新增、删除操作。节点作废列表包含所有已退出节点的节点唯一标识。
参见图9,一种交易节点的结构图,所述“交易节点2”包含:通讯模块21、证书模块22、密码模块23、节点校验模块24、共识模块25、执行模块26、存储模块27。
所述“通讯模块21”负责接收用户发送给本交易节点2的请求,以此生成交易,并通过与其他交易节点2建立P2P网络连接把交易广播到其他交易节点2,同时接收其他交易节点2广播的交易并进行后续处理。本交易节点2生成的交易被交由密码模块23进行签名,接收到的其他交易节点2的交易被交由密码模块23进行验证。
所述“证书模块22”负责生成本交易节点2的交易证书公私钥对,并存储和管理根证书、本节点的交易证书和对应的公私钥对。
所述“密码模块23”属于技术支撑模块,为证书模块22生成公私钥对提供密码算法支持,也可以为交易提供签名和验证的功能。签名算法可以使用ECDSA或者SM2。
所述“节点校验模块24”负责维护本节点的节点作废列表和合法交易列表。本交易节点2每隔一段时间向成员管理节点请求节点作废列表,并更新本地的节点作废列表。对于每笔交易,节点校验模块24会根据交易的交易证书中的节点唯一标识检索本地的节点作废列表,如果检索得到即为校验不通过,如果检索不到即为校验通过。对于校验通过的交易,节点校验模块24会把该交易的交易唯一标识记入合法交易列表,对于校验不通过的交易,节点校验模块24会拒绝该交易。
所述“共识模块25”是交易共识处理的逻辑装置。所有交易节点2共同使用PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)算法对交易进行三阶段的共识。在共识过程中,只有当交易的交易唯一标识存在于合法交易列表时,共识模块25才会应答共识报文。对于每个交易,共识模块25只有在共识的提交阶段,收到关于该交易的数量至少为共识通过所需认可节点数的提交共识报文,才把该交易判断为共识通过。
三阶段的PBFT共识分别为:预准备、准备、提交,在提交阶段,每个交易节点2需要收到数量至少为共识通过所需认可节点数的共识报文应答,该交易才算共识通过。
当区块链网络总节点数为N时,网络中允许存在的恶意节点数f和共识通过所需认可节点数q的计算方式为:
其中函数floor()为取浮点数的整数下限,函数ceil()为取浮点数的整数上限。
对于共识通过的交易,会从合法交易列表中删除该交易的交易唯一标识,并交由执行模块26进行后续处理。
所述“执行模块26”负责执行交易中指定的智能合约,把智能合约执行结果交由存储模块27进行后续处理。
所述“存储模块27”是持久化交易执行结果的数据存储装置,负责根据交易执行结果,组装成区块,记录到区块链账本上。
参见图10,一种生成联盟链根证书和交易证书的方法,包括成员管理节点1的初始化,以及每个交易节点2生成交易证书和对应的公私钥对,处理步骤如下:
步骤S1001:成员管理节点1的证书模块12,通过调用密码模块13的接口,根据椭圆曲线算法(ECDSA或SM2)生成根证书公私钥对。
步骤S1002:成员管理节点1的证书模块12,通过调用密码模块13的接口,使用根证书私钥对根证书公钥进行自签名,生成根证书。
步骤S1003:交易节点2的证书模块22,通过调用密码模块23的接口,根据椭圆曲线算法(ECDSA或SM2)生成交易证书公私钥对。
步骤S1004:交易节点2所属机构,把交易证书公钥,通过安全的渠道(邮件或者线下拷贝等方式),提交给成员管理节点1。
步骤S1005:成员管理节点1的证书模块12,通过调用密码模块13的接口,使用根证书私钥,根据该交易节点2的节点唯一标识,以及交易证书公钥,签发交易证书。交易证书中指定了证书拥有者的节点唯一标识。
步骤S1006:成员管理节点1的通讯模块11,把根证书和交易证书,返回给对应的交易节点2。
步骤S1007:交易节点2的证书模块22,存储和管理根证书、本节点的交易证书和对应的公私钥对。
参见图11,一种动态退出节点的联盟链的执行交易的方法,交易的执行流程,处理步骤如下:
步骤S2001:交易节点2的通讯模块21,接收到来自客户端的交易请求后,生成交易唯一标识,以此生成交易(包含交易唯一标识),通过调用密码模块23的接口,使用交易证书私钥,对交易进行签名,并在交易附上交易证书。
步骤S2002:交易节点2的通讯模块21,把交易广播到区块链网络中的其他交易节点2。
步骤S2003:其他交易节点2的通讯模块21,收到交易后,使用根证书,验证交易中的交易证书的合法性,验证不通过则拒绝该交易,验证通过则使用交易中的交易证书里的交易证书公钥,对交易进行验签,验签不通过则拒绝该交易,验签通过则继续以下步骤。
步骤S2004:其他交易节点2的节点校验模块24,根据交易的交易证书中的节点唯一标识检索本地的节点作废列表,如果检索得到即为校验不通过,如果检索不到即为校验通过。对于校验通过的交易,节点校验模块24会把该交易的交易唯一标识记入合法交易列表,对于校验不通过的交易,节点校验模块24会拒绝该交易。
步骤S2005:所有交易节点2的共识模块25,使用PBFT(Practical ByzantineFault Tolerance,实用拜占庭容错)算法对交易进行三阶段的共识。在共识过程中,只有当交易的交易唯一标识存在于合法交易列表时,共识模块25才会应答共识报文。对于每个交易,共识模块25只有在共识的提交阶段,收到关于该交易的数量至少为共识通过所需认可节点数的提交共识报文,才把该交易判断为共识通过。
三阶段的PBFT共识分别为:预准备、准备、提交,在提交阶段,每个交易节点2需要收到数量至少为共识通过所需认可节点数的共识报文应答,该交易才算共识通过。
当区块链网络总节点数为N时,网络中允许存在的恶意节点数f和共识通过所需认可节点数q的计算方式为:
其中函数floor()为取浮点数的整数下限,函数ceil()为取浮点数的整数上限。
对于共识不通过的交易,交易节点2会丢弃该交易,对于共识通过的交易,交易节点2会从合法交易列表中删除该交易的交易唯一标识,并继续执行以下步骤。
步骤S2006:所有交易节点2的执行模块26,把区块中的交易按顺序执行交易中指定的智能合约。
步骤S2007:所有交易节点2的存储模块27,持久化存储交易执行的结果。
参见图12,一种同步节点作废列表的方法,处理步骤如下:
步骤S4001:所有交易节点2的通讯模块21,每隔固定时间,向成员管理节点发起请求。
步骤S4002:成员管理节点1的节点管理模块14,通过调用密码模块13的接口,使用根证书私钥,对节点作废列表进行签名。
步骤S4003:成员管理节点1的通讯模块11,把节点作废列表和对应的签名,返回给交易节点2。
步骤S4004:交易节点2的证书模块22,通过调用密码模块23的接口,使用根证书中的根证书公钥,对成员管理节点1返回的节点作废列表和签名,进行验签,验签不通过则拒绝更新,验签通过则继续以下步骤。
步骤S4005:交易节点2的节点校验模块24,根据成员管理节点1返回的节点作废列表,更新本地的节点作废列表。
参见图13,一种区块链PBFT算法在预准备阶段的方法,步骤如下:
步骤S5001:交易节点2(主节点)向其他交易节点2(备份节点)广播预准备共识报文,报文中会包含交易体。
步骤S5002:每个交易节点2(备份节点)收到预准备共识报文后,根据报文中的交易唯一标识,在本节点的合法交易列表中检索,如果检索失败则丢弃该报文,如果检索成功则继续以下步骤。
步骤S5003:每个交易节点2(备份节点)向所有交易节点2——包括本节点,广播准备共识报文,报文中会包含交易唯一标识。
参见图14,一种区块链PBFT算法在准备阶段的方法,步骤如下:
步骤S6001:每个交易节点2接收来自所有交易节点2(备份节点)的准备共识报文。
步骤S6002:每个交易节点2根据报文中的交易唯一标识,在本节点的合法交易列表中检索,如果检索失败则丢弃该报文,如果检索成功则继续以下步骤。
步骤S6003:每个交易节点2以交易唯一标识区分,累计每个交易收到并校验通过的准备共识报文,计算是否满足以下关系:
收到并校验通过的准备共识报文的数量>=共识通过所需认可节点数-1
当某个交易满足以上关系时,继续以下步骤:
步骤S6004:每个交易节点2向所有交易节点2——包括本节点,广播提交共识报文,报文中会包含交易唯一标识。
参见图15,一种区块链PBFT算法在提交阶段的方法,步骤如下:
步骤S7001:每个交易节点2接收来自所有交易节点2的提交共识报文。
步骤S7002:每个交易节点2以交易唯一标识区分,累计每个交易收到的提交共识报文,计算是否满足以下关系:
收到的提交共识报文的数量>=共识通过所需认可节点数;
当某个交易满足以上关系时,认为该交易共识通过。
由上述描述可知,本申请至少还可以实现如下技术效果:
1、通过部署成员管理节点来签署节点作废列表,防止已退出节点发送无效交易,保证整个区块链网络的安全运行。
2、通过交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,使得在不停止区块链网络正常业务运行的情况下,动态注销某个节点,具有较高的灵活性。
3、通过在共识过程中增加间接检索节点作废列表的步骤,保证所有交易节点对包含已退出节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
因此,本发明加强在联盟链中节点维护的安全管理,对促进联盟链技术的发展具有很大意义。
本申请的实施例还提供能够实现上述实施例中的区块链节点管理方法中全部步骤的一种电子设备的具体实施方式,参见图16,所述电子设备具体包括如下内容:
处理器(processor)601、存储器(memory)602、通信接口(CommunicationsInterface)603和总线604;
其中,所述处理器601、存储器602、通信接口603通过所述总线604完成相互间的通信;所述通信接口603用于实现区块链节点管理装置、在线业务系统、客户端设备以及其他参与机构之间的信息传输;
所述处理器601用于调用所述存储器602中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的区块链节点管理方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的。
步骤S102:接收区块链中其他交易节点发送的交易。
步骤S103:判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
从上述描述可知,本申请实施例提供的电子设备,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
本申请的实施例还提供能够实现上述实施例中的区块链节点管理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的区块链节点管理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的。
步骤S102:接收区块链中其他交易节点发送的交易。
步骤S103:判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够通过部署成员管理节点来签署节点作废列表,和交易节点向成员管理节点请求节点作废列表的方式,让每个交易节点准实时同步节点作废列表,并核对每个交易的发送者是否在节点作废列表中,能够在不停止区块链网络正常业务运行的情况下,动态注销某个交易节点,防止已退出的交易节点发送无效交易,保证整个区块链网络的安全运行,且还使所有交易节点对包含已退出交易节点发送的交易在内的所有交易的处理结果保持一致,避免区块链网络出现大量分叉的情况,降低了区块链网络的维护成本。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (21)
1.一种区块链节点管理方法,其特征在于,所述方法包括:
从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的;
接收区块链中其他交易节点发送的交易;
判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
2.根据权利要求1所述的区块链节点管理方法,其特征在于,在所述判断所述节点作废列表中是否包含有所述交易的节点唯一标识之前,还包括:
根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
3.根据权利要求2所述的区块链节点管理方法,其特征在于,在所述判定所述交易中的交易证书具备合法性之后,还包括:
根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
4.根据权利要求1所述的区块链节点管理方法,其特征在于,在所述执行所述交易之前,还包括:
将所述交易存储至本地合法交易列表;
向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识;
接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文;
接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
5.根据权利要求1所述的区块链节点管理方法,其特征在于,在所述从区块链中的成员管理节点获取节点作废列表之后,还包括:
根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
6.根据权利要求1所述的区块链节点管理方法,其特征在于,所述执行所述交易包括:
按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
7.一种区块链节点管理方法,其特征在于,所述方法包括:
接收节点作废名单并生成节点作废列表;
接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
8.根据权利要求7所述的区块链节点管理方法,其特征在于,在所述接收区块链中的交易节点发送的节点作废列表获取请求之前,还包括:
根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
9.根据权利要求7所述的区块链节点管理方法,其特征在于,在所述接收节点作废名单并生成节点作废列表之后,还包括:
根据根证书私钥对所述节点作废列表进行签名加密。
10.一种区块链节点管理装置,其特征在于,包括:
列表获取模块,用于从区块链中的成员管理节点获取节点作废列表,其中,所述节点作废列表为所述成员管理节点根据接收到的节点作废名单生成的;
交易接收模块,用于接收区块链中其他交易节点发送的交易;
交易判定模块,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易。
11.根据权利要求10所述的区块链节点管理装置,其特征在于,还包括:
交易证书验证单元,用于根据本地预存储的根证书对所述交易中的交易证书进行合法性验证,若验证结果为通过,则判定所述交易中的交易证书具备合法性,否则放弃执行所述交易。
12.根据权利要求11所述的区块链节点管理装置,其特征在于,还包括:
交易验签单元,用于根据所述交易证书中的交易证书公钥对所述交易进行验签,若验签结果为通过,则判定发送所述交易的交易节点具备合法性,否则放弃执行所述交易。
13.根据权利要求10所述的区块链节点管理装置,其特征在于,还包括:
交易存储单元,用于将所述交易存储至本地合法交易列表;
第一共识单元,用于向区块链广播预准备共识报文,其中,所述预准备共识报文中包含有所述交易的交易唯一标识,以使所述区块链中的其他交易节点在接收到所述预准备共识报文后,判断各自的本地合法交易列表中是否包含有所述交易唯一标识,若包含,则向所述区块链广播准备共识报文,其中,所述准备共识报文中包含有所述交易的交易唯一标识;
第二共识单元,用于接收所述区块链中其他交易节点发送的准备共识报文,并在接收到的所述准备共识报文超过预设第一阈值时,向所述区块链广播提交共识报文;
第三共识单元,用于接收所述区块链中其他交易节点发送的提交共识报文,并在接收到的所述提交共识报文超过预设第二阈值时,判定共识通过,否则放弃执行所述交易,其中所述区块链中的其他交易节点在接收到超过预设第一阈值数据的准备共识报文后,向所述区块链广播提交共识报文。
14.根据权利要求10所述的区块链节点管理装置,其特征在于,还包括:
列表验签单元,用于根据本地预存储的根证书公钥对所述节点作废列表进行验签,若验签通过,则更新本地的节点作废列表,否则放弃执行所述交易。
15.根据权利要求10所述的区块链节点管理装置,其特征在于,所述交易判定模块包括:
交易执行单元,用于按顺序执行所述交易中指定的智能合约,并持久化存储交易执行的结果。
16.一种区块链节点管理装置,其特征在于,包括:
列表生成模块,用于接收节点作废名单并生成节点作废列表;
列表下发模块,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表,以使所述交易节点在接收到区块链中其他交易节点发送的交易后,判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则所述交易节点放弃执行所述交易,否则所述交易节点执行所述交易。
17.根据权利要求16所述的区块链节点管理装置,其特征在于,还包括:
交易证书签发单元,用于根据各交易节点的节点唯一标识、交易证书公钥以及根证书私钥,生成各交易节点的交易证书,并向各交易节点发送对应的交易证书,以使各交易节点在接收到客户端发送的交易请求后,生成交易,并向区块链广播所述交易和所述交易证书。
18.根据权利要求16所述的区块链节点管理装置,其特征在于,还包括:
列表签名加密单元,用于根据根证书私钥对所述节点作废列表进行签名加密。
19.一种区块链节点管理系统,其特征在于,包括:交易节点和成员管理节点,所述交易节点和所述成员管理节点连接;
所述交易节点包括:
列表获取模块,用于从区块链中的成员管理节点获取节点作废列表;
交易接收模块,用于接收区块链中其他交易节点发送的交易;
交易判定模块,用于判断所述节点作废列表中是否包含有所述交易的节点唯一标识,若包含,则放弃执行所述交易,否则执行所述交易;
所述成员管理节点包括:
列表生成模块,用于接收节点作废名单并生成节点作废列表;
列表下发模块,用于接收区块链中的交易节点发送的节点作废列表获取请求,并向所述交易节点返回所述节点作废列表。
20.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一项所述的区块链节点管理方法的步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述的区块链节点管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911289500.0A CN110992035A (zh) | 2019-12-13 | 2019-12-13 | 区块链节点管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911289500.0A CN110992035A (zh) | 2019-12-13 | 2019-12-13 | 区块链节点管理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110992035A true CN110992035A (zh) | 2020-04-10 |
Family
ID=70094093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911289500.0A Pending CN110992035A (zh) | 2019-12-13 | 2019-12-13 | 区块链节点管理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110992035A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526160A (zh) * | 2020-05-26 | 2020-08-11 | 中国联合网络通信集团有限公司 | 保密信息的处理方法及服务器 |
CN111724164A (zh) * | 2020-06-19 | 2020-09-29 | 中国联合网络通信集团有限公司 | 一种防止重放攻击的方法和装置 |
CN112073413A (zh) * | 2020-09-08 | 2020-12-11 | 深圳市金蚁云供应链科技有限公司 | 在线化联盟链管理方法、装置、计算机设备及存储介质 |
CN112838930A (zh) * | 2021-01-25 | 2021-05-25 | 网易(杭州)网络有限公司 | 区块链交易的执行方法及装置、电子设备、存储介质 |
CN112950201A (zh) * | 2021-02-08 | 2021-06-11 | 深圳前海益链网络科技有限公司 | 一种应用于区块链系统的节点管理方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076763A1 (zh) * | 2016-10-27 | 2018-05-03 | 上海亿账通区块链科技有限公司 | 区块链上交易的方法、系统、电子装置及存储介质 |
CN108039948A (zh) * | 2017-12-05 | 2018-05-15 | 北京博晨技术有限公司 | 节点维护方法、装置及电子设备 |
CN108365993A (zh) * | 2018-03-09 | 2018-08-03 | 深圳前海微众银行股份有限公司 | 区块链节点动态变更方法、系统和计算机可读存储介质 |
CN109327528A (zh) * | 2018-10-31 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 一种基于区块链的节点管理方法和装置 |
CN110099067A (zh) * | 2019-05-14 | 2019-08-06 | 山大地纬软件股份有限公司 | 联盟区块链钱包节点通信许可系统及方法 |
CN110545286A (zh) * | 2019-09-18 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 加入联盟链、退出联盟链的方法及装置 |
-
2019
- 2019-12-13 CN CN201911289500.0A patent/CN110992035A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076763A1 (zh) * | 2016-10-27 | 2018-05-03 | 上海亿账通区块链科技有限公司 | 区块链上交易的方法、系统、电子装置及存储介质 |
CN108039948A (zh) * | 2017-12-05 | 2018-05-15 | 北京博晨技术有限公司 | 节点维护方法、装置及电子设备 |
CN108365993A (zh) * | 2018-03-09 | 2018-08-03 | 深圳前海微众银行股份有限公司 | 区块链节点动态变更方法、系统和计算机可读存储介质 |
CN109327528A (zh) * | 2018-10-31 | 2019-02-12 | 阿里巴巴集团控股有限公司 | 一种基于区块链的节点管理方法和装置 |
CN110099067A (zh) * | 2019-05-14 | 2019-08-06 | 山大地纬软件股份有限公司 | 联盟区块链钱包节点通信许可系统及方法 |
CN110545286A (zh) * | 2019-09-18 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 加入联盟链、退出联盟链的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526160A (zh) * | 2020-05-26 | 2020-08-11 | 中国联合网络通信集团有限公司 | 保密信息的处理方法及服务器 |
CN111724164A (zh) * | 2020-06-19 | 2020-09-29 | 中国联合网络通信集团有限公司 | 一种防止重放攻击的方法和装置 |
CN111724164B (zh) * | 2020-06-19 | 2023-07-14 | 中国联合网络通信集团有限公司 | 一种防止重放攻击的方法和装置 |
CN112073413A (zh) * | 2020-09-08 | 2020-12-11 | 深圳市金蚁云供应链科技有限公司 | 在线化联盟链管理方法、装置、计算机设备及存储介质 |
CN112838930A (zh) * | 2021-01-25 | 2021-05-25 | 网易(杭州)网络有限公司 | 区块链交易的执行方法及装置、电子设备、存储介质 |
CN112838930B (zh) * | 2021-01-25 | 2022-12-06 | 网易(杭州)网络有限公司 | 区块链交易的执行方法及装置、电子设备、存储介质 |
CN112950201A (zh) * | 2021-02-08 | 2021-06-11 | 深圳前海益链网络科技有限公司 | 一种应用于区块链系统的节点管理方法及相关装置 |
CN112950201B (zh) * | 2021-02-08 | 2023-10-27 | 深圳前海益链网络科技有限公司 | 一种应用于区块链系统的节点管理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
US11159526B2 (en) | System and method for decentralized-identifier authentication | |
US11651109B2 (en) | Permission management method, permission verification method, and related apparatus | |
CN110992035A (zh) | 区块链节点管理方法、装置及系统 | |
KR102566892B1 (ko) | 블록체인 합의 방법, 디바이스 및 시스템 | |
CN110958110B (zh) | 一种基于零知识证明的区块链隐私数据管理方法和系统 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111681003A (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
CN111275555B (zh) | 区块链交易处理方法、交易节点以及区块链系统 | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
Tate et al. | Multi-user dynamic proofs of data possession using trusted hardware | |
CN110930153B (zh) | 基于隐藏第三方账号的区块链隐私数据管理方法和系统 | |
CN113422733B (zh) | 区块链的业务处理方法、装置、计算机设备及存储介质 | |
CN112560072B (zh) | 基于区块链的密钥管理方法、装置、介质及设备 | |
CN113706313A (zh) | 基于区块链的融资方法、系统及计算机可读存储介质 | |
CN114528601B (zh) | 基于区块链数据的访问方法和装置、处理器及电子设备 | |
CN110910110B (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN116777631B (zh) | 基于区块链的交易上链方法及装置、设备、介质 | |
CN112950180A (zh) | 一种基于联盟链的通证方法、系统、电子设备及存储介质 | |
CN110276693B (zh) | 保险理赔方法及系统 | |
WO2023005500A1 (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN117221337A (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 |