CN111522822A - 一种区块链共识方法、装置及电子设备 - Google Patents
一种区块链共识方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111522822A CN111522822A CN202010630457.6A CN202010630457A CN111522822A CN 111522822 A CN111522822 A CN 111522822A CN 202010630457 A CN202010630457 A CN 202010630457A CN 111522822 A CN111522822 A CN 111522822A
- Authority
- CN
- China
- Prior art keywords
- transaction
- consensus
- target
- backup node
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
- 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
- H04L9/3239—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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供一种区块链共识方法、装置及电子设备。其中,方法包括:区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
Description
技术领域
本文件涉及区块链技术领域,尤其涉及一种区块链共识方法、装置及电子设备。
背景技术
随着信息技术的发展,区块链由于具有开放性、不可篡改性、去中心化等优点,已成为人们关注的重点。在现有的区块链技术中,客户端发起的交易需要达成区块链中各共识节点的共识后才能进行上链。这个共识的提议是由区块链的共识主节点发起。共识主节点会将待共识交易的交易信息发送给共识备份节点。共识备份节点在接收到交易信息,对待共识交易进行共识校验,以决定是否达成提议。
目前,当一轮共识提议所需要达成共识的交易较多时,会导致共识主节点需要发送的交易信息的数据量也随之变大,从而消耗较多的时间用于传输和解析,严重影响了共识效率。有鉴于此,当前亟需一种提高区块链共识效率的技术方案。
发明内容
本说明书实施例目的是提供一种区块链共识方法、装置及电子设备,能够提高区块链执行共识的效率。
为了实现上述目的,本说明书实施例是这样实现的:
第一方面,提供一种区块链共识方法,包括:
区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
第二方面,提供一种区块链共识装置,包括:
共识发起模块,基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
交易匹配模块,基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
共识执行模块,基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
第三方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
第四方面,提供一种算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
本说明书实施例的方案中,共识主节点在共识阶段,向共识备份节点发送待共识交易的交易哈希以取代原本向共识备份节点发送待共识交易的交易信息。各共识备份节点基于交易哈希,能够从各自的交易池中自行匹配出待共识交易的交易信息,以完成共识流程。由于交易哈希的数据量要小于交易信息的数据量,因此本说明书实施例的方案可以大幅减少共识过程中用于数据传输和数据解析的时间,从而提高共识效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例提供的区块链共识方法的第一种流程示意图。
图2为本说明书实施例提供的区块链共识方法的第二种流程示意图。
图3为本说明书实施例提供的区块链共识装置的结构示意图。
图4为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
如前所述,在现有的区块链技术中,客户端发起的交易需要达成区块链中各共识节点的共识后才能进行上链。在共识过程中,需要共识主节点将待共识交易的交易信息发送给共识备份节点,以进行共识校验。目前,当一轮共识提议所需要达成共识的交易较多时,会导致共识主节点需要发送的交易信息的数据量也随之变大,从而消耗较多的时间用于传输和解析,严重影响了共识效率。
针对这一问题,本说明书旨在提供一种能够高效率执行共识的技术方案。
图1是本说明书实施例区块链共识方法的流程图。图1所示的方法可以由下文相对应的装置执行,包括如下步骤:
S102,区块链的共识主节点对共识主节点的交易池中的至少一个待共识交易发起共识提议,共识提议携带有交易哈希列表,交易哈希列表包含至少一个待共识交易的交易哈希。
这里需要说明的是,原先的共识提议会携带交易信息列表,交易信息列表携带有本轮共识提议中所有待共识交易的交易信息。一般情况下,当待共识交易的数量达到1000笔时,这个交易信息列表的数据量就高达2M左右,对于区块链来讲,已经属于是较大的数据量。
在本步骤中,共识主节点使用交易哈希列表来代替传统的交易信息列表,也就是说,共识主节点通过交易哈希来告知共识备份节点本轮共识提议的待共识交易。应理解,交易哈希所对应的数据量要远远小于交易信息所对应的数据量。
S104,区块链的目标共识备份节点从目标共识备份节点的交易池中匹配出交易哈希列表对应的上述至少一个待共识交易,其中,区块链的各共识节点具有相同的交易哈希计算逻辑。
应理解,区块链的各共识节点具有相同的交易哈希计算逻辑意味着各共识节点针对同一交易所计算得到的交易哈希是一致的。因此,各共识备份节点能够基于交易哈希列表的交易哈希匹配出与共识主节点侧一致的待共识交易。
S106,目标共识备份节点从目标共识备份节点的交易池中获取匹配到的上述至少一个待共识交易的交易信息,以基于交易信息执行共识提议的流程。
这里需要说明的是,在正常情况下,区块链的各共识节点会单独对客户端发起的交易进行合法性校验,并将通过合法性校验的交易添加至自身交易池中。因此,共识备份节点有能力从自己的交易池中获得待共识交易的交易信息,而不是由共识主节点将交易信息发送给共识备份节点。
基于图1所示的区块链共识方法可以知道:本说明书实施例的方案中,共识主节点在共识阶段,向共识备份节点发送待共识交易的交易哈希以取代原本向共识备份节点发送待共识交易的交易信息。各共识备份节点基于交易哈希,能够从各自的交易池中自行匹配出待共识交易的交易信息,以完成共识流程。由于交易哈希的数据量要小于交易信息的数据量,因此本说明书实施例的方案可以大幅减少共识过程中用于数据传输和数据解析的时间,从而提高共识效率。
在实际应用中,客户端会接入区块链中的一个节点,以发起交易。这个节点在对交易进行合法性验证并通过后,会先将交易添加至自身的交易池中,之后再进一步将该交易转发至其他节点,以使其他节点对该交易进行合法性验证。同理,其他节点若对该交易成功进行合法性验证,则将该交易添加至自身交易池中。
由此可见,区块链中各个节点交易池中的交易并不是绝对意义上的同步。这意味着在极个别情况下,共识主节点对自身交易池的待共识交易发起共识提议后,可能有一部分共识备份节点的交易池中还未来得添加该待共识交易,使得共识备份节点即便获取到了共识主节点发送的交易哈希列表后,也无法从自身交易池中匹配出待共识交易,进而不能获取待共识交易的交易信息,导致共识流程无法进行。
为解决这一问题,在上述步骤S104中,若目标共识备份节点未能从目标共识备份节点的交易池中匹配出交易哈希列表对应的目标待共识交易(不限于一个),则可以基于预先设置的延时策略,等待目标共识备份节点的交易池更新后,重新从目标共识备份节点的交易池中匹配出交易哈希列表对应的目标待共识交易。
其中,延时策略可以但不限于包括:重新匹配次数以及重新匹配间隔时长。作为示例性介绍:假设重新匹配次数的为3次,重新匹配间隔时长为10ms,则目标共识备份节点在未能从目标共识备份节点的交易池中匹配出交易哈希列表对应的目标待共识交易后,等待10ms后重新尝试从目标共识备份节点的交易池中匹配该目标待共识交易。若还是未能匹配命中,则再次等待10ms后重新尝试从目标共识备份节点的交易池中匹配该目标待共识交易,直至重新匹配的次数达到3次。
当然,为了进一步保证共识提议能够成功执行,若目标共识备份节点基于延时策略,依未能从目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易,则可以主动向共识主节点请求获取目标待共识交易的交易信息。这里应理解的是,共识主节点只会对共识主节点的交易池中的交易发起共识提议,因此不存在共识主节点没有目标待共识交易的交易信息的场景。
具体地,目标共识备份节点在需要向共识主节点请求获取目标待共识交易的交易信息时,可以向共识主节点发送交易同步请求消息。这个交易同步请求消息携带有目标共识备份节点未能从目标共识备份节点的交易池中匹配到的目标待共识交易的交易哈希。
之后,共识主节点基于交易同步请求中的交易哈希,从共识主节点的交易池中查找到目标待共识交易的交易信息,并将目标待共识交易的交易信息通过交易同步响应消息反馈给目标共识备份节点。
目标共识备份节点在接收到交易同步响应消息后,先基于交易同步响应消息中的目标待共识交易的交易信息,对目标待共识交易进行账户合法性校验(例如对交易发起的客户端的IP地址进行验证等),并在账户合法性校验通过后,将目标待共识交易的交易信息添加至目标共识备份节点的交易池中。之后,目标共识备份节点再进一步从目标共识备份节点的交易池中匹配出目标待共识交易。这里需要说明的是,目标共识备份节点只要不是从自身交易池中匹配出与交易哈希类表对应的待共识交易,都不应视为匹配成功。
应理解,上述目标待共识交易并非本轮共识提议全量的待共识交易,因此共识主节点即便向共识备份节点发送目标待共识交易的交易信息,所消耗的传输时间和解析时间也要小于将全量的待共识交易的交易信息发送给目标共识备份节点。
显然,本说明书实施例的宗旨是让区块链更快地完成共识,因此,在上述方案的技术之上,还可以进行一定改进,以进一步提高共识效率。
比如:当目标共识备份节点未能一次就从自身交易池中匹配出交易哈希列表中所对应的所有待共识交易时,则可以对交易哈希列表中已经匹配出待共识交易的交易哈希进行标记,从而在下次重新匹配的过程中,只从目标共识备份节点的交易池中匹配交易哈希列表中未被标记的交易哈希所对应的待共识交易,以达到节约匹配时间的目的。
再比如:目标共识节点每当向目标共识节点的交易池中添加新交易后,可以提前基于交易哈希计算逻辑,计算出新交易的交易哈希,并存储新交易和其对应的交易哈希的映射关系。后续在对新交易执行共识流程时,目标共识备份节点可以直接基于预先存储的映射关系,从目标共识备份节点的交易池中匹配出交易哈希列表对应的新交易,以达到节约匹配时间的目的。可选地,在新交易成功上链后,目标共识备份节点可以删除之前存储的新交易和其对应的交易哈希的映射关系,以清理存储空间。
下面结合不同的实现方式,对本说明书实施例的方法进行示例介绍。
实现方式一
在本实现方式一中,区块链的replica节点(副本,也称为 copy,构建区块链分布式系统的节点,包含共识主节点和共识备份节点)基于拜占庭容错算法(PFBT,PracticalByzantine Fault Tolerance)进行共识(也可基于其他算法实进行共识,并不限于是PFBT),对应PFBT的共识流程如图2所示,包括:
pre-prepare阶段:
区块链的共识主节点发起共识提议,进入PFBT的预准备pre-prepare阶段,广播一条pre-prepare消息给各个共识备份节点,这个pre-prepare消息携带本次提议编号(Sequencen):n、视图值(View):v和交易哈希列表等信息。其中,交易哈希列表包含有本次共识提议中所有待共识交易的交易哈希。假设本实现方式一中,待共识交易具体包括:交易a、交易b和交易c。
prepare阶段:
区块链的目标共识备份节点(目标共识备份节点表征任意一个共识备份节点)在接收到pre-prepare消息后,先确定是否认可pre-prepare消息中的Sequence:n和View:v。
若不认可,则拒绝本次共识提议。
若认可,则表示接受了这条pre-prepare消息,并进一步执行以下步骤。
目标共识备份节点基于交易哈希列表中的交易a、交易b和交易c的交易哈希,从目标共识备份节点的交易池中匹配出交易a、交易b和交易c。具体地,在这个匹配过程中,目标共识备份节点可以基于各replica节点共同约定使用的交易哈希计算逻辑,分别对交易哈希列表中的交易哈希进行逆向计算,得到交易a交易b和交易c的摘要信息;之后,目标共识备份节点基于交易a交易b和交易c的摘要信息,对自身交易池进行查找,以从交易池匹配出交易a交易b和交易c。
目标共识备份节点在从目标共识备份节点的交易池中匹配出交易a交易b和交易c后,进一步从交易池中提取交易a交易b和交易c的交易信息。之后目标共识备份节点基于共识校验规则,对交易a交易b和交易c的交易信息进行共识校验。应理解,具体的共识校验方法可以灵活进行设置,本文不再举例赘述。
若共识校验通过,则目标共识备份节点进入prepare阶段,将replica上的状态被确定为prepared,并将pre-prepare消息添加到本地Log中,以及发送 prepare消息给其他replica节点。
commit阶段:
所有replica节点中的每一个在进入prepared 状态后,发送 commit 消息给其他replica节点,并将自己发送的commit消息添加到本地Log中(代表自己认可)。当一个replica节点发现有一个quorum(quorum是为了能够确保所有 replica 数据一致性要求和容错要求需要的一定数量replica的集合)同意编号n的分配时,它就会广播一条commit消息给其它所有replica节点。与此同时也会陆续收到来自其他replica节点的commit消息,如果某个replica节点收到了2f+1(f是联盟链中作恶节点的数量)条commit消息(包括自身的一条,这些来自不同节点的commit携带相同的编号:n和view: v),则说名该replica节点拥有了一个名为committed certificate的证书,共识提议在这个replica节点上达到了committed状态。此时只通过这一个replica节点,就能断定该请求已经在一个quorum中到达了prepared状态,即同一个quorum的所有replica节点都同意了编号n的分配。当replica节点为commited状态就表示其接受共识提议。
实现方式二
在本实现方式二中,区块链的replica节点基于PFBT进行共识,对应PFBT的共识流程包括:
pre-prepare阶段:
区块链的共识主节点发起共识提议,进入PFBT的预准备pre-prepare阶段,广播一条pre-prepare消息给各个共识备份节点,这个pre-prepare消息携带Sequencen:n、View:v和交易哈希列表等信息。其中,交易哈希列表包含有本次共识提议中所有待共识交易的交易哈希。假设本实现方式一中,待共识交易具体包括:交易a、交易b和交易c。
prepare阶段:
区块链的目标共识备份节点在接收到pre-prepare消息后,先确定是否认可pre-prepare消息中的Sequence:n和View:v。
若不认可,则拒绝本次共识提议。
若认可,则表示接受了这条pre-prepare消息,并进一步执行以下步骤。
目标共识备份节点基于交易哈希列表中的交易a、交易b和交易c的交易哈希,从目标共识备份节点的交易池中只匹配出交易a。此时,说明交易b和交易c还尚未同步至目标共识备份节点的交易池中,则目标共识备份节点可以等待3ms,再从目标共识备份节点的交易池中重新匹配交易b和交易c。
假设从目标共识备份节点的交易池中重新匹配到交易b,但交易c还是没有,则可以继续等待3ms后,第二次重新尝试从目标共识备份节点的交易池中匹配交易c。
若依然未匹配出交易c,则目标共识备份节点将交易哈希列表中为匹配到交易c的交易哈希发送给共识主节点,由共识主节点于交易c的交易哈希,从共识主节点的交易池中匹配获取基于交易c的交易信息,并将交易c的交易信息反馈给目标共识备份节点。
目标共识备份节点在通过共识主节点获得交易c的交易信息后,先基于交易c的交易信息进行账户合法性校验,这个账户合法性校验与后续共识节点的共识校验不同,仅是为了验证交易c是否能够添加到交易池中,若果交易c通过目标共识备份节点的账户合法性校验,则目标共识备份节点将交易c添加至标共识备份节点的交易池中。之后,目标共识备份节点从目标共识备份节点的交易池中重新匹配交易哈希列表中对应交易c的交易哈希。
目标共识备份节点在从目标共识备份节点的交易池中匹配出交易a交易b和交易c后,则进一步从交易池中提取交易a交易b和交易c的交易信息。之后目标共识备份节点基于其共识校验规则,对交易a交易b和交易c的交易信息进行共识校验,确定交易a交易b和交易c是否在业务层面上合法。
若共识校验通过,则目标共识备份节点进入prepare阶段,将replica上的状态被确定为prepared,并将pre-prepare消息添加到本地Log中,以及发送 prepare消息给其他replica节点。
commit阶段:
所有replica节点中的每一个在进入prepared 状态后,发送 commit 消息给其他replica节点,并将自己发送的commit消息添加到本地Log中(代表自己的认可)。当一个replica节点发现有一个quorum(quorum是为了能够确保所有 replica 数据一致性要求和容错要求需要的一定数量replica的集合)同意编号n的分配时,它就会广播一条commit消息给其它所有replica节点。与此同时也会陆续收到来自其他replica节点的commit消息,如果某个replica节点收到了2f+1(f是联盟链中作恶节点的数量)条commit消息(包括自身的一条,这些来自不同节点的commit携带相同的编号:n和view: v),则说名该replica节点拥有了一个名为committed certificate的证书,共识提议在这个replica节点上达到了committed状态。此时只通过这一个replica节点,就能断定该请求已经在一个quorum中到达了prepared状态,即同一个quorum的所有replica节点都同意了编号n的分配。当replica节点为commited状态就表示其接受共识提议。
以上是实现方式仅用于对本说明书实施例的方法的介绍。应理解,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本说明书实施例的保护范围。比如,共识备份节点在从pre-prepare消息中获取到哈希列表后,也可以在pre-prepare阶段或者commited阶段从本地交易池中获取待共识交易的交易信息,以及完成相关的共识校验。
与上述方法相对应地,如图3所示,本说明书实施例还提供一种区块链共识装置300,包括:
共识发起模块310,基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希。
交易匹配模块320,基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑。
共识执行模块330,基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
基于图3所示的区块链共识装置可以知道:本说明书实施例的方案中,共识主节点在共识阶段,向共识备份节点发送待共识交易的交易哈希以取代原本向共识备份节点发送待共识交易的交易信息。各共识备份节点基于交易哈希,能够从各自的交易池中自行匹配出待共识交易的交易信息,以完成共识流程。由于交易哈希的数据量要小于交易信息的数据量,因此本说明书实施例的方案可以大幅减少共识过程中用于数据传输和数据解析的时间,从而提高共识效率。
可选地,在基于所述交易信息执行所述共识提议的处理逻辑前,交易匹配模块320若基于目标共识备份节点未能从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易,则可以基于预设置的延时策略,等待所述目标共识备份节点的交易池更新后,重新基于目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易。
可选地,在基于所述交易信息执行所述共识提议的处理逻辑前,交易匹配模块320若基于目标共识备份节点基于所述延时策略,依未能从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易,则可以基于目标共识备份节点向所述共识主节点请求获取目标待共识交易的信息。具体地,交易匹配模块320可以基于目标共识备份节点向所述共识主节点发送交易同步请求消息,所述交易同步请求消息携带有未能从所述目标共识备份节点的交易池中匹配到的所述目标待共识交易的交易哈希。之后,基于目标共识备份节点接收所述共识主节点反馈的交易同步响应消息,所述交易同步响应消息携带有所述共识主节点提供的所述目标待共识交易的交易信息。之后,基于所述目标共识备份节点基于交易同步响应消息中的所述目标待共识交易的交易信息,对所述目标待共识交易进行合法性校验,并在合法性校验通过后,将所述目标待共识交易的交易信息添加至所述目标共识备份节点的交易池中。最终,基于所述区块链的共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易。
其中,上述延时策略可以但不限包括:重新匹配次数以及重新匹配间隔时长。
可选地,交易匹配模块320可以基于所述目标共识备份节点对所述交易哈希列表中已匹配到待共识交易的交易哈希进行标记。其中,交易匹配模块320基于所述目标共识备份节点只从所述目标共识备份节点的交易池中匹配所述交易哈希列表中未被标记的交易哈希所对应的待共识交易。
可选地,交易匹配模块320可以给予所述目标共识节点在向所述目标共识节点的交易池中添加新交易后,基于所述交易哈希计算逻辑,计算出所述新交易的交易哈希,并存储所述新交易和其对应的交易哈希的映射关系,从而基于所述目标共识备份节点基于预先存储的所述映射关系,直接从目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易。
可选地,所述交易哈希列表在所述共识提议的预准备pre-prepare阶段由所述共识主节点通过pre-prepare消息发送至所述目标共识备份节点。
显然,本说明书实施例的区块链共识装置可以作为上述图1所示的区块链共识方法的执行主体,因此能够实现区块链共识方法在图1和图2所实现的功能。由于原理相同,本文不再赘述。
图4是本说明书的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链共识装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希。
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑。
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
基于图4所示的电子设备可以知道:本说明书实施例的方案中,共识主节点在共识阶段,向共识备份节点发送待共识交易的交易哈希以取代原本向共识备份节点发送待共识交易的交易信息。各共识备份节点基于交易哈希,能够从各自的交易池中自行匹配出待共识交易的交易信息,以完成共识流程。由于交易哈希的数据量要小于交易信息的数据量,因此本说明书实施例的方案可以大幅减少共识过程中用于数据传输和数据解析的时间,从而提高共识效率。
上述如本说明书图1所示实施例揭示的区块链共识方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,本说明书实施例的电子设备可以实现上述区块链共识装置在图1和图2所示实施例的功能,本文不再赘述。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
此外,本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希。
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑。
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使上文所述的区块链共识装置实现图1和图2所示实施例的功能,本文不再赘述。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (10)
1.一种区块链共识方法,包括:
区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
2.根据权利要求1所述的方法,在基于所述交易信息执行所述共识提议的处理逻辑前,还包括:
若所述目标共识备份节点未能从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易,则基于预设置的延时策略,等待所述目标共识备份节点的交易池更新后,重新从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易。
3.根据权利要求2所述的方法,在基于所述交易信息对待共识交易执行共识逻辑前,还包括:
若所述目标共识备份节点基于所述延时策略,依未能从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易,则向所述共识主节点发送交易同步请求消息,所述交易同步请求消息携带有未能从所述目标共识备份节点的交易池中匹配到的所述目标待共识交易的交易哈希;
所述目标共识备份节点接收所述共识主节点反馈的交易同步响应消息,所述交易同步响应消息携带有所述共识主节点提供的所述目标待共识交易的交易信息;
所述目标共识备份节点基于交易同步响应消息中的所述目标待共识交易的交易信息,对所述目标待共识交易进行合法性校验,并在合法性校验通过后,将所述目标待共识交易的交易信息添加至所述目标共识备份节点的交易池中;
所述区块链的共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的目标待共识交易。
4.根据权利要求2所述的方法,
所述延时策略包括:重新匹配次数以及重新匹配间隔时长。
5.根据权利要求2所述的方法,还包括:
所述目标共识备份节点对所述交易哈希列表中已匹配到待共识交易的交易哈希进行标记,其中,所述目标共识备份节点只从所述目标共识备份节点的交易池中匹配所述交易哈希列表中未被标记的交易哈希所对应的待共识交易。
6.根据权利要求1-5中任一项所述的方法,还包括:
所述目标共识节点在向所述目标共识节点的交易池中添加新交易后,基于所述交易哈希计算逻辑,计算出所述新交易的交易哈希,并存储所述新交易和其对应的交易哈希的映射关系;
所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,包括:
所述目标共识备份节点基于预先存储的所述映射关系,从目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易。
7.根据权利要求1-5中任一项所述的方法,
所述共识提议基于拜占庭容错算法进行共识,所述交易哈希列表在所述共识提议的预准备pre-prepare阶段由所述共识主节点通过pre-prepare消息发送至所述目标共识备份节点。
8.一种区块链共识装置,包括:
共识发起模块,基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
交易匹配模块,基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
共识执行模块,基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
9.一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
基于区块链的共识主节点对所述共识主节点的交易池中的至少一个待共识交易发起共识提议,所述共识提议携带有交易哈希列表,所述交易哈希列表包含所述至少一个待共识交易的交易哈希;
基于所述区块链的目标共识备份节点从所述目标共识备份节点的交易池中匹配出所述交易哈希列表对应的所述至少一个待共识交易,其中,所述区块链的各共识节点具有相同的交易哈希计算逻辑;
基于所述目标共识备份节点从所述目标共识备份节点的交易池中获取匹配到的所述至少一个待共识交易的交易信息,以基于所述交易信息执行所述共识提议的流程。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010630457.6A CN111522822A (zh) | 2020-07-03 | 2020-07-03 | 一种区块链共识方法、装置及电子设备 |
| US17/348,265 US11410171B2 (en) | 2020-07-03 | 2021-06-15 | Blockchain consensus method and device and electronic equipment |
| EP21181144.3A EP3934162B1 (en) | 2020-07-03 | 2021-06-23 | Blockchain consensus method and device and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010630457.6A CN111522822A (zh) | 2020-07-03 | 2020-07-03 | 一种区块链共识方法、装置及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN111522822A true CN111522822A (zh) | 2020-08-11 |
Family
ID=71911742
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010630457.6A Pending CN111522822A (zh) | 2020-07-03 | 2020-07-03 | 一种区块链共识方法、装置及电子设备 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11410171B2 (zh) |
| EP (1) | EP3934162B1 (zh) |
| CN (1) | CN111522822A (zh) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112232958A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
| CN112232957A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
| CN112838930A (zh) * | 2021-01-25 | 2021-05-25 | 网易(杭州)网络有限公司 | 区块链交易的执行方法及装置、电子设备、存储介质 |
| CN113242306A (zh) * | 2021-05-14 | 2021-08-10 | 中国人民银行数字货币研究所 | 一种区块链的共识方法和装置 |
| CN113541968A (zh) * | 2021-09-16 | 2021-10-22 | 中国信息通信研究院 | 共识方法、装置及区块链系统 |
| CN113609515A (zh) * | 2021-10-09 | 2021-11-05 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统 |
| CN113821569A (zh) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
| CN113873030A (zh) * | 2021-09-24 | 2021-12-31 | 支付宝(杭州)信息技术有限公司 | 一种区块链的共识方法、共识节点及电子设备 |
| CN113986922A (zh) * | 2021-10-28 | 2022-01-28 | 深圳前海微众银行股份有限公司 | 区块链交易处理方法、设备及计算机可读存储介质 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12041190B2 (en) * | 2021-06-25 | 2024-07-16 | Prateek GOEL | System and method to manage large data in blockchain |
| US11621852B1 (en) * | 2021-12-02 | 2023-04-04 | SOURCE Ltd. | System and method for providing a multiple-operation transaction to a blockchain |
| CN114640462B (zh) * | 2022-02-17 | 2024-05-17 | 北京邮电大学 | 区块链隐私保护方法、装置、电子设备及存储介质 |
| CN117221337A (zh) * | 2022-06-02 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 区块链共识方法、装置、介质及电子设备 |
| CN116777631B (zh) * | 2023-08-17 | 2023-11-24 | 腾讯科技(深圳)有限公司 | 基于区块链的交易上链方法及装置、设备、介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109087098A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 一种许可链的交易处理方法、系统、设备和存储介质 |
| CN109886689A (zh) * | 2019-03-05 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 基于区块链的数据存证、取证方法及装置 |
| CN110169015A (zh) * | 2018-12-13 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 在分布式系统中的网络节点之间达成共识 |
| CN110691077A (zh) * | 2019-09-24 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的业务校验方法及联盟链系统 |
| US20200127945A1 (en) * | 2019-03-18 | 2020-04-23 | Alibaba Group Holding Limited | Consensus system downtime recovery |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11941588B2 (en) | 2015-11-06 | 2024-03-26 | Cable Television Laboratories, Inc. | Systems and methods for blockchain virtualization and scalability |
| US10204341B2 (en) | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
| US10360191B2 (en) | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
| US20180225661A1 (en) | 2017-02-07 | 2018-08-09 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
| US9998286B1 (en) | 2017-02-17 | 2018-06-12 | Accenture Global Solutions Limited | Hardware blockchain consensus operating procedure enforcement |
| US10291413B2 (en) | 2017-02-17 | 2019-05-14 | Accenture Global Solutions Limited | Hardware blockchain corrective consensus operating procedure enforcement |
| CN111614655A (zh) | 2017-03-24 | 2020-09-01 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
| CN107395659B (zh) | 2017-03-28 | 2021-08-24 | 创新先进技术有限公司 | 一种业务受理及共识的方法及装置 |
| CN107368507B (zh) | 2017-03-28 | 2020-03-27 | 创新先进技术有限公司 | 一种基于区块链的共识方法及装置 |
| CN107360206B (zh) | 2017-03-29 | 2020-03-27 | 创新先进技术有限公司 | 一种区块链共识方法、设备及系统 |
| CN107450981B (zh) | 2017-05-31 | 2020-04-24 | 创新先进技术有限公司 | 一种区块链共识方法及设备 |
| CN112804349B (zh) | 2017-07-14 | 2023-07-04 | 创新先进技术有限公司 | 区块链共识网络中处理共识请求的方法、装置和电子设备 |
| US11281644B2 (en) | 2017-07-28 | 2022-03-22 | Hitachi, Ltd. | Blockchain logging of data from multiple systems |
| US10230530B2 (en) | 2017-08-05 | 2019-03-12 | Proclus Technologies Limited | Method and system for securing a blockchain with proof-of-transactions |
| CN107590738A (zh) | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 选择共识节点的处理方法、装置及服务器 |
| CN107819749A (zh) * | 2017-10-26 | 2018-03-20 | 平安科技(深圳)有限公司 | 基于以太坊的区块链系统和交易数据处理方法 |
| US11582042B2 (en) * | 2018-03-16 | 2023-02-14 | General Electric Company | Industrial data verification using secure, distributed ledger |
| US20200175506A1 (en) * | 2018-12-03 | 2020-06-04 | Factom, Inc. | Conversion of Cryptocurrencies |
| CN111130801A (zh) | 2019-12-26 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、节点设备及计算机存储介质 |
-
2020
- 2020-07-03 CN CN202010630457.6A patent/CN111522822A/zh active Pending
-
2021
- 2021-06-15 US US17/348,265 patent/US11410171B2/en active Active
- 2021-06-23 EP EP21181144.3A patent/EP3934162B1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109087098A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 一种许可链的交易处理方法、系统、设备和存储介质 |
| CN110169015A (zh) * | 2018-12-13 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 在分布式系统中的网络节点之间达成共识 |
| CN109886689A (zh) * | 2019-03-05 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 基于区块链的数据存证、取证方法及装置 |
| US20200127945A1 (en) * | 2019-03-18 | 2020-04-23 | Alibaba Group Holding Limited | Consensus system downtime recovery |
| CN110691077A (zh) * | 2019-09-24 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的业务校验方法及联盟链系统 |
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112232958A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
| CN112232957A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
| CN112838930A (zh) * | 2021-01-25 | 2021-05-25 | 网易(杭州)网络有限公司 | 区块链交易的执行方法及装置、电子设备、存储介质 |
| CN113242306A (zh) * | 2021-05-14 | 2021-08-10 | 中国人民银行数字货币研究所 | 一种区块链的共识方法和装置 |
| CN113242306B (zh) * | 2021-05-14 | 2023-08-22 | 中国人民银行数字货币研究所 | 一种区块链的共识方法和装置 |
| CN113541968B (zh) * | 2021-09-16 | 2021-11-26 | 中国信息通信研究院 | 共识方法、装置及区块链系统 |
| WO2023040364A1 (zh) * | 2021-09-16 | 2023-03-23 | 中国信息通信研究院 | 共识方法、装置及区块链系统 |
| CN113541968A (zh) * | 2021-09-16 | 2021-10-22 | 中国信息通信研究院 | 共识方法、装置及区块链系统 |
| CN113873030A (zh) * | 2021-09-24 | 2021-12-31 | 支付宝(杭州)信息技术有限公司 | 一种区块链的共识方法、共识节点及电子设备 |
| CN113821569A (zh) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
| CN113821569B (zh) * | 2021-09-30 | 2024-02-06 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
| CN113609515A (zh) * | 2021-10-09 | 2021-11-05 | 支付宝(杭州)信息技术有限公司 | 一种共识方法、区块链系统 |
| CN113986922A (zh) * | 2021-10-28 | 2022-01-28 | 深圳前海微众银行股份有限公司 | 区块链交易处理方法、设备及计算机可读存储介质 |
| CN113986922B (zh) * | 2021-10-28 | 2025-04-25 | 深圳前海微众银行股份有限公司 | 区块链交易处理方法、设备及计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3934162B1 (en) | 2023-08-02 |
| US20210312438A1 (en) | 2021-10-07 |
| EP3934162A1 (en) | 2022-01-05 |
| US11410171B2 (en) | 2022-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111522822A (zh) | 一种区块链共识方法、装置及电子设备 | |
| US10721326B2 (en) | Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network | |
| US20200177388A1 (en) | Cross-blockchain resource transmission | |
| US11366932B2 (en) | Consensus method and data verification method, apparatus, and system of consortium blockchain | |
| CN111523153B (zh) | 一种区块生成方法及共识节点 | |
| CN112750037B (zh) | 基于区块链的数据压缩、查询方法及装置和电子设备 | |
| CN113888164B (zh) | 区块链交易池实现方法、装置、计算机设备和存储介质 | |
| CN113810465B (zh) | 一种异步二元共识方法及装置 | |
| WO2023184881A1 (zh) | 提案共识执行方法、区块链系统、设备和存储介质 | |
| CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
| CN112182113B (zh) | 区块链共识方法、系统、电子设备及存储介质 | |
| WO2022160901A1 (zh) | 一种区块链的共识方法、共识节点及电子设备 | |
| CN115409507A (zh) | 区块处理方法、区块处理装置、计算机设备及存储介质 | |
| WO2023160086A1 (zh) | 一种区块链的交易处理方法、区块链节点及电子设备 | |
| HK40036322A (zh) | 一种区块链共识方法、装置及电子设备 | |
| CN114078052A (zh) | 区块链中智能合约的执行方法、节点和区块链系统 | |
| CN112488832B (zh) | 一种交易执行方法、装置及存储介质 | |
| CN111178885B (zh) | 基于区块链的数据处理方法、装置、数据处理设备及系统 | |
| CN119996418A (zh) | 基于区块链的数据处理方法、装置、设备及可读介质 | |
| CN120198123A (zh) | 基于区块链的数据处理方法、装置、设备及可读介质 | |
| CN115632858A (zh) | 网络资源同步方法及相关设备 | |
| CN114357079A (zh) | 一种基于区块链的数据处理方法、节点设备、系统及平台 | |
| HK1247756A1 (zh) | 区块链共识网络中处理共识请求的方法、装置和电子设备 | |
| HK1247756B (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 | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036322 Country of ref document: HK |
|
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200811 |
|
| RJ01 | Rejection of invention patent application after publication |