CN111464631B - 联盟区块链中的业务共识方法及装置 - Google Patents
联盟区块链中的业务共识方法及装置 Download PDFInfo
- Publication number
- CN111464631B CN111464631B CN202010244740.5A CN202010244740A CN111464631B CN 111464631 B CN111464631 B CN 111464631B CN 202010244740 A CN202010244740 A CN 202010244740A CN 111464631 B CN111464631 B CN 111464631B
- Authority
- CN
- China
- Prior art keywords
- node
- voting
- transaction
- domain
- result
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- 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)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种联盟区块链中的业务共识方法及装置,对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;根据每个节点域的投票结果,确定所述交易的共识结果;根据所述共识结果,更新所述交易的状态信息。通过节点域代替节点进行投票,可以减少等待节点的时间,提升节点效率和利用率,提升区块链网络效率。
Description
技术领域
本发明涉及区块链技术领域,特别是涉及一种联盟区块链中的业务共识方法及装置。
背景技术
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是遗传使用密码方法相关联产生的数据块,每一个数据块中包含了一个批次的网络交易信息,用于验证其信息的有效性和生成下一个区块。
区块链的共识机制具有“少数服从多数”以及“平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。但是,现有区块链是以节点为基本单元的去中心化账本,节点是共识的最小单元,以节点为基础单元的去中心化账本,必然将导致“节点竞争”。例如,工作量证明过程中节点会争取自己有更多的算力,节点会争取自己有更多的节点数量。在联盟链中,节点竞争是不必要的,使得赋予节点的权利较大会造成节点的效率和利用性较差。
发明内容
针对于上述问题,本发明提供一种联盟区块链中的业务共识方法及装置,实现了提升节点效率和利用性,提升区块链网络效率的目的。
为了实现上述目的,本发明提供了如下技术方案:
一种联盟区块链中的业务共识方法,所述方法包括:
对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;
响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;
根据每个节点域的投票结果,确定所述交易的共识结果;
根据所述共识结果,更新所述交易的状态信息。
可选地,所述响应于接收到交易,利用获得的节点域信息对所述交易进行投票,包括:
通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
可选地,所述获取到所述交易的发起节点对应的节点域信息,确定目标节点域,包括:
若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
可选地,所述根据每个节点域的投票结果,确定所述交易的共识结果,包括:
获取所有所述节点域的投票结果;
依据所述投票结果对应的投票数量,对所述投票结果进行验证;
若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
可选地,所述根据所述共识结果,更新所述交易的状态信息,包括:
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;
将所述投票节点域和投票时间信息,生成签名数据;
根据所述签名数据,更新所述交易的状态信息。
一种联盟区块链中的业务共识装置,所述装置包括:
初始化单元,用于对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;
投票单元,用于响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;
确定单元,用于根据每个节点域的投票结果,确定所述交易的共识结果;
更新单元,用于根据所述共识结果,更新所述交易的状态信息。
可选地,所述投票单元包括:
第一确定子单元,用于通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
第二确定子单元,用于获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
投票子单元,用于通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
可选地,所述第二确定子单元具体用于:
若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
可选地,所述确定单元包括:
第一获取子单元,用于获取所有所述节点域的投票结果;
验证子单元,用于依据所述投票结果对应的投票数量,对所述投票结果进行验证;
第三确定子单元,用于若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
可选地,所述更新单元具体用于:
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;
将所述投票节点域和投票时间信息,生成签名数据;
根据所述签名数据,更新所述交易的状态信息。
相较于现有技术,本发明提供了一种联盟区块链中的业务共识方法及装置,对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;根据每个节点域的投票结果,确定所述交易的共识结果;根据所述共识结果,更新所述交易的状态信息。通过节点域代替节点进行投票,可以减少等待节点的时间,提升节点效率和利用率,提升区块链网络效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种联盟区块链中的业务共识方法的流程示意图;
图2为本发明实施例提供的节点启动后部署示意图;
图3为本发明实施例提供的一种投票流程示意图。
图4为本发明实施例提供的一种联盟区块链中的业务共识装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了便于对本申请的技术特征进行描述,下面对本申请实施例中的术语进行解释。
节点域(简称为Domain)为多个Node节点组成的一个域,域是多个接口抽象出来的一个虚拟机构,在投票共识的时候,域下属的节点投票的作用可以代替整个域,节点域具备如下属性:
节点域标识(Domain Id):区块域网络域的唯一标识符,不允许同一个集群网络中出现多个相同的节点域标识;
节点域最大节点个数:节点域允许最大节点个数,当节点域下属的节点等于该最大节点个数时,其他的节点不能在申请加入到该节点域下了。
验证规则,即定制一种业务共识的策略,验证交易投票就是验证该交易的规则:
同步一票通过:节点A会自动为该交易提交同意票,交易广播到其他节点;
全票通过:节点A会向其他RS节点发起投票请求,其他节点域下所属的任意一个RS节点投票即可代表该节点域,节点A收到投票结果满足于该交易规则全票通过,节点A会继续广播该交易到其他节点,如其中某个节点认定该交易不可信可以对其投反对票,交易会被丢弃不会真正上链。
Node:特指交易在区块链网络中的唯一标识符。
BIZ:给节点配置的参与业务共识投票的公私钥对;
WAIT:交易业务共识完成后会更新为该状态,WAIT状态下的交易才会被打包出块。
参见图1,其示出了本申请实施例提供的一种联盟区块链中的业务共识方法,该方法可以包括以下步骤:
S101、对联盟链区块链网络集群节点进行初始化,获得节点域信息。
节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点。
联盟链网络集群节点初始化时,需要为每个节点指定该节点所属节点域(Domain域),创世块执行时会生成集群的初始Domain域。例如,集群初始化5个节点(NodeA,NodeB,NodeC,NodeD,NodeE),划分3个Domain域(Domain1,Domain2,Domain3);节点A,B,C,D,E中,节点A和B属于Domain1,节点C属于Domain2,节点D和节点E属于Domain3。集群初始化完成,网络集群状态正常,集群中的Domain可以参与交易业务共识,节点启动后部署图请参见图2所示。
S102、响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果。
当用户发送一笔交易后,该交易投票规则有一票同意和全票通过。利用投票规则为所有的节点域投票。例如,当节点NodeD收到用户交易时执行流程,检查当前交易的规则标识信息,根据该规则标识信息可以获取到节点域标识信息(如,Domain1,Domain2,Domain3),检查该交易对应的原则还需要哪些节点进行投票,向节点发起请求申请投票,如下节点申请投票,Domain1包括的节点A或B任意一个节点收到请求对其进行投票返回。(节点A,B其中一个的投票可以代表所属节点域Domain,代替按节点为单位投票共识)。
以节点NodeA处理过程为例,节点NodeA端收到了NodeE发起的投票请求,NodeA端用户通过投票页面,投票列表列出待投票的记录,用户端点击同意操作,投票操作请求发送到Node节点,节点首先会检查交易(TxId)是否存在需要投票的记录;如果当前投票的记录状态不等于初始化状态,则直接返回已经投过票;如果投票结果为支持,会对原投票交易签上名,使用当前节点配置的BIZ类型密钥为其签名;并设置上当前节点Domain Id;更新待投票的记录签名。以及投票结果;将投票结果反馈给投票发起人。参数包(txId,当前节点签名,反对还是支持)发送投票请求发起人NodeE。
又例如,节点NodeC处理过程为:节点NodeC端收到了NodeE发起的投票请求,NodeC端用户通过投票页面,投票列表列出待投票的记录,用户端点击同意操作,投票操作请求发送到Node节点,节点首先会检查交易TxId是否存在需要投票的记录;如果当前投票的记录状态不等于初始化状态,则直接返回已经投过票;如果投票结果为支持,会对原投票交易签上名,使用当前节点配置的BIZ类型密钥为其签名;并设置上当前节点DomainId;更新待投票的记录签名。以及投票结果;将投票结果反馈给投票发起人。参数包(TxId,当前节点签名,反对还是支持)发送投票请求发起人NodeE。
S103、根据每个节点域的投票结果,确定所述交易的共识结果。
获得各个节点域的投票结果后,根据各个节点域的投票结果,确定投票共识结果。
S104、根据所述共识结果,更新所述交易的状态信息。
根据共识结果确定交易信息是否可以上链,并且对交易信息进行状态更新。例如节点对交易进行分发,整个网络节点执行打包出块流程。
本发明提供了一种联盟区块链中的业务共识方法,对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;根据每个节点域的投票结果,确定所述交易的共识结果;根据所述共识结果,更新所述交易的状态信息。通过节点域代替节点进行投票,可以减少等待节点的时间,提升节点效率和利用率,提升区块链网络效率。
在本发明实施例中,所述响应于接收到交易,利用获得的节点域信息对所述交易进行投票,包括:
通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
其中,所述获取到所述交易的发起节点对应的节点域信息,确定目标节点域,包括:若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
联盟区块链上每个节点在预设时间间隔检测节点存在的需要投票交易,当节点NodeE收到NodeA和NodeC检索出需要投票处理的交易,获取该交易的投票原则,查询当前节点所有节点域(如,Domain1,Domain2,Domain3);节点检查该交易的发起者是否是自己,过滤掉自己节点所属Domain(如,NodeE节点所属Domain3),过滤需要投票的节点只有(Domain1,Domain2)获取所有节点;查询出当前链的所有节点(NodeA,NodeB,NodeC,NodeD,NodeE);从(NodeA,NodeB,NodeC,NodeD,NodeE)找出自己的节点信息,过滤后的本节点NodeE后为(NodeA,NodeB,NodeC,NodeD);查询出当前交易收到的所有投票结果见表1。
表1
对应的,在得到共识结果时需要获取所有所述节点域的投票结果;依据所述投票结果对应的投票数量,对所述投票结果进行验证;若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
具体的,判断该投票是否已完成:验证所有的投票记录,处理NodeA节点反馈的投票记录,NodeA,NodeB所属同为Domain1,累计Domain一票;NodeC所属为Domain2累加Domain一票(节点的一票代表Domain下所有节点投票操作,减少投票时常),累加投票数等于需要投票Domain数量;投票完成见表2。
表2
统计投票成功还是失败:累计投同意票数,同一个Domain下属的节点只能累计为一票;全票通过需要验证当同意票数等于Domain数量,投票结果为通过;一票通过时验证同意票数大于等于1,投票结果为通过;分配模式验证当验证数量等于0或者需要都的Domain数量也等于0则验证通过;投票赞成票的数量小于需要投票的Domain数量则验证失败;投票的Domain不包含投票原则中必须进行投票的节点域验证失败。
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;将所述投票节点域和投票时间信息,生成签名数据;根据所述签名数据,更新所述交易的状态信息。
NodeE更新投票结果到交易中;将所有投票的投票者,投票所属Domain,投票结果,投票时间追加到到交易的签名数据中;最为交易凭证;更新交易状态为等待(WAIT)状态,投票总流程参见图3。节点E执行交易分发,整个网络节点执行打包出块流程。
通过节点域的划分可以更加灵活的在区块链交易执行过程中添加更加贴近应用领域的共识模式;通过节点域涉及划分多个节点归属于一个节点域,一个节点投票代表整个节点域,可以减少等待全节点投票时间,提升区块链网络效率。
参见图4,在本发明实施例提供了一种联盟区块链中的业务共识装置,所述装置包括:
初始化单元10,用于对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;
投票单元20,用于响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;
确定单元30,用于根据每个节点域的投票结果,确定所述交易的共识结果;
更新单元40,用于根据所述共识结果,更新所述交易的状态信息。
在上述实施例的基础上,所述投票单元包括:
第一确定子单元,用于通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
第二确定子单元,用于获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
投票子单元,用于通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
在上述实施例的基础上,所述第二确定子单元具体用于:
若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
在上述实施例的基础上,所述确定单元包括:
第一获取子单元,用于获取所有所述节点域的投票结果;
验证子单元,用于依据所述投票结果对应的投票数量,对所述投票结果进行验证;
第三确定子单元,用于若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
在上述实施例的基础上,所述更新单元具体用于:
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;
将所述投票节点域和投票时间信息,生成签名数据;
根据所述签名数据,更新所述交易的状态信息。
本发明提供了一种联盟区块链中的业务共识装置,初始化单元对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;投票单元响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;确定单元根据每个节点域的投票结果,确定所述交易的共识结果;更新单元根据所述共识结果,更新所述交易的状态信息。通过节点域代替节点进行投票,可以减少等待节点的时间,提升节点效率和利用率,提升区块链网络效率。
本说明书中各个实施例实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种联盟区块链中的业务共识方法,其特征在于,所述方法包括:
对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;
响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;
根据每个节点域的投票结果,确定所述交易的共识结果;
根据所述共识结果,更新所述交易的状态信息;
其中,所述响应于接收到交易,利用获得的节点域信息对所述交易进行投票,包括:
通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
2.根据权利要求1所述的方法,其特征在于,所述获取到所述交易的发起节点对应的节点域信息,确定目标节点域,包括:
若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
3.根据权利要求1所述的方法,其特征在于,所述根据每个节点域的投票结果,确定所述交易的共识结果,包括:
获取所有所述节点域的投票结果;
依据所述投票结果对应的投票数量,对所述投票结果进行验证;
若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
4.根据权利要求1所述的方法,其特征在于,所述根据所述共识结果,更新所述交易的状态信息,包括:
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;
将所述投票节点域和投票时间信息,生成签名数据;
根据所述签名数据,更新所述交易的状态信息。
5.一种联盟区块链中的业务共识装置,其特征在于,所述装置包括:
初始化单元,用于对联盟区块链网络集群节点进行初始化,获得节点域信息,所述节点域信息包括所述联盟区块链网络集群节点的每个所属的节点域信息,每个所述节点域包括至少一个联盟区块链网络集群节点;
投票单元,用于响应于接收到交易,利用获得的节点域信息对所述交易进行投票,使得所述每个节点域中任意节点接收到该交易,对所述交易进行投票,得到投票结果,将所述投票结果作为所述节点域的投票结果;
确定单元,用于根据每个节点域的投票结果,确定所述交易的共识结果;
更新单元,用于根据所述共识结果,更新所述交易的状态信息;
其中,所述投票单元包括:
第一确定子单元,用于通过所述联盟区块链每个节点检测节点是否存在需要进行投票的交易,如果是,获取到该待投票的交易;
第二确定子单元,用于获取到所述交易的发起节点对应的节点域信息,确定目标节点域;
投票子单元,用于通过所述目标节点域对所述待投票的交易进行投票,得到投票信息。
6.根据权利要求5所述的装置,其特征在于,所述第二确定子单元具体用于:
若节点检测到所述交易的发起节点为自身节点,过滤到所述自身节点所在的节点域,得到目标节点域。
7.根据权利要求5所述的装置,其特征在于,所述确定单元包括:
第一获取子单元,用于获取所有所述节点域的投票结果;
验证子单元,用于依据所述投票结果对应的投票数量,对所述投票结果进行验证;
第三确定子单元,用于若验证通过,根据所述节点域的投票结果,确定所述交易的共识结果。
8.根据权利要求5所述的装置,其特征在于,所述更新单元具体用于:
根据所述共识结果,获取投票结果对应的投票节点域和投票时间信息;
将所述投票节点域和投票时间信息,生成签名数据;
根据所述签名数据,更新所述交易的状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244740.5A CN111464631B (zh) | 2020-03-31 | 2020-03-31 | 联盟区块链中的业务共识方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244740.5A CN111464631B (zh) | 2020-03-31 | 2020-03-31 | 联盟区块链中的业务共识方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464631A CN111464631A (zh) | 2020-07-28 |
CN111464631B true CN111464631B (zh) | 2023-03-28 |
Family
ID=71680146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010244740.5A Active CN111464631B (zh) | 2020-03-31 | 2020-03-31 | 联盟区块链中的业务共识方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464631B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988131B (zh) * | 2020-08-31 | 2021-05-04 | 广东技术师范大学 | 一种面向移动群智感知的区块链构建方法 |
CN112258184B (zh) * | 2020-10-28 | 2023-08-01 | 成都质数斯达克科技有限公司 | 冻结区块链网络的方法、装置、电子设备及可读存储介质 |
CN113300855B (zh) * | 2021-05-25 | 2022-05-03 | 浙江大学 | 基于可变策略的联盟链投票管理方法及*** |
CN114978553B (zh) * | 2022-06-30 | 2024-01-30 | 中国光大银行股份有限公司 | 一种联盟链密码算法切换方法、装置及联盟链*** |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
WO2019040886A1 (en) * | 2017-08-24 | 2019-02-28 | Alibaba Group Holding Limited | METHOD AND APPARATUS FOR SELECTING CONSENSUS NODE AND SERVER |
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109462587A (zh) * | 2018-11-09 | 2019-03-12 | 四川虹微技术有限公司 | 区块链分层共识方法、区块链网络***及区块链节点 |
CN109727132A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 区块链共识节点的获取方法、装置、电子设备及存储介质 |
CN109819003A (zh) * | 2017-11-22 | 2019-05-28 | 南京理工大学 | 一种区块链的分层共识方法和*** |
CN110110555A (zh) * | 2019-04-24 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种区块链中的投票方法及装置 |
KR20190100733A (ko) * | 2018-02-21 | 2019-08-29 | 이화여자대학교 산학협력단 | 그룹기반의 랜덤화 된 메시 블록체인 시스템 및 이의 무결성 확인 방법 |
CN110443713A (zh) * | 2019-09-06 | 2019-11-12 | 江门职业技术学院 | 一种针对区块链交易效率提升的方法及*** |
CN110445778A (zh) * | 2019-08-01 | 2019-11-12 | 中盾云链(广州)信息科技有限公司 | 一种应用于联盟链的共识算法 |
CN110517139A (zh) * | 2019-08-23 | 2019-11-29 | 电子科技大学 | 一种基于投票机制的联盟区块链分权共识方法 |
CN110912994A (zh) * | 2019-11-22 | 2020-03-24 | 中国联合网络通信集团有限公司 | 一种区块链共识方法及装置 |
-
2020
- 2020-03-31 CN CN202010244740.5A patent/CN111464631B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
WO2019040886A1 (en) * | 2017-08-24 | 2019-02-28 | Alibaba Group Holding Limited | METHOD AND APPARATUS FOR SELECTING CONSENSUS NODE AND SERVER |
CN109819003A (zh) * | 2017-11-22 | 2019-05-28 | 南京理工大学 | 一种区块链的分层共识方法和*** |
KR20190100733A (ko) * | 2018-02-21 | 2019-08-29 | 이화여자대학교 산학협력단 | 그룹기반의 랜덤화 된 메시 블록체인 시스템 및 이의 무결성 확인 방법 |
CN109447795A (zh) * | 2018-09-11 | 2019-03-08 | 中国人民解放军国防科技大学 | 一种支持快速达成最终确认性的拜占庭共识方法 |
CN109462587A (zh) * | 2018-11-09 | 2019-03-12 | 四川虹微技术有限公司 | 区块链分层共识方法、区块链网络***及区块链节点 |
CN109727132A (zh) * | 2018-12-28 | 2019-05-07 | 合肥达朴汇联科技有限公司 | 区块链共识节点的获取方法、装置、电子设备及存储介质 |
CN110110555A (zh) * | 2019-04-24 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种区块链中的投票方法及装置 |
CN110445778A (zh) * | 2019-08-01 | 2019-11-12 | 中盾云链(广州)信息科技有限公司 | 一种应用于联盟链的共识算法 |
CN110517139A (zh) * | 2019-08-23 | 2019-11-29 | 电子科技大学 | 一种基于投票机制的联盟区块链分权共识方法 |
CN110443713A (zh) * | 2019-09-06 | 2019-11-12 | 江门职业技术学院 | 一种针对区块链交易效率提升的方法及*** |
CN110912994A (zh) * | 2019-11-22 | 2020-03-24 | 中国联合网络通信集团有限公司 | 一种区块链共识方法及装置 |
Non-Patent Citations (4)
Title |
---|
"一种面向区块链的优化PBFT共识算法";方维维等;《北京交通大学学报》;20191230;全文 * |
"主从多链模型下的区块链共识性能研究";徐宇芹;《中国优秀硕士学位论文全文数据库》;20190115;全文 * |
"加密数字货币***共识机制综述";夏清等;《计算机***应用》;20170508;全文 * |
"基于区块链的共识机制研究";丁越;《中国优秀硕士学位论文全文数据库》;20200215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111464631A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464631B (zh) | 联盟区块链中的业务共识方法及装置 | |
CN110311958B (zh) | 一种区块链网络*** | |
CN110033244B (zh) | 基于区块链的智能合约执行方法及装置和电子设备 | |
CN113098907B (zh) | 一种区块链的群组划分方法与装置 | |
CN111654465A (zh) | 一种基于区块链的电力业务跨域可信认证***及方法 | |
CN112492006A (zh) | 一种基于区块链的节点管理方法和装置 | |
CN112422341B (zh) | 区块链网络的故障检测方法及相关设备 | |
CN111338906B (zh) | 终端设备、边缘节点及基于区块链的应用监管方法和*** | |
CN112583858A (zh) | 一种基于区块链pbft算法的统一身份鉴权方法 | |
CN111582845A (zh) | 区块链的跨链交易方法、装置以及电子设备 | |
CN111416709A (zh) | 基于区块链***的投票方法、装置、设备及存储介质 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN112134967A (zh) | 一种基于共治链的域名解析方法及装置 | |
CN110162274B (zh) | 一种基于区块链的数据处理方法、装置及设备 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN112511312B (zh) | 一种可组装的共识方法及*** | |
CN114978553B (zh) | 一种联盟链密码算法切换方法、装置及联盟链*** | |
CN109409899B (zh) | 一种交易验证方法、装置及*** | |
CN111683060A (zh) | 通信消息验证方法、装置及计算机存储介质 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN110808841A (zh) | 基于区块链网络的通信***及其通信方法 | |
CN114721749A (zh) | 基于区块链的投票表决方法、装置、存储介质及电子设备 | |
CN117061538A (zh) | 一种基于区块链网络的共识处理方法及相关装置 | |
CN111340481B (zh) | 基于多链区块链网络的数据处理方法、装置和设备 | |
CN115334088B (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 |