CN108848055B - 一种区块链共识方法、记账节点及节点 - Google Patents
一种区块链共识方法、记账节点及节点 Download PDFInfo
- Publication number
- CN108848055B CN108848055B CN201810414927.8A CN201810414927A CN108848055B CN 108848055 B CN108848055 B CN 108848055B CN 201810414927 A CN201810414927 A CN 201810414927A CN 108848055 B CN108848055 B CN 108848055B
- Authority
- CN
- China
- Prior art keywords
- accounting
- node
- nodes
- election
- accounting node
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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/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
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- 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/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/12—Accounting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- 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
- G06Q2230/00—Voting or election arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Technology Law (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种区块链共识方法、记账节点及节点,记账节点生成区块并向N个记账节点中的其他记账节点广播记账节点的验证信息。然后接收其他记账节点广播的确认信息并对确认信息进行验证。在接收的确认信息满足第二设定条件时将区块添加至区块链,由于根据币龄从竞选节点中选出多个记账节点,而不是通过解工作量证明的难题来确定记账节点,从而提高了确定记账节点的效率,降低了资源消耗。由记账节点生成区块并将记账节点的信息以及区块的信息进行广播,广播的信息经其它记账节点验证通过后,记账节点将区块添加至本地区块链,从而保证了区块链网络的一致性和安全性,记账节点在生成区块后可以马上进行共识,从而提高了共识效率。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链共识方法、记账节点及节点。
背景技术
现有技术中,区块链使用工作量证明(Proof of Work,简称PoW)共识机制,挖矿过程是共识机制的核心。挖矿即争取记账权的过程,获得记账权的节点将自己接收到的所有合法交易打包放在区块内,将区块连接到主链上获取比特币奖励。比特币网络中的节点都可以竞争记账,而最终只能由先解出工作量证明难题的一个节点来完成记账。由于PoW需要节点进行一系列的计算来争取记账权,这个过程需要消耗大量的计算资源和电力,同时需要较长的计算时间,无法满足很多对效率要求较高的项目要求。
发明内容
本发明实施例提供了一种区块链共识方法、记账节点及节点,用于提高区块链的共识效率。
一方面,本发明实施例提供了一种区块链共识方法,该方法包括:
记账节点生成区块,并向N个记账节点中的其他记账节点广播所述记账节点的验证信息,所述N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N;所述记账节点接收所述其他记账节点广播的确认信息,并对所述其他记账节点广播的确认信息进行验证,其中,所述其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;所述第二记账节点的准备信息是所述第二记账节点在对所述记账节点的验证信息验证通过时生成并广播的;所述第一记账节点和所述第二记账节点为所述其他记账节点中的任一个;所述记账节点在接收的所述其他记账节点广播的确认信息满足第二设定条件时,将所述区块添加至区块链。由于根据竞选节点的币龄从竞选节点中选出多个记账节点,而不是通过解工作量证明的难题来确定记账节点,从而提高了确定记账节点的效率,另一方面降低资源消耗。其次,记账节点生成区块,其中,生成区块的记账节点根据记账节点的币龄确定,可以将币龄最大的记账节点确定为生成区块的记账节点,也可以根据币龄随机选择记账节点作为生成区块的记账节点。将记账节点的信息以及区块的信息进行广播,广播的信息只有经过其它记账节点验证通过后,记账节点才能将区块添加至本地区块链,从而保证了区块链网络的一致性和安全性。另外,记账节点在生成区块后可以马上进行共识,共识的过程不需要解工作量证明的难题,从而提高了共识效率。
在一个可能的设计中,所述记账节点接收所述其他记账节点广播的准备信息,并进行验证;
所述记账节点在接收的所述其他记账节点的准备信息满足所述第一设定条件时,生成所述记账节点的确认信息并广播。
在一个可能的设计中,所述第二记账节点接收所述第一记账节点广播的确认信息及所述记账节点广播的确认信息;
所述第二记账节点在接收的确认信息满足所述第二设定条件时,将所述区块添加至区块链。
在一个可能的设计中,针对任意一个节点,所述节点接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;所述节点生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;所述节点在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点。由于竞选节点广播竞选请求后,由区块链网络中的其他节点根据接收的竞选请求中的币龄对竞选节点进行排序,然后将排序结果进行广播。任意一个节点在接收的排序结果满足第三设定条件时,确定排序结果中的竞选节点为记账节点,整个过程不需要解工作量证明的难题,从而一方面提高了确定记账节点的效率,另一方面降低资源消耗。
在一个可能的设计中,所述记账节点在确定接收的所述确认信息验证不通过时,将广播所述确认信息的记账节点确定为故障节点并广播第一故障节点移除请求;
所述记账节点接收第二故障节点移除请求,并对所述第二故障节点移除请求进行验证,所述第二故障节点移除请求是所述其他记账节点确定接收的所述第一故障节点移除请求验证通过后生成并广播的;
所述记账节点在接收的所述第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到所述记账节点重选请求后广播竞选请求参与记账节点竞争。由于记账节点在发现故障节点时,广播故障节点移除请求,故障节点移除请求被其它记账节点认同后,广播记账节点重选请求,故避免了故障节点对区块链网络带来的干扰,提高了区块链网络的稳定性。
在一个可能的设计中,所述记账节点为主记账节点,所述其它记账节点为备份记账节点,所述主记账节点是所述N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,所述备份记账节点是所述N个记账节点中除所述主记账节点之外的记账节点。由于权益越多的节点越有动力维护系统安全,故根据币龄信息从N个记账节点中确定主记账节点和备份记账节点后,由主记账节点发起共识过程,能进一步提高了系统的安全性。
一方面,本发明实施例提供了一种记账节点,包括:
第一广播模块,用于生成区块,并向N个记账节点中的其他记账节点广播所述记账节点的验证信息,所述N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N;
验证模块,用于接收所述其他记账节点广播的确认信息,并对所述其他记账节点广播的确认信息进行验证,其中,所述其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;所述第二记账节点的准备信息是所述第二记账节点在对所述记账节点的验证信息验证通过时生成并广播的;所述第一记账节点和所述第二记账节点为所述其他记账节点中的任一个;
第一处理模块,用于在接收的所述其他记账节点广播的确认信息满足第二设定条件时,将所述区块添加至区块链。
在一个可能的设计中,所述验证模块还用于接收所述其他记账节点广播的准备信息,并进行验证;
所述第一处理模块还用于在接收的所述其他记账节点的准备信息满足所述第一设定条件时,生成所述记账节点的确认信息并广播。
在一个可能的设计中,还包括:第一接收模块,用于接收所述第一记账节点广播的确认信息及所述记账节点广播的确认信息;
所述处理模块还用于在接收的确认信息满足所述第二设定条件时,将所述区块添加至区块链。
在一个可能的设计中,所述第一处理模块还用于在确定接收的所述确认信息验证不通过时,将广播所述确认信息的记账节点确定为故障节点并广播第一故障节点移除请求;
所述验证模块还用于接收第二故障节点移除请求,并对所述第二故障节点移除请求进行验证,所述第二故障节点移除请求是所述其他记账节点确定接收的所述第一故障节点移除请求验证通过后生成并广播的;
所述第一广播模块还用于在接收的所述第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到所述记账节点重选请求后广播竞选请求参与记账节点竞争。
在一个可能的设计中,所述记账节点为主记账节点,所述其它记账节点为备份记账节点,所述主记账节点是所述N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,所述备份记账节点是所述N个记账节点中除所述主记账节点之外的记账节点。
一方面,本发明实施例提供了一种节点,包括:
第二接收模块,用于接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;
第二广播模块,用于生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;
第二处理模块,用于在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点。
另一方面,本发明实施例提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述方法的步骤。
又一方面,本发明实施例提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述任一项所述方法的步骤。
本发明实施例中,由于根据竞选节点的币龄从竞选节点中选出多个记账节点,而不是通过解工作量证明的难题来确定记账节点,从而一方面提高了确定记账节点的效率,另一方面降低资源消耗。其次,由记账节点生成区块,并将记账节点的信息以及区块的信息进行广播,广播的信息只有经过其它记账节点验证通过后,记账节点才能将区块添加至本地区块链,从而保证了区块链网络的一致性和安全性。另外,记账节点在生成区块后可以马上进行共识,共识的过程不需要解工作量证明的难题,从而提高了共识效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链共识方法的流程示意图;
图2a为本发明实施例提供的一种确定记账节点的方法的流程示意图;
图2b为本发明实施例提供的一种确定记账节点的方法的流程示意图;
图3为本发明实施例提供的一种故障节点检测方法的流程示意图;
图4为本发明实施例提供的一种记账节点的结构示意图;
图5为本发明实施例提供的一种节点的结构示意图;
图6为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。为了方便理解,下面对本发明实施例中涉及的名词进行解释。
区块链:狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
本发明实施例提供了一种区块链共识方法的流程,该方法的流程可以由记账节点执行,如图1所示,包括以下步骤:
步骤S101,记账节点生成区块,并向N个记账节点中的其他记账节点广播记账节点的验证信息。
具体地,记账节点为区块链网络中将合法交易打包放入区块并将区块连接至区块链上的节点。验证信息用于指示记账节点的信息及记账节点的区块的信息。具体地,验证信息的格式如下所示:
<PRE-PREPARE,p,Block,sig(M)>
其中,p是区块号,区块号由记账节点在生成区块时确定,Block是区块内容,sig(M)是记账节点的消息签名。
N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N。
步骤S102,记账节点接收其他记账节点发送的确认信息,并对其他记账节点广播的确认信息进行验证。
其中,其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;第二记账节点的准备信息是第二记账节点在对记账节点的验证信息验证通过时生成并广播的;第一记账节点和第二记账节点为其他记账节点中的任一个。
具体地,第二记账节点在接收到记账节点广播的验证信息后进行验证,具体地,首选验证记账节点的消息签名是否合法,然后验证自身区块链中下一个要生成的区块的区块号是否与验证信息中的区块号一致,之后再验证是否没有收到过区块号相同但是记账节点的消息签名不同的验证信息。当上述三个验证条件均满足,即记账节点的消息签名合法、自身区块链中下一个要生成的区块的区块号与验证信息中的区块号一致、没有收到过区块号相同但是记账节点的消息签名不同的验证信息,第二记账节点生成准备信息,准备信息的格式如下所示:
<PREPARE,p,Block,sig(M)>
其中,p是区块号,Block是区块内容,sig(M)是第二记账节点的消息签名。第二记账节点将准备信息广播至其它记账节点。当上述三个验证条件存在一个验证条件不满足时,说明第二记账节点为故障节点,则将第二记账节点移除并且重新选举记账节点来代替第二记账节点。
第一记账节点接收到准备信息后,对准备信息进行验证,具体地,首选验证准备信息中的消息签名是否合法,然后验证自身区块链中下一个要生成的区块的区块号是否与准备信息中的区块号一致,若上述两个验证条件均满足,则将接收的准备信息写入日志,在确定接收的准备信息满足第一设定条件时生成区块的确认信息并广播。可选地,第一设定条件可以为验证通过的准备信息的数量大于第一阈值,第一阈值可以为2f,f为故障节点的数量。具体地,确认信息的格式如下所示:
<COMMIT,p,Block,sig(M)>
其中,p是区块号,Block是区块内容,sig(M)是第一记账节点的消息签名。
当上述两个验证条件存在一个验证条件不满足时,说明第一记账节点为故障节点,则将第一记账节点移除并且重新选举记账节点来代替第一记账节点。
可选地,记账节点接收其他记账节点广播的准备信息并进行验证,在接收的其他记账节点的准备信息满足第一设定条件时,生成记账节点的确认信息并广播。具体实施中,记账节点对接收的准备信息进行验证以及生成确认信息的过程与第一记账节点对准备信息进行验证以及生成确认信息的过程相同,此处不再赘述。
步骤S103,记账节点在接收的其他记账节点广播的确认信息满足第二设定条件时,将区块添加至区块链。
记账节点接收到其他记账节点广播的确认信息后,对确认信息进行验证,具体地,首选验证确认信息中的消息签名是否合法,然后验证自身区块链中下一个要生成的区块的区块号是否与确认信息中的区块号一致,当上述两个验证条件均满足,则将接收的确认信息写入日志。在确定接收的确认信息满足第二设定条件时,将区块添加至区块链。可选地,第二设定条件为验证通过的确认信息大于第二阈值,第二阈值可以为2f+1,f为故障节点的数量。当上述两个验证条件存在一个验证条件不满足时,说明记账节点为故障节点,则将记账节点移除并且重新选举记账节点来代替该记账节点。
可选地,第二记账节点接收第一记账节点广播的确认信息及记账节点广播的确认信息,在接收的确认信息满足第二设定条件时,将区块添加至区块链。具体实施中,第二记账节点根据接收的确认信息将区块添加至区块链的过程与记账节点根据接收的确认信息将区块添加至区块链的过程相同,此处不再赘述。
由于根据竞选节点的币龄从竞选节点中选出多个记账节点,而不是通过解工作量证明的难题来确定记账节点,从而提高了确定记账节点的效率,另一方面降低资源消耗。其次,由记账节点生成区块,并将记账节点的信息以及区块的信息进行广播,广播的信息只有经过其它记账节点验证通过后,记账节点才能将区块添加至本地区块链,从而保证了区块链网络的一致性和安全性。另外,记账节点在生成区块后可以马上进行共识,共识的过程不需要解工作量证明的难题,从而提高了共识效率。
下面具体介绍根据确定N个记账节点的方法的流程,该流程由区块链网络中任意一个节点执行,包括以下步骤,如图2a所示:
步骤S201,节点接收M个竞选节点广播的竞选请求,并按照M个竞选节点广播的竞选请求中携带的币龄信息从M个竞选节点中确定N个竞选节点。
步骤S202,节点生成竞选结果信息并广播,竞选结果信息包括N个竞选节点。
具体地,节点可以是参与记账节点竞选的竞选节点,也可以是没有参与记账节点竞选的普通节点。竞选节点在参与记账节点竞选时广播竞选请求,竞选请求的格式如下所示:
<CANDIDATE,addr,txs,sig(M)>
其中,addr为竞选节点的账户地址,txs为竞选节点新发起的交易,该交易带有竞选节点的私钥签名,该交易内容是将未花费的交易输出(Unspent Transaction Output,简称UTXO)中的币支付给自己,更新交易时间,清空币龄,sig(M)为竞选节点的消息签名。
可选地,币龄为币数与天数的乘积,具体地,竞选节点的币龄可根据交易内容以及更新的交易时间确定,比如竞选节点A使用10个币参与记账节点竞争,竞争节点A获取这10个币的时间为2018年3月1日,交易内容为将UTXO中10个币支付给自己,交易时间更新为当前时间,即2018年3月31日,通过交易内容和交易时间可知竞争节点A的币龄为300。
其它节点接收到竞选请求后,首先检查txs中交易的合法性,具体检查交易发起方的币是否满足交易需求,交易接收方的账户地址是否合法等。如果txs中的交易不合法,忽略该竞选节点的竞选请求并将该竞选节点加入黑名单。若txs中的交易合法,则保存该竞选节点的竞选请求。当设定时间到达后,统计在该时间段内接收的竞选请求,根据竞选请求中的币龄将竞选节点进行排序。比如该时间段内验证通过了M个竞选节点的竞选请求,则按币龄将M个竞选节点从高到低进行排序,然后将排在前N的竞选节点依次放入list并广播竞选结果信息给其它节点,竞选结果信息的格式如下所示:
<RESULT,list,sig(M)>
其中,list是记账节点账户地址的列表,sig(M)是广播竞选结果信息的节点的消息签名。
步骤S203,节点在接收的其他节点发送的竞选结果信息满足第三设定条件时,将竞选结果信息中的N个竞选节点确定为记账节点。
任意一个节点接收到竞选结果信息后,首先对竞选结果信息中的消息签名进行验证,然后将接收到的各竞选结果信息中的list进行比较。当节点收到list相同的竞选结果信息的数量大于第三阈值,将list中的竞选节点确定为记账节点。
节点根据list可以确定自己是否当选为记账节点。当自己当选为记账节点时,广播记账节点确认信息,当自己没有当选为记账节点时,则不广播记账节点确认信息。记账节点确认信息的格式如下所示:
<CONFIRM,list,sig(M)>
其中,list是记账节点账户地址的列表,sig(M)是广播记账节点确认信息的节点的消息签名。
list中任意一个记账节点接收到list中其它记账节点广播的确认信息且接收的确认信息均一致时,确定list中的节点为选举成功的记账节点,各个记账节点可以根据list中的顺序确定自身的编号,并清空币龄。由于根据币龄从竞选节点中选出多个记账节点,而不是通过解工作量证明的难题来确定记账节点,从而提高了确定记账节点的效率,另一方面降低资源消耗。由于根据币龄的大小确定记账节点,并且在记账节点确认后清空记账节点的币龄,故不会让持有币多的人控制区块链网络,提高了区块链网络的安全性。
为了更好的解释本发明实施例,下面通过具体的实施场景描述本发明实施例提供的一种确定记账节点的方法的流程,如图2b所示,包括以下步骤:
步骤S01,开始记账节点选举。
步骤S02,针对区块链网络中任意一个节点,判断自身是否参与选举,若是,则执行步骤S03,否则执行步骤S04。
步骤S03,节点广播竞选请求成为竞选节点。
步骤S04,节点接收竞选请求并检查竞选请求的合法性。
步骤S05,节点判断设定时段内是否收到竞选请求,若是,则执行步骤S04,否则执行步骤S06。
步骤S06,节点根据接收的竞选请求将竞选节点按照币龄从大到小进行排序,并将排在前m的竞选节点作为记账节点,并将记账节点的账户地址放入list。
步骤S07,向记账节点广播包含list的竞选结果信息。
步骤S08,记账节点判断是否接收到2n/3条list一致的竞选结果信息,n为总节点数,若是,则执行步骤S09,否则执行步骤S13。
步骤S09,记账节点广播记账节点确认信息。
步骤S10,记账节点判断是否接收到所有记账节点的广播的记账节点确认信息且记账节点确认信息均一致,若是,则执行步骤S11,否则执行步骤S13。
步骤S11,记账节点广播竞选请求中的交易信息。
步骤S12,记账节点选举结束。
步骤S13,记账节点广播记账节点移除请求将记账节点确认信息不一致的记账节点移除。
步骤S14,记账节点接收到2m/3条合法的记账节点移除请求后广播记账节点重选请求。
步骤S15,非记账节点接收到2m/3条合法的记账节点重选请求后,执行步骤S02。
由于N个记账节点中可能存在故障节点,而故障节点将影响整个区块链网络的安全性和稳定性,故需要在记账节点确认过程中以及在共识过程中检测故障节点并对故障节点进行处理,具体包括以下步骤,如图3所示:
步骤S301,记账节点在确定接收的确认信息验证不通过时,将广播确认信息的记账节点确定为故障节点并广播第一故障节点移除请求。
需要说明的是,记账节点并不仅限于通过对确认信息进行验证来检测故障节点,也可以是对验证信息、准备信进行验证来检测故障节点,还可以是在记账节点竞选阶段,根据接收的记账节点确认信息是否一致以及是否接收到list中其它所有记账节点广播的记账节点确认信息来检测故障节点。
下面以通过对确认信息进行验证来检测故障节点为例进行说明,记账节点接收到其它记账节点广播的确认信息后,对其它记账节点广播的确认信息进行验证,当出现确认信息验证不通过时,将广播确认信息的记账节点确定为故障节点并广播第一故障节点移除请求,第一故障节点移除请求的格式如下所示:
<REMOVE,addr,c,sig(M)>
其中,addr是故障节点的账户地址,c为故障节点广播的确认信息,sig(M)为广播第一记账节点移除请求的记账节点的消息签名。
步骤S302,记账节点接收第二故障节点移除请求,并对第二故障节点移除请求进行验证。
第二故障节点移除请求是其他记账节点确定接收的第一故障节点移除请求验证通过后生成并广播的,第二故障节点移除请求的格式与第一故障节点移除请求的格式相同。具体地,其他记账节点在接收到第一记账节点移除请求后,对第一记账节点移除请求中的确认信息进行验证,若验证不通过,则将接收到的第一记账节点移除请求中的消息签名修改为自己的消息签名后生成第二记账节点移除请求并广播。
步骤S303,记账节点在接收的第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到记账节点重选请求后广播竞选请求参与记账节点竞争。
记账节点在接收到针对相同故障节点的验证通过的第二记账节点移除请求的数量大于第四阈值时,生成记账节点重选请求并广播,记账节点重选请求的格式如下所示:
<REVOTE,n,sig(M)>
n为故障节点的编号,sig(M)为广播记账节点重选请求的记账节点的消息签名。
当非记账节点接收记账节点重选请求并进行验证,在确定接收的验证通过的记账节点重选请求的数量大于第五阈值时,广播竞选请求参与记账节点竞争。此时竞选出的记账节点的数量为故障节点的数量,并且竞选出的记账节点的编号对应故障节点在list中的编号。由于记账节点在发现故障节点时,广播故障节点移除请求,故障节点移除请求被其它记账节点认同后,广播记账节点重选请求,故避免了故障节点对区块链网络带来的干扰,提高了区块链网络的稳定性。
可选地,将N个记账节点分为主记账节点和备份记账节点,主记账节点是N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,备份记账节点是N个记账节点中除主记账节点之外的记账节点。在区块链共识过程中,主记账节点生成区块,并向N个记账节点中的备份记账节点广播主记账节点的验证信息。主记账节点接收备份记账节点广播的确认信息,并对备份记账节点广播的确认信息进行验证,其中,备份记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的。第二记账节点的准备信息是第二记账节点在对主记账节点的验证信息验证通过时生成并广播的,第一记账节点和第二记账节点为备份记账节点中的任一个。由于权益越多的记账节点越有动力维护系统安全,故将N个记账节点中币龄最大的记账节点确定为主记账节点后,然后由主记账节点发起共识过程,能进一步提高了系统的安全性。
基于相同的技术构思,本发明实施例提供了一种记账节点,如图4所示,该记账节点400包括:
第一广播模块401,用于生成区块,并向N个记账节点中的其他记账节点广播所述记账节点的验证信息,所述N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N;
验证模块402,用于接收所述其他记账节点广播的确认信息,并对所述其他记账节点广播的确认信息进行验证,其中,所述其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;所述第二记账节点的准备信息是所述第二记账节点在对所述记账节点的验证信息验证通过时生成并广播的;所述第一记账节点和所述第二记账节点为所述其他记账节点中的任一个;
第一处理模块403,用于在接收的所述其他记账节点广播的确认信息满足第二设定条件时,将所述区块添加至区块链。
在一个可能的设计中,所述验证模块402还用于接收所述其他记账节点广播的准备信息,并进行验证;
所述第一处理模块403还用于在接收的所述其他记账节点的准备信息满足所述第一设定条件时,生成所述记账节点的确认信息并广播。
在一个可能的设计中,还包括:第一接收模块404,用于接收所述第一记账节点广播的确认信息及所述记账节点广播的确认信息;
所述处理模块403还用于在接收的确认信息满足所述第二设定条件时,将所述区块添加至区块链。
在一个可能的设计中,所述第一处理模块403还用于在确定接收的所述确认信息验证不通过时,将广播所述确认信息的记账节点确定为故障节点并广播第一故障节点移除请求;
所述验证模块402还用于接收第二故障节点移除请求,并对所述第二故障节点移除请求进行验证,所述第二故障节点移除请求是所述其他记账节点确定接收的所述第一故障节点移除请求验证通过后生成并广播的;
所述第一广播模块401还用于在接收的所述第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到所述记账节点重选请求后广播竞选请求参与记账节点竞争。
在一个可能的设计中,所述记账节点为主记账节点,所述其它记账节点为备份记账节点,所述主记账节点是所述N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,所述备份记账节点是所述N个记账节点中除所述主记账节点之外的记账节点。
基于相同的技术构思,本发明实施例提供了一种节点,如图5所示,该节点500包括:
第二接收模块501,用于接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;
第二广播模块502,用于生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;
第二处理模块503,用于在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点。
本发明实施例提供了一种终端设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行区块链共识方法的步骤。如图6所示,为本发明实施例中所述的终端设备的硬件结构示意图,该终端设备具体可以为台式计算机、便携式计算机、智能手机、平板电脑等。具体地,该终端设备可以包括存储器601、处理器602及存储在存储器上的计算机程序,所述处理器602执行所述程序时实现上述实施例中的任一区块链共识方法的步骤。其中,存储器601可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器602提供存储器601中存储的程序指令和数据。
进一步地,本申请实施例中所述的终端设备还可以包括输入装置603以及输出装置604等。输入装置603可以包括键盘、鼠标、触摸屏等;输出装置604可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT),触摸屏等。存储器601,处理器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。处理器602调用存储器601存储的程序指令并按照获得的程序指令执行上述实施例提供的区块链共识方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行区块链共识方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (13)
1.一种区块链共识方法,其特征在于,包括:
记账节点生成区块,并向N个记账节点中的其他记账节点广播所述记账节点的验证信息,所述N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N;
所述记账节点接收所述其他记账节点广播的确认信息,并对所述其他记账节点广播的确认信息进行验证,其中,所述其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;所述第二记账节点的准备信息是所述第二记账节点在对所述记账节点的验证信息验证通过时生成并广播的;所述第一记账节点和所述第二记账节点为所述其他记账节点中的任一个;
所述记账节点在接收的所述其他记账节点广播的确认信息满足第二设定条件时,将所述区块添加至区块链;
所述根据M个竞选节点广播的竞选请求中携带的币龄信息确定所述N个记账节点,包括:
针对任意一个节点,所述节点接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;
所述节点生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;
所述节点在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点。
2.如权利要求1所述的方法,其特征在于,还包括:
所述记账节点接收所述其他记账节点广播的准备信息,并进行验证;
所述记账节点在接收的所述其他记账节点的准备信息满足所述第一设定条件时,生成所述记账节点的确认信息并广播。
3.如权利要求2所述的方法,其特征在于,还包括:
所述第二记账节点接收所述第一记账节点广播的确认信息及所述记账节点广播的确认信息;
所述第二记账节点在接收的确认信息满足所述第二设定条件时,将所述区块添加至区块链。
4.如权利要求1所述的方法,其特征在于,还包括:
所述记账节点在确定接收的所述确认信息验证不通过时,将广播所述确认信息的记账节点确定为故障节点并广播第一故障节点移除请求;
所述记账节点接收第二故障节点移除请求,并对所述第二故障节点移除请求进行验证,所述第二故障节点移除请求是所述其他记账节点确定接收的所述第一故障节点移除请求验证通过后生成并广播的;
所述记账节点在接收的所述第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到所述记账节点重选请求后广播竞选请求参与记账节点竞争。
5.如权利要求1至4任一项所述的方法,其特征在于,所述记账节点为主记账节点,所述其他 记账节点为备份记账节点,所述主记账节点是所述N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,所述备份记账节点是所述N个记账节点中除所述主记账节点之外的记账节点。
6.一种记账节点,其特征在于,包括:
第一广播模块,用于生成区块,并向N个记账节点中的其他记账节点广播所述记账节点的验证信息,所述N个记账节点是根据M个竞选节点广播的竞选请求中携带的币龄信息确定的,M大于等于1,N大于等于1,M大于等于N;所述根据M个竞选节点广播的竞选请求中携带的币龄信息确定所述N个记账节点,包括:接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点;
验证模块,用于接收所述其他记账节点广播的确认信息,并对所述其他记账节点广播的确认信息进行验证,其中,所述其他记账节点广播的确认信息是第一记账节点在接收的第二记账节点的准备信息满足第一设定条件时生成并广播的;所述第二记账节点的准备信息是所述第二记账节点在对所述记账节点的验证信息验证通过时生成并广播的;所述第一记账节点和所述第二记账节点为所述其他记账节点中的任一个;
第一处理模块,用于在接收的所述其他记账节点广播的确认信息满足第二设定条件时,将所述区块添加至区块链。
7.如权利要求6所述的记账节点,其特征在于,所述验证模块还用于接收所述其他记账节点广播的准备信息,并进行验证;
所述第一处理模块还用于在接收的所述其他记账节点的准备信息满足所述第一设定条件时,生成所述记账节点的确认信息并广播。
8.如权利要求7所述的记账节点,其特征在于,还包括:
第一接收模块,用于接收所述第一记账节点广播的确认信息及所述记账节点广播的确认信息;
所述处理模块还用于在接收的确认信息满足所述第二设定条件时,将所述区块添加至区块链。
9.如权利要求6所述的记账节点,其特征在于,所述第一处理模块还用于在确定接收的所述确认信息验证不通过时,将广播所述确认信息的记账节点确定为故障节点并广播第一故障节点移除请求;
所述验证模块还用于接收第二故障节点移除请求,并对所述第二故障节点移除请求进行验证,所述第二故障节点移除请求是所述其他记账节点确定接收的所述第一故障节点移除请求验证通过后生成并广播的;
所述第一广播模块还用于在接收的所述第二故障节点移除请求满足第四设定条件时,广播记账节点重选请求,以使非记账节点在接收到所述记账节点重选请求后广播竞选请求参与记账节点竞争。
10.如权利要求6至9任一项所述的记账节点,其特征在于,所述记账节点为主记账节点,所述其他 记账节点为备份记账节点,所述主记账节点是所述N个记账节点中在竞选请求时携带的币龄信息最大的记账节点,所述备份记账节点是所述N个记账节点中除所述主记账节点之外的记账节点。
11.一种节点,其特征在于,包括:
第二接收模块,用于接收M个竞选节点广播的竞选请求,并按照所述M个竞选节点广播的竞选请求中携带的币龄信息从所述M个竞选节点中确定N个竞选节点;
第二广播模块,用于生成竞选结果信息并广播,所述竞选结果信息包括所述N个竞选节点;
第二处理模块,用于在接收的其他节点发送的竞选结果信息满足第三设定条件时,将所述竞选结果信息中的N个竞选节点确定为记账节点。
12.一种终端设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1~5任一权利要求所述方法的步骤。
13.一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行权利要求1~5任一所述方法的步骤。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810414927.8A CN108848055B (zh) | 2018-05-03 | 2018-05-03 | 一种区块链共识方法、记账节点及节点 |
KR1020207034671A KR102469267B1 (ko) | 2018-05-03 | 2019-01-25 | 블록 체인 합의 방법, 어카운팅 노드 및 노드 |
US17/044,000 US11830001B2 (en) | 2018-05-03 | 2019-01-25 | Blockchain consensus method, accounting node and node |
JP2020561790A JP7138726B2 (ja) | 2018-05-03 | 2019-01-25 | ブロックチェーンコンセンサス方法、アカウンティングノードおよびノード |
PCT/CN2019/073232 WO2019210714A1 (zh) | 2018-05-03 | 2019-01-25 | 一种区块链共识方法、记账节点及节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810414927.8A CN108848055B (zh) | 2018-05-03 | 2018-05-03 | 一种区块链共识方法、记账节点及节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108848055A CN108848055A (zh) | 2018-11-20 |
CN108848055B true CN108848055B (zh) | 2020-06-23 |
Family
ID=64212561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810414927.8A Active CN108848055B (zh) | 2018-05-03 | 2018-05-03 | 一种区块链共识方法、记账节点及节点 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11830001B2 (zh) |
JP (1) | JP7138726B2 (zh) |
KR (1) | KR102469267B1 (zh) |
CN (1) | CN108848055B (zh) |
WO (1) | WO2019210714A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848055B (zh) * | 2018-05-03 | 2020-06-23 | 中国银联股份有限公司 | 一种区块链共识方法、记账节点及节点 |
CN110443614B (zh) * | 2018-09-07 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 节点设备删除方法、装置、计算机设备及存储介质 |
CN109936486B (zh) * | 2019-01-02 | 2021-11-26 | 平安科技(深圳)有限公司 | 基于区块链的自动拨测方法、装置、设备和存储介质 |
CN109741039B (zh) * | 2019-01-07 | 2021-01-19 | 深圳市红砖坊技术有限公司 | 记账方法、矿池服务器、终端设备、挖矿节点及矿池 |
CN110113383B (zh) * | 2019-04-10 | 2021-08-24 | 广东工业大学 | 一种缓解PoS机制下记账权中心化的共识机制实现方法 |
CN112016012B (zh) * | 2019-05-30 | 2023-09-08 | 中国移动通信集团浙江有限公司 | 资源服务质量智能拨测方法及装置 |
CN112116346A (zh) * | 2019-06-20 | 2020-12-22 | 北京威宁特科技有限公司 | 快速确认交易的区块链和区块链上快速确认交易方法 |
CN110335156A (zh) * | 2019-07-09 | 2019-10-15 | 广东投盟科技有限公司 | 区块链的规则维护方法及其系统 |
CN110322352A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市炳德区块链技术有限公司 | 一种基于区块链的账本建立及查询方法、电子设备 |
US11095443B1 (en) * | 2019-10-11 | 2021-08-17 | Shape Security, Inc. | Proof-of-work based on runtime compilation |
CN111191294B (zh) * | 2019-12-27 | 2022-05-24 | 诚镌科技(广州)有限公司 | 基于区块链的单节点记账方法、系统、设备和存储介质 |
CN111311263B (zh) * | 2020-03-18 | 2021-07-16 | 广州知弘科技有限公司 | 区块链节点本地安全记账方法 |
CN111368008B (zh) | 2020-05-27 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN112020018B (zh) * | 2020-08-26 | 2022-05-17 | 山东浪潮科学研究院有限公司 | 区块链记账组生成方法、共识方法及区块链系统 |
CN112288415B (zh) * | 2020-12-24 | 2021-06-11 | 南京可信区块链与算法经济研究院有限公司 | 一种用于utxo架构的币龄机制实现方法 |
CN113014635A (zh) * | 2021-02-19 | 2021-06-22 | 卓尔智联(武汉)研究院有限公司 | 区块链系统的节点类型划分方法、装置及区块链系统 |
CN113382073B (zh) * | 2021-06-08 | 2022-06-21 | 重庆邮电大学 | 一种在云边端工业控制系统中边缘节点的监督系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的系统 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10340038B2 (en) * | 2014-05-13 | 2019-07-02 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain, systems and methods |
US20150363782A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency transaction validation system |
US20150363778A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency electronic payment system |
US20150363769A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency Real-Time Conversion System |
US20150363777A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency suspicious user alert system |
US10127552B2 (en) * | 2014-06-16 | 2018-11-13 | Bank Of America Corporation | Cryptocurrency aggregation system |
US10255600B2 (en) * | 2014-06-16 | 2019-04-09 | Bank Of America Corporation | Cryptocurrency offline vault storage system |
US11182781B2 (en) * | 2014-06-16 | 2021-11-23 | Bank Of America Corporation | Block chain encryption tags |
US10275772B2 (en) * | 2014-06-16 | 2019-04-30 | Bank Of America Corporation | Cryptocurrency risk detection system |
US20150363770A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency Transaction Payment System |
US20150363772A1 (en) * | 2014-06-16 | 2015-12-17 | Bank Of America Corporation | Cryptocurrency online vault storage system |
US9973341B2 (en) * | 2015-01-23 | 2018-05-15 | Daniel Robert Ferrin | Method and apparatus for the limitation of the mining of blocks on a block chain |
CN107145768B (zh) * | 2016-03-01 | 2021-02-12 | 华为技术有限公司 | 版权管理方法和系统 |
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
KR101848896B1 (ko) * | 2016-10-19 | 2018-04-13 | 한전케이디엔 주식회사 | 블록체인을 이용한 선불형 전력 판매 및 전력 사용 방법 |
US10554746B2 (en) * | 2016-11-14 | 2020-02-04 | International Business Machines Corporation | Decentralized immutable storage blockchain configuration |
US20180247191A1 (en) * | 2017-02-03 | 2018-08-30 | Milestone Entertainment Llc | Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions |
WO2018172439A1 (en) * | 2017-03-22 | 2018-09-27 | NEC Laboratories Europe GmbH | Method for operating a blockchain |
CN109792437B (zh) * | 2017-05-16 | 2021-01-12 | 北京大学深圳研究生院 | 一种用于去中心化域名系统的共识方法 |
CN107423978A (zh) * | 2017-06-16 | 2017-12-01 | 郑州大学 | 一种基于联盟区块链的分布式能源交易认证方法 |
CN108848055B (zh) | 2018-05-03 | 2020-06-23 | 中国银联股份有限公司 | 一种区块链共识方法、记账节点及节点 |
-
2018
- 2018-05-03 CN CN201810414927.8A patent/CN108848055B/zh active Active
-
2019
- 2019-01-25 WO PCT/CN2019/073232 patent/WO2019210714A1/zh active Application Filing
- 2019-01-25 KR KR1020207034671A patent/KR102469267B1/ko active IP Right Grant
- 2019-01-25 JP JP2020561790A patent/JP7138726B2/ja active Active
- 2019-01-25 US US17/044,000 patent/US11830001B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
CN107231299A (zh) * | 2017-06-07 | 2017-10-03 | 众安信息技术服务有限公司 | 一种链路由及实现区块链跨链通信的系统 |
Non-Patent Citations (1)
Title |
---|
基于动态授权的拜占庭容错共识算法的区块链性能改进研究;刘肖飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180115(第01期);第I138-803页 * |
Also Published As
Publication number | Publication date |
---|---|
KR102469267B1 (ko) | 2022-11-22 |
CN108848055A (zh) | 2018-11-20 |
WO2019210714A1 (zh) | 2019-11-07 |
US11830001B2 (en) | 2023-11-28 |
US20210035095A1 (en) | 2021-02-04 |
JP2021521555A (ja) | 2021-08-26 |
JP7138726B2 (ja) | 2022-09-16 |
KR20210006934A (ko) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848055B (zh) | 一种区块链共识方法、记账节点及节点 | |
US11630808B2 (en) | Proof of lottery (PoL) blockchain | |
CN107566124B (zh) | 基于哈希运算的共识建立方法、区块链系统及存储介质 | |
CN109165945B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
CN109493204B (zh) | 基于区块链的业务记账方法及终端设备 | |
CN107220130B (zh) | 一种在区块链的节点处实现的信息共识方法、装置及系统 | |
CN106850536B (zh) | 区块链共识方法及系统 | |
CN110189128B (zh) | 一种用于区块快速生成的分布式共识的方法和装置 | |
KR102567342B1 (ko) | 블록체인에 기반한 자산 처리 방법, 장치, 기기, 저장매체 및 프로그램 | |
US20220035796A1 (en) | Block Confirmation Method, Device and Storage Medium | |
CN112883114A (zh) | 应用于区块链的交易处理方法和装置 | |
CN112689848B (zh) | 一种区块链数据的共识方法及相关设备 | |
US11803853B2 (en) | Controlling transactions on a network | |
CN111199481A (zh) | 基于异步定向非循环图的分布式交易网络 | |
CN112907369A (zh) | 基于区块链的数据共识方法及装置、电子设备、存储介质 | |
US11403281B2 (en) | Parallel blockchain processing | |
CN114338715A (zh) | 数据同步方法、区块链系统、终端设备及存储介质 | |
CN114265898A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113890739B (zh) | 跨区块链的认证方法、装置、电子设备及介质 | |
CN114329550A (zh) | 区块链链下交易方法、装置、设备及存储介质 | |
CN117955742A (zh) | 数据跨链交互的验证方法、装置、挑战节点及存储介质 | |
CN112181599B (zh) | 模型训练方法、装置及存储介质 | |
CN112037055B (zh) | 交易处理方法、装置、电子设备及可读存储介质 | |
CN109741073B (zh) | 区块链的审查攻击处理方法、系统及电子设备和存储介质 | |
CN112633893A (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 |