CN111865595A - 一种区块链的共识方法及装置 - Google Patents
一种区块链的共识方法及装置 Download PDFInfo
- Publication number
- CN111865595A CN111865595A CN201910354446.7A CN201910354446A CN111865595A CN 111865595 A CN111865595 A CN 111865595A CN 201910354446 A CN201910354446 A CN 201910354446A CN 111865595 A CN111865595 A CN 111865595A
- Authority
- CN
- China
- Prior art keywords
- block
- consensus
- node
- nodes
- controlling
- 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.)
- Granted
Links
Images
Classifications
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/3825—Use of electronic signatures
-
- 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/3827—Use of message hashing
-
- 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
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种区块链的共识方法及装置,其中方法包括:控制随机记账节点对待确认业务进行记账并生成一级区块;其中,一级区块为已采用随机记账节点所对应的秘钥签名后的区块;控制随机记账节点将一级区块传递给共识节点集合中的N个共识节点,并控制N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块;控制目标共识节点将二级区块洪泛至共识节点集合中的所有共识节点,并控制N个共识节点对二级区块进行验证,并在检测到全部验证通过时,控制所有共识节点将二级区块洪泛至区块链网络内所有节点。本发明实施例提高了区块链网络的稳定性和健康性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链的共识方法及装置。
背景技术
区块链的共识算法用于保证数据的不可篡改和不可伪造性。共识算法主要通过共识节点完成网络内产生的事务或交易的验证、转发和共识,常见的公链共识算法有工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、授权股权证明(DelegatedProof of Stake,DPOS)和瑞波共识协议(Ripple Consensus Protocol,RCP)等。其中,如采用POW的比特币,其共识节点主要由挖矿节点或完全节点组成,另外一种公链形式则是需要大量的系统用户进行选举产生,且共识节点一般靠认为干预指定或产生。
以目前应用较为广泛的投票类共识算法DPOS为例,需要由社区选举的可信帐户来创建区块,用户根据自己持有的加密货币数量占总量的百分比来投票,绝大多数持股人并不会参与投票。但是,投票往往需要时间、精力以及技能;此外,共识节点的后劫持问题依然存在,劫持了曾经的共识节点后,攻击者可以签署模棱两可的事务交易,且每当新节点加入区块链网络时,新节点无法区分哪个签名是真实的,哪个签名是由被劫持的曾经的共识节点后来生成的,从而造成很大的安全风险。
综上所述,现有技术中的区块链存在安全风险较大的问题。
发明内容
本发明实施例提供一种区块链的共识方法及装置,以解决现有技术中区块链存在的安全风险较大的问题。
本发明实施例提供一种区块链的共识方法,所述共识方法包括:
当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;
控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;
控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
本发明实施例提供一种区块链的共识装置,所述共识装置包括:
第一控制模块,用于当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;
第二控制模块,用于控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;
第三控制模块,用于控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链的共识方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的区块链的共识方法的步骤。
本发明实施例提供的区块链的共识方法及装置,通过控制随机记账节点对待确认业务进行记账并生成一级区块时,采用随机记账节点所对应的秘钥进行签名,并控制共识节点集合中的N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块,实现了区块链上采用多节点签名的方式对所生成的区块进行签名,由多个共识节点对区块进行签名,并且多签名后的区块作为新区块加入区块链网络中,从而极大降低了共识节点被劫持后所带来的不利影响,提高了区块链网络的稳定性和健康性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中区块链的共识方法的步骤流程图;
图2为本发明实施例中区块链的共识装置的模块框图;
图3为本发明实施例中电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中区块链的共识方法的步骤流程图,该共识方法包括如下步骤:
步骤101:当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对待确认业务进行记账并生成一级区块。
在本步骤中,具体的,区块链内的多个节点可以以种子节点为聚合中心,聚合得到节点集合,即区块链内包括多个节点集合,且每个节点集合内包括多个以种子节点为聚合中心的节点;此外,种子节点可以通过授权得到。
此外,具体的,在检测到区块链网络内一节点集合中的节点产生待确认业务时,还需要所有共识节点均对待确认业务验证成功,才能够控制随机记账节点对该待确认业务进行记账并生成一级区块。其中,所有共识节点记录于当前周期内的共识节点集合中。当然,若存在共识节点对待确认业务验证不成功,则需要将该待确认业务进行丢弃处理。
此外,具体的,随机记账节点可以为共识节点集合中的任一共识节点。
另外,具体的,在控制随机记账节点对待确认业务进行记账并生成一级区块时,该一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块。
这样,在控制随机记账节点对待确认业务进行记账且生成一级区块的过程中,通过随机记账节点所对应的秘钥对区块进行签名,提高了所生成的一级区块的安全性。
其中,在控制随机记账节点对所述待确认业务进行记账并生成一级区块时,可以先控制所述随机记账节点对所述待确认业务进行记账,生成区块,然后通过哈希函数对所述区块进行哈希运算,得到数字摘要,最后将所述数字摘要和随机记账节点所对应的私钥共同作为秘钥对所述区块进行签名,得到所述一级区块。
在此需要说明的是,在将数字摘要和随机记账节点所对应的私钥共同作为秘钥时,可以采用数字摘要和随机记账节点所对应的私钥的运算值作为秘钥,该运算值可以为和值和差值等,在此不对将数字摘要和随机记账节点所对应的私钥共同作为秘钥的方式进行具体限定。
具体的,随机记账节点可以根据时间戳记录生成区块,并使用哈希函数对区块进行哈希运算得到数字摘要,进而通过数字摘要和随机记账节点所对应的私钥共同作为秘钥对区块进行签名,以保证区块在传递过程中的安全性。
步骤102:控制随机记账节点将一级区块传递给共识节点集合中的N个共识节点,并控制N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块。
在本步骤中,具体的,在得到一级区块之后,可以控制随机记账节点将一级区块传递给共识节点集合中的N个共识节点,并控制N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块;其中,N为大于1的正整数。这样,基于二级区块为采用多共识节点签名的方式进行签名得到,避免了有共识节点被劫持时,劫持者通过所劫持的共识节点签署事物交易,从而极大降低了共识节点被劫持后的不利影响,提高了区块链网络的稳定性和健康性。
具体的,N个共识节点可以为共识节点集合中的部分共识节点,例如当共识节点集合中的共识节点数量为100时,N的取值可以为50,从而减少签名的次数。
具体的,在此需要说明的是,控制随机记账节点在将一级区块传递给共识节点中的N个共识节点为,控制随机记账节点将一级区块传递给共识节点中的N个共识节点中的其中一个共识节点,然后按照传递顺序,控制一级区块在该N个共识节点中依次进行传递。
具体的,在控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块时,可以按照所述一级区块在所述N个共识节点之间的传递顺序,依次控制每个共识节点对所述一级区块进行验证;针对每个共识节点,在检测到该共识节点对所述一级区块验证成功时,控制该共识节点通过自身所对应的私钥对所述一级区块进行签名,直至所述传递顺序中最后一个共识节点在对所述一级区块验证成功时,通过自身所对应的私钥对所述一级区块进行签名,得到所述二级区块。
具体的,在此需要说明的是,每个共识节点对应有一个私钥,该私钥可以为数字摘要,还可以为其他形式的密码私钥,在此并不对私钥的具体内容和形式进行具体限定。
另外,在此还需要说明的是,N个共识节点可以为共识集合内的任意N个共识节点,而不限定为传递过程中的排序在前传递的N个共识节点,以提高区块的安全性。
下面对上述步骤进行说明。
假设N的值为5,即控制5个共识节点依次通过自身所对应的私钥对一级区块进行签名,此时假设一级区块在5个共识节点之间的传递顺序为从第一个共识节点依次到第五个共识节点,此时当传递到第一个共识节点时,控制第一个共识节点对该一级区块进行验证,并在检测到该第一个共识节点对一级区块验证成功时,则控制该第一个共识节点通过自身所对应的私钥对一级区块进行签名;然后,第一个共识节点将该一级区块传递给第二个共识节点,此时控制第二个共识节点对该一级区块进行验证,并在检测到该第二个共识节点对一级区块验证成功时,则控制该第二个共识节点通过自身所对应的私钥对一级区块进行签名;依次类推,直至第四个共识节点将该一级区块传递至第五个共识节点,此时控制第五个共识节点对该一级区块进行验证,并在检测到该第五个共识节点对一级区块验证成功时,则控制该第五个共识节点通过自身所对应的私钥对一级区块进行签名,得到二级区块。
这样,通过依次经过N个共识节点对一级区块进行验证签名,实现了由多个共识节点对区块内容验证后进行签名,降低了共识节点被劫持后造成的不利影响,提高了区块链网络的稳定性和健康性。
步骤103:控制目标共识节点将二级区块洪泛至共识节点集合中的所有共识节点,并控制N个共识节点对二级区块进行验证,并在检测到全部验证通过时,控制所有共识节点将二级区块洪泛至区块链网络内所有节点。
在本步骤中,具体的,目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
此外,本步骤可以控制目标共识节点将二级区块洪泛至共识节点集合中的所有共识节点,并进一步控制共识节点集合中的N个共识节点对二级区块进行验证,并在检测到全部验证通过时,控制所有共识节点将二级区块洪泛至区块链网络内所有节点。
具体的,在控制目标共识节点将二级区块洪泛至共识节点集合中的所有共识节点时,可以控制二级区块在所有共识节点之间依次传递,从而实现二级区块在共识节点集合中的洪泛;此外,当N个共识节点全部对二级区块验证通过时,可以控制所有共识节点将二级区块洪泛至区块链网络内所有节点,此时由于区块链网络中任一节点均连接有至少一个共识节点,且所有节点均位于相同或不同的节点集合中,因此针对每个共识节点,该共识节点可以将二级区块传递给相连接的节点,然后由节点完成在所在节点集合内的所有节点之间的洪泛,进而完成二级区块在区块链网络内所有节点中的洪泛。
这样,本实施例通过利用多共识节点共同签名的方式,由多个共识节点对区块内容验证后进行签名,且多签后的区块作为新区块加入至区块链网络,增加了新加入区块的安全性,降低了共识节点被劫持后的风险。
此外,在此需要说明的是,在控制随机记账节点对所述待确认业务进行记账并生成一级区块之前,还需要获取当前周期内的共识节点集合。
具体的,在获取当前周期内的共识节点集合时,可以获取所述区块链网络内每个节点所对应的区块生成统计信息,其中所述区块生成统计信息包括该节点所对应的区块生成数量以及该节点所对应的公钥;然后根据每个节点所对应的区块生成数量,将区块生成数量排序在前的多个节点确定为备选共识节点;最后利用上一周期内的共识节点对所述备选共识节点进行投票筛选,确定投票排序在前的M个备选共识节点,并将所述M个备选共识节点所组成的集合确定为当前周期内的共识节点集合。
具体的,每一个区块均有一个记账节点产生,且区块中需至少包括有产生该区块的公钥签名以及时间戳。此外,对于区块链网络中的任意节点,区块链的一致性原则要求该节点保存有全部区块链数据或至少在某个时间点后的所有区块,因此针对每个节点,可以维护一个区块生成统计信息,该区块生成统计信息包括该节点所对应的区块生成数量以及该节点所对应的公钥;当然,该区块生成统计信息随时间进行不断更新。
另外,具体的,可以定义一个时间段作为共识节点的任命周期,该共识节点任命周期包括多个记账周期。此外,在共识节点的上一周期结束前,本实施例可以根据每个节点所对应的区块生成数量,将区块生成数量排序在前的多个节点确定为备选共识节点,从而得到共识节点备选集合,此时基于区块链网络内的一致性特征,所有节点均可以得到相同的备选共识节点。
此外,具体的,在上一周期中,每个节点均拥有从备选共识节点中选择至少一个或多个节点作为共识节点的投票权,且每个节点可以将对当前周期的共识节点的投票结果向上一周期的共识节点进行广播,此时上一周期的共识节点则会产生一个由区块链完全节点或部分完成节点投票的结果,并可以利用上一周期内的共识节点对备选共识节点进行投票筛选,确定投票排序在前的M个备选共识节点,且将该M个备选共识节点所组成的集合确定为当前周期内的共识节点集合。当然,M为大于1的正整数。
这样,通过上述采用动态节点筛选和选举方式,选择出M个备选共识节点作为当前周期的共识节点,实现了每个周期中的共识节点的差异性,提高了共识机制的弹性,降低了共识节点被劫持后可能造成的安全风险。
本实施例提供的区块链的共识方法,通过控制随机记账节点对待确认业务进行记账并生成一级区块时,采用随机记账节点所对应的秘钥进行签名,并控制共识节点集合中的N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块,实现了区块链上采用多节点签名的方式对所生成的区块进行签名,由多个共识节点对区块进行签名,并且多签名后的区块作为新区块加入区块链网络中,从而极大降低了共识节点被劫持后所带来的不利影响,提高了区块链网络的稳定性和健康性。
如图2所示,为本发明实施例中区块链的共识装置的模块框图,该共识装置包括:
第一控制模块201,用于当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;
第二控制模块202,用于控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;
第三控制模块203,用于控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
可选地,所述共识装置还包括:
获取模块,用于获取所述当前周期内的共识节点集合;其中,
所述获取模块包括:
第一获取单元,用于获取所述区块链网络内每个节点所对应的区块生成统计信息,其中所述区块生成统计信息包括该节点所对应的区块生成数量以及该节点所对应的公钥;
第一确定单元,用于根据每个节点所对应的区块生成数量,将区块生成数量排序在前的多个节点确定为备选共识节点;
第二确定单元,用于利用上一周期内的共识节点对所述备选共识节点进行投票筛选,确定投票排序在前的M个备选共识节点,并将所述M个备选共识节点所组成的集合确定为当前周期内的共识节点集合。
可选地,所述第一控制模块201包括:
控制单元,用于控制所述随机记账节点对所述待确认业务进行记账,生成区块;
第二获取单元,用于通过哈希函数对所述区块进行哈希运算,得到数字摘要;
第三获取单元,用于将所述数字摘要和所述随机记账节点所对应的私钥共同作为秘钥对所述区块进行签名,得到所述一级区块。
可选地,所述第二控制模块202用于,按照所述一级区块在所述N个共识节点之间的传递顺序,依次控制每个共识节点对所述一级区块进行验证;针对每个共识节点,在检测到该共识节点对所述一级区块验证成功时,控制该共识节点通过自身所对应的私钥对所述一级区块进行签名,直至所述传递顺序中最后一个共识节点在对所述一级区块验证成功时,通过自身所对应的私钥对所述一级区块进行签名,得到所述二级区块。
这样,本实施例提供的区块链的共识装置,通过第一控制模块控制随机记账节点对待确认业务进行记账并生成一级区块时,采用随机记账节点所对应的秘钥进行签名,并通过第二控制模块控制共识节点集合中的N个共识节点依次通过自身所对应的私钥对一级区块进行签名,得到二级区块,实现了区块链上采用多节点签名的方式对所生成的区块进行签名,由多个共识节点对区块进行签名,并且多签名后的区块作为新区块加入区块链网络中,从而极大降低了共识节点被劫持后所带来的不利影响,提高了区块链网络的稳定性和健康性。
另外,如图3所示,为本发明实施例提供的电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的方法,例如包括:当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种区块链的共识方法,其特征在于,所述共识方法包括:
当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;
控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;
控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
2.根据权利要求1所述的区块链的共识方法,其特征在于,所述控制随机记账节点对所述待确认业务进行记账并生成一级区块之前,所述共识方法还包括:
获取所述当前周期内的共识节点集合的步骤,具体包括:
获取所述区块链网络内每个节点所对应的区块生成统计信息,其中所述区块生成统计信息包括该节点所对应的区块生成数量以及该节点所对应的公钥;
根据每个节点所对应的区块生成数量,将区块生成数量排序在前的多个节点确定为备选共识节点;
利用上一周期内的共识节点对所述备选共识节点进行投票筛选,确定投票排序在前的M个备选共识节点,并将所述M个备选共识节点所组成的集合确定为当前周期内的共识节点集合。
3.根据权利要求1所述的区块链的共识方法,其特征在于,所述控制随机记账节点对所述待确认业务进行记账并生成一级区块,包括:
控制所述随机记账节点对所述待确认业务进行记账,生成区块;
通过哈希函数对所述区块进行哈希运算,得到数字摘要;
将所述数字摘要和所述随机记账节点所对应的私钥共同作为秘钥对所述区块进行签名,得到所述一级区块。
4.根据权利要求1所述的区块链的共识方法,其特征在于,所述控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块,包括:
按照所述一级区块在所述N个共识节点之间的传递顺序,依次控制每个共识节点对所述一级区块进行验证;
针对每个共识节点,在检测到该共识节点对所述一级区块验证成功时,控制该共识节点通过自身所对应的私钥对所述一级区块进行签名,直至所述传递顺序中最后一个共识节点在对所述一级区块验证成功时,通过自身所对应的私钥对所述一级区块进行签名,得到所述二级区块。
5.一种区块链的共识装置,其特征在于,所述共识装置包括:
第一控制模块,用于当检测到区块链网络内的节点集合中产生待确认业务,且所有共识节点均对所述待确认业务验证成功时,控制随机记账节点对所述待确认业务进行记账并生成一级区块;其中,所述所有共识节点记录于当前周期内的共识节点集合中,且所述一级区块为已采用所述随机记账节点所对应的秘钥签名后的区块;
第二控制模块,用于控制所述随机记账节点将所述一级区块传递给所述共识节点集合中的N个共识节点,并控制所述N个共识节点依次通过自身所对应的私钥对所述一级区块进行签名,得到二级区块;
第三控制模块,用于控制目标共识节点将所述二级区块洪泛至所述共识节点集合中的所有共识节点,并控制所述N个共识节点对所述二级区块进行验证,并在检测到全部验证通过时,控制所述所有共识节点将所述二级区块洪泛至所述区块链网络内所有节点,其中所述目标共识节点为N个共识节点中最后一个对所述一级区块进行签名得到二级区块的共识节点。
6.根据权利要求5所述的区块链的共识装置,其特征在于,所述共识装置还包括:
获取模块,用于获取所述当前周期内的共识节点集合;其中,
所述获取模块包括:
第一获取单元,用于获取所述区块链网络内每个节点所对应的区块生成统计信息,其中所述区块生成统计信息包括该节点所对应的区块生成数量以及该节点所对应的公钥;
第一确定单元,用于根据每个节点所对应的区块生成数量,将区块生成数量排序在前的多个节点确定为备选共识节点;
第二确定单元,用于利用上一周期内的共识节点对所述备选共识节点进行投票筛选,确定投票排序在前的M个备选共识节点,并将所述M个备选共识节点所组成的集合确定为当前周期内的共识节点集合。
7.根据权利要求5所述的区块链的共识装置,其特征在于,所述第一控制模块包括:
控制单元,用于控制所述随机记账节点对所述待确认业务进行记账,生成区块;
第二获取单元,用于通过哈希函数对所述区块进行哈希运算,得到数字摘要;
第三获取单元,用于将所述数字摘要和所述随机记账节点所对应的私钥共同作为秘钥对所述区块进行签名,得到所述一级区块。
8.根据权利要求5所述的区块链的共识装置,其特征在于,所述第二控制模块用于,按照所述一级区块在所述N个共识节点之间的传递顺序,依次控制每个共识节点对所述一级区块进行验证;针对每个共识节点,在检测到该共识节点对所述一级区块验证成功时,控制该共识节点通过自身所对应的私钥对所述一级区块进行签名,直至所述传递顺序中最后一个共识节点在对所述一级区块验证成功时,通过自身所对应的私钥对所述一级区块进行签名,得到所述二级区块。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的区块链的共识方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述的区块链的共识方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354446.7A CN111865595B (zh) | 2019-04-29 | 2019-04-29 | 一种区块链的共识方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354446.7A CN111865595B (zh) | 2019-04-29 | 2019-04-29 | 一种区块链的共识方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865595A true CN111865595A (zh) | 2020-10-30 |
CN111865595B CN111865595B (zh) | 2023-06-27 |
Family
ID=72965369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910354446.7A Active CN111865595B (zh) | 2019-04-29 | 2019-04-29 | 一种区块链的共识方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865595B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954009A (zh) * | 2021-01-27 | 2021-06-11 | 咪咕音乐有限公司 | 区块链共识方法、设备及存储介质 |
CN113067707A (zh) * | 2021-06-02 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN115394005A (zh) * | 2022-08-23 | 2022-11-25 | 中电信数智科技有限公司 | 一种视频会议中匿名投票的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及系统 |
CN108717630A (zh) * | 2018-05-19 | 2018-10-30 | 上海分布信息科技有限公司 | 一种出块方法及其实现系统 |
CN108964926A (zh) * | 2018-08-28 | 2018-12-07 | 成都信息工程大学 | 异构联盟系统中基于二层区块链的用户信任协商建立方法 |
CN109039713A (zh) * | 2018-07-16 | 2018-12-18 | 夸克链科技(深圳)有限公司 | 一种区块链共识装置与算法 |
US20190068380A1 (en) * | 2017-08-24 | 2019-02-28 | Alibaba Group Holding Limited | Blockchain consensus node selection |
CN109543075A (zh) * | 2018-11-14 | 2019-03-29 | 全链通有限公司 | 区块生成方法和系统 |
-
2019
- 2019-04-29 CN CN201910354446.7A patent/CN111865595B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411503A (zh) * | 2016-11-28 | 2017-02-15 | 中国银行股份有限公司 | 区块链投票记账模式的记账方法及系统、投票及记账节点 |
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及系统 |
US20190068380A1 (en) * | 2017-08-24 | 2019-02-28 | Alibaba Group Holding Limited | Blockchain consensus node selection |
CN108717630A (zh) * | 2018-05-19 | 2018-10-30 | 上海分布信息科技有限公司 | 一种出块方法及其实现系统 |
CN109039713A (zh) * | 2018-07-16 | 2018-12-18 | 夸克链科技(深圳)有限公司 | 一种区块链共识装置与算法 |
CN108964926A (zh) * | 2018-08-28 | 2018-12-07 | 成都信息工程大学 | 异构联盟系统中基于二层区块链的用户信任协商建立方法 |
CN109543075A (zh) * | 2018-11-14 | 2019-03-29 | 全链通有限公司 | 区块生成方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112954009A (zh) * | 2021-01-27 | 2021-06-11 | 咪咕音乐有限公司 | 区块链共识方法、设备及存储介质 |
CN112954009B (zh) * | 2021-01-27 | 2023-05-02 | 咪咕音乐有限公司 | 区块链共识方法、设备及存储介质 |
CN113067707A (zh) * | 2021-06-02 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN115394005A (zh) * | 2022-08-23 | 2022-11-25 | 中电信数智科技有限公司 | 一种视频会议中匿名投票的方法 |
CN115394005B (zh) * | 2022-08-23 | 2023-08-18 | 中电信数智科技有限公司 | 一种视频会议中匿名投票的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111865595B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111464518B (zh) | 一种跨链通信数据的发送、验证方法及装置 | |
US11630808B2 (en) | Proof of lottery (PoL) blockchain | |
CN108880863B (zh) | 一种基于区块链技术的智能电网设备安全诊断服务系统 | |
CN109542888B (zh) | 区块链的数据修改和同步方法、装置、设备及存储介质 | |
CN109493204B (zh) | 基于区块链的业务记账方法及终端设备 | |
CN115210741B (zh) | 部分有序的区块链 | |
JP7296596B2 (ja) | ブロックの迅速な生成用の分散コンセンサスのアルゴリズム、デバイス及びコンピュータ可読記憶媒体 | |
WO2018153486A1 (en) | Method for signing a new block in a decentralized blockchain consensus network | |
CN112507363A (zh) | 基于区块链的数据监管方法、装置、设备及存储介质 | |
CN109981690B (zh) | 一种基于区块链智能合约的防篡改定时数据保密传输方法 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN110830242A (zh) | 一种密钥生成、管理方法和服务器 | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
CN111815321A (zh) | 交易提案的处理方法、装置、系统、存储介质和电子装置 | |
CN115987697B (zh) | 基于事件订阅机制的多层级情报数据共享方法及系统 | |
CN110868295A (zh) | 基于秘密共享的抗量子计算联盟链系统及通信方法 | |
CN115499379B (zh) | 一种基于区块链的信息交互方法、装置、设备及介质 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
CN113837758A (zh) | 一种区块链系统的共识方法及装置 | |
CN113348656A (zh) | 基于多个节点的网络交易验证方法及其系统和存储介质 | |
CN111787034B (zh) | 区块生成方法、同步方法、装置、区块链系统和存储介质 | |
CN110391912B (zh) | 一种基于秘密共享机制的分布式评估决策方法及系统 | |
Dong et al. | DAON: A decentralized autonomous oracle network to provide secure data for smart contracts | |
CN112422534B (zh) | 电子证书的信用评估方法以及设备 | |
CN112163917B (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 |