CN115987528A - Block synchronization method and block link point in block link system - Google Patents
Block synchronization method and block link point in block link system Download PDFInfo
- Publication number
- CN115987528A CN115987528A CN202211733516.8A CN202211733516A CN115987528A CN 115987528 A CN115987528 A CN 115987528A CN 202211733516 A CN202211733516 A CN 202211733516A CN 115987528 A CN115987528 A CN 115987528A
- Authority
- CN
- China
- Prior art keywords
- block
- type
- blocks
- nodes
- heights
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域technical field
本说明书实施例属于区块链领域,尤其涉及一种区块链系统中的区块同步方法和区块链节点。The embodiments of this specification belong to the field of blockchain, and in particular relate to a block synchronization method and blockchain nodes in a blockchain system.
背景技术Background technique
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。Blockchain is a new application model of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, and encryption algorithm. In the blockchain system, the data blocks are combined into a chained data structure in a sequentially connected manner in chronological order, and a non-tamperable and unforgeable distributed ledger is cryptographically guaranteed. Due to the characteristics of decentralization, non-tamperable information, and autonomy, the blockchain has also received more and more attention and application.
发明内容Contents of the invention
本发明的目的在于提供一种区块链系统中的区块同步方法和区块链节点。The object of the present invention is to provide a block synchronization method and block chain nodes in a block chain system.
第一方面,提供了一种区块链系统中的区块同步方法,所述区块链系统中包括N个区块链节点,所述方法由所述N个区块链节点中的任一区块链节点执行。所述方法包括:从其余N-1个区块链节点接收多个区块状态,单个所述区块状态中包括其对应的区块链节点最新获得的第一类区块的第一区块高度和第二类区块的第二区块高度,所述第一类区块包括达成共识的共识提议所指示的按顺序排列的多个交易,所述第二类区块基于与其具有相同区块高度的第一类区块获得,所述第二类区块包括区块头、区块体和区块证明;根据所述区块链系统中允许的最大恶意节点数量,各个所述第一区块高度和各个所述第二区块高度,确定将要同步的若干第一类区块和若干第二类区块;从所述N-1个区块链节点同步所述若干第一类区块,以及从所述N-1个区块链节点同步所述若干第二类区块。In the first aspect, a block synchronization method in a block chain system is provided, the block chain system includes N block chain nodes, and the method is performed by any one of the N block chain nodes Blockchain nodes execute. The method includes: receiving a plurality of block states from the remaining N-1 block chain nodes, and a single block state includes the first block of the first type of block newly obtained by its corresponding block chain node Height and the height of the second block of the second type of block, the first type of block includes a plurality of transactions in order indicated by the consensus proposal to reach a consensus, and the second type of block is based on having the same zone with it The block height of the first type of block is obtained, and the second type of block includes block header, block body and block proof; according to the maximum number of malicious nodes allowed in the block chain system, each of the first block The block height and each of the second block heights determine a number of first-type blocks and a number of second-type blocks to be synchronized; synchronize the number of first-type blocks from the N-1 blockchain nodes , and synchronizing the plurality of blocks of the second type from the N-1 blockchain nodes.
第一方面,提供了一种区块链系统中的区块链节点,所述区块链系统中包括N个所述区块链节点,所述区块链节点包括:状态获取单元,配置为从其余N-1个区块链节点接收多个区块状态,单个所述区块状态中包括其对应的区块链节点最新获得的第一类区块的第一区块高度和第二类区块的第二区块高度,所述第一类区块包括达成共识的共识提议所指示的按顺序排列的多个交易,所述第二类区块基于与其具有相同区块高度的第一类区块获得,所述第二类区块包括区块头、区块体和区块证明;区块确定单元,配置为根据所述区块链系统中允许的最大恶意节点数量,各个所述第一区块高度和各个所述第二区块高度,确定将要同步的若干第一类区块和若干第二类区块;同步处理单元,配置为从所述N-1个区块链节点同步所述若干第一类区块,以及从所述N-1个区块链节点同步所述若干第二类区块。In a first aspect, a blockchain node in a blockchain system is provided, the blockchain system includes N blockchain nodes, and the blockchain node includes: a state acquisition unit configured to Multiple block states are received from the remaining N-1 blockchain nodes, and a single block state includes the first block height and the second type of the first type of block newly obtained by its corresponding blockchain node The second block height of the block, the first type of block includes a plurality of transactions in sequence indicated by the consensus proposal, and the second type of block is based on the first block with the same block height The block of the second type is obtained, and the block of the second type includes a block header, a block body and a block certificate; the block determination unit is configured to, according to the maximum number of malicious nodes allowed in the block chain system, each of the second block A block height and each of the second block heights determine a number of first-type blocks and a number of second-type blocks to be synchronized; a synchronization processing unit configured to synchronize from the N-1 block chain nodes The plurality of blocks of the first type, and the plurality of blocks of the second type are synchronized from the N-1 blockchain nodes.
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,令计算设备执行第一方面中所述的方法。In a third aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed in a computing device, it causes the computing device to execute the method described in the first aspect.
在本说明书实施例的方案中,对于包含N个区块链节点的区块链系统中需要从其它区块链节点同步区块的任意区块链节点,该区块链节点可以从其余N-1个区块链节点接收多个区块状态,单个区块状态中包括其对应的区块链节点最新获得的Raw Block的第一区块高度和Stable Block的第二区块高度;然后根据区块链系统中允许的最大恶意节点数量、各个第一区块高度和各个第二区块高度,确定出将要同步的若干Raw Block和若干Stable Block,并从其余N-1个区块链节点同步该若干Raw Block和该若干Stable Block。如此,区块链节点通过从其余区块链节点同步其自身已落后于其余区块链节点的全部RawBlock和Stable Block,赶上整个区块链系统的正常进度,从而能够正常的作为共识节点参与对共识提议进行共识。In the solution of the embodiment of this specification, for any blockchain node that needs to synchronize blocks from other blockchain nodes in the blockchain system that contains N blockchain nodes, the blockchain node can synchronize blocks from the remaining N- A block chain node receives multiple block states, and a single block state includes the first block height of the Raw Block and the second block height of the Stable Block newly obtained by its corresponding block chain node; The maximum number of malicious nodes allowed in the blockchain system, the height of each first block and the height of each second block, determine the number of Raw Blocks and several Stable Blocks to be synchronized, and synchronize from the remaining N-1 blockchain nodes The several Raw Blocks and the several Stable Blocks. In this way, the blockchain node can catch up with the normal progress of the entire blockchain system by synchronizing all RawBlocks and Stable Blocks that have lagged behind other blockchain nodes from other blockchain nodes, so that it can normally participate as a consensus node Consensus on consensus proposals.
附图说明Description of drawings
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of this specification, the following will briefly introduce the drawings that need to be used in the description of the embodiments. Obviously, the drawings in the following description are only some embodiments recorded in this specification. , for those skilled in the art, other drawings can also be obtained according to these drawings without paying creative labor.
图1为本说明书实施例中提供的一种区块链系统的架构图;FIG. 1 is an architecture diagram of a block chain system provided in the embodiment of this specification;
图2为区块链系统中采用异步流水线机制处理区块数据的过程示意图;Figure 2 is a schematic diagram of the process of processing block data using an asynchronous pipeline mechanism in the blockchain system;
图3为本说明书实施例中提供的一种区块链系统中的区块同步方法的流程图;FIG. 3 is a flowchart of a block synchronization method in a block chain system provided in an embodiment of this specification;
图4为本说明书实施例中示例性提供的同步Raw Block的示意图之一;Fig. 4 is one of the schematic diagrams of the synchronous Raw Block exemplarily provided in the embodiment of this specification;
图5为本说明书实施例中示例性提供的同步Raw Block的示意图之二;Fig. 5 is the second schematic diagram of the synchronous Raw Block provided exemplarily in the embodiment of this specification;
图6为本说明书实施例中示例性提供的同步Stable Block的示意图之一;Fig. 6 is one of the schematic diagrams of the synchronous Stable Block exemplarily provided in the embodiment of this specification;
图7为本说明书实施例中示例性提供的同步Stable Block的示意图之二;Fig. 7 is the second schematic diagram of the synchronous Stable Block exemplarily provided in the embodiment of this specification;
图8为本说明书实施例中提供的一种区块链系统中的区块链节点的结构示意图。FIG. 8 is a schematic structural diagram of a blockchain node in a blockchain system provided in an embodiment of this specification.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described The embodiments are only some of the embodiments in this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the protection scope of this specification.
图1为本说明书实施例中示例性提供的一种区块链系统的架构图。区块链系统可以包括N个区块链节点,其中图1中示例性的示出了节点1-节点8等8个区块链节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接,前述连接例如可以为传输控制协议(transmission control trotocol,TCP)连接,前述连接用于支持在不同节点之间传输数据。Fig. 1 is an architecture diagram of a block chain system exemplarily provided in the embodiment of this specification. The blockchain system may include N blockchain nodes, where 8 blockchain nodes such as node 1 to node 8 are exemplarily shown in FIG. 1 . The connection between nodes schematically represents a P2P (Peer to Peer, point-to-point) connection. The foregoing connection may be, for example, a transmission control protocol (transmission control trotocol, TCP) connection, and the foregoing connection is used to support data transmission between different nodes.
区块链系统中的共识机制是区块链节点就区块信息(或称区块数据)达成全网相同共识的机制,可以保证最新获得的区块被准确存储。当前主流的共识机制包括:工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(DelegatedProof of Stake,DPOS)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法等。其中在各种共识算法中,通常在预设数目的共识节点对待共识的数据达成相同之后,确定对待共识的数据达成共识。例如在PBFT算法中,对于n≥3f+1个共识节点,最多允许存在f个恶意节点,也就是说,当N个区块链节点中的2f+1个共识节点达成相同时,可确定共识成功,n可能小于N。The consensus mechanism in the blockchain system is a mechanism for blockchain nodes to reach the same consensus on the block information (or block data) in the entire network, which can ensure that the latest acquired blocks are accurately stored. The current mainstream consensus mechanisms include: Proof of Work (POW), Proof of Stake (POS), Delegated Proof of Stake (DPOS), Practical Byzantine Fault Tolerance (PBFT) algorithm etc. Among them, in various consensus algorithms, usually after a preset number of consensus nodes agree on the data to be consensused, it is determined to reach a consensus on the data to be consensused. For example, in the PBFT algorithm, for n≥3f+1 consensus nodes, at most f malicious nodes are allowed to exist, that is to say, when 2f+1 consensus nodes among N blockchain nodes reach the same consensus, the consensus can be determined On success, n may be less than N.
区块链系统中可以采用异步流水线机制来处理区块数据。参见图2所示,单个区块链节点中可能包括相互独立的共识服务以及若干其它服务。共识服务可以负责和N个区块链节点中的其余共识节点对共识提议进行共识,在n-f个共识节点对共识提议达成共识的情况下,获得该共识提议所对应的第一类区块(即Raw Block),并将其获得的Raw Block加入Raw Block队列的尾部;其中Raw Block中包括交易集合,该交易集合中包括相应共识提议所指示的按顺序排列的多个交易,此外Raw Block中还可以包括其对应的区块高度(或者称为区块号)和时间戳。其它服务可以从Raw Block队列的头部依次提取Raw Block,基于从Raw Block队列中提取的Raw Block对应生成具有相同区块高度的第二类区块(即StableBlock),其中需要说明的是Stable Block通常是区块链系统中不可回滚的区块;StableBlock可以包括区块头、区块体和区块证明。Stable Block的区块体中包括位于相应RawBlock中的交易集合,还可以包括与交易集合相对应的收据集合;Stable Block的区块头中可以包括区块高度、时间戳Timestamp、交易根哈希Transaction_Root、收据根哈希Receipt_Root以及状态根哈希State_Root等;Stable Block的区块证明,基于至少n-f个共识节点对Stable Block中区块头和区块体的签名生成,例如可以是n-f个共识节点对该Stable Block中区块头和区块体的哈希值的签名构成的签名列表,或者可以是对该签名列表进行压缩之后的结果。需要说明的是,区块链系统中最新获得的Raw Block和StableBlock可能具有不同的区块高度,例如区块链节点中最新获得的Stable Block的区块高度可能为h,通过共识服务最新获得的Raw Block的区块高度确可能是大于h的h+a。In the blockchain system, an asynchronous pipeline mechanism can be used to process block data. As shown in Figure 2, a single blockchain node may include mutually independent consensus services and several other services. The consensus service can be responsible for consensus on the consensus proposal with the rest of the consensus nodes in the N block chain nodes. When n-f consensus nodes reach a consensus on the consensus proposal, the first type of block corresponding to the consensus proposal (ie Raw Block), and the obtained Raw Block is added to the tail of the Raw Block queue; the Raw Block includes a transaction set, which includes multiple transactions in order indicated by the corresponding consensus proposal. In addition, the Raw Block also includes It can include its corresponding block height (or called block number) and timestamp. Other services can sequentially extract Raw Blocks from the head of the Raw Block queue, and generate a second type of block (ie StableBlock) with the same block height based on the Raw Blocks extracted from the Raw Block queue. What needs to be explained is Stable Block It is usually a block that cannot be rolled back in the blockchain system; StableBlock can include block header, block body and block proof. The block body of the Stable Block includes the transaction set in the corresponding RawBlock, and can also include the receipt set corresponding to the transaction set; the block header of the Stable Block can include block height, timestamp Timestamp, transaction root hash Transaction_Root, The receipt root hash Receipt_Root and the state root hash State_Root, etc.; the block proof of the Stable Block is generated based on the signatures of at least n-f consensus nodes on the block header and block body in the Stable Block. The signature list formed by the signature of the hash value of the block header and block body in the block, or it can be the result of compressing the signature list. It should be noted that the newly obtained Raw Block and StableBlock in the blockchain system may have different block heights. For example, the block height of the newly obtained Stable Block in the blockchain node may be h, and the latest obtained through the consensus service The block height of Raw Block may indeed be h+a greater than h.
区块链节点可能难以保证其始终能够正确且有效的完成全部Raw Block和StableBlock的处理过程。例如,区块链节点可能因软件程序更新、异常宕机、计算资源或者存储资源不足而导致的运行缓慢等问题,导致其获得的Raw Block和Stable Block的区块高度落后其他节点。It may be difficult for blockchain nodes to ensure that they can always complete the processing of all Raw Blocks and StableBlocks correctly and effectively. For example, blockchain nodes may run slowly due to software program updates, abnormal downtime, insufficient computing resources or storage resources, resulting in the block height of the Raw Block and Stable Block it obtains lagging behind other nodes.
相关技术中,区块链节点可以从其余N-1个区块链节点同步该区块链节点落后于其余区块链节点的Stable Block。然而参照前文可见,区块链系统中最新获得的Raw Block和Stable Block的区块高度可能并不相同,换而言之即区块链系统中最新获得的RawBlock的区块高度可能领先于Stable Block的区块高度,如果某个区块链节点仅仅从该区块链系统中的其余区块链节点同步其落后的Stable Block,那么可能导致该区块链节点无法参与Raw Block所对应的处理过程,即可能导致该区块链节点无法正常的作为共识节点参与对共识提议进行共识。In related technologies, the blockchain node can synchronize the Stable Block of the blockchain node behind the rest of the blockchain nodes from the remaining N-1 blockchain nodes. However, referring to the above, it can be seen that the block heights of the latest Raw Block and Stable Block in the blockchain system may not be the same. In other words, the block height of the latest Raw Block in the blockchain system may be ahead of the Stable Block block height, if a blockchain node only synchronizes its backward Stable Block from other blockchain nodes in the blockchain system, it may cause the blockchain node to be unable to participate in the processing process corresponding to the Raw Block , which may cause the blockchain node to fail to participate in the consensus proposal as a consensus node.
本说明书实施例中提供了一种区块链系统中的区块同步方法和区块链节点。对于包含N个区块链节点的区块链系统中需要从其它区块链节点同步区块的任意区块链节点,该区块链节点可以从其余N-1个区块链节点接收多个区块状态,单个区块状态中包括其对应的区块链节点最新获得的Raw Block的第一区块高度和Stable Block的第二区块高度;然后根据区块链系统中允许的最大恶意节点数量、各个第一区块高度和各个第二区块高度,确定出将要同步的若干Raw Block和若干Stable Block,并从其余N-1个区块链节点同步该若干Raw Block和该若干Stable Block。如此,区块链节点将会从其余区块链节点同步其自身落后于其余区块链节点的全部Raw Block和Stable Block,使得该区块链节点能够赶上区块链系统的处理进度,以便该区块链节点能够正常的作为共识节点参与对共识提议进行共识。Embodiments of this specification provide a block synchronization method and block chain nodes in a block chain system. For any blockchain node in a blockchain system containing N blockchain nodes that needs to synchronize blocks from other blockchain nodes, the blockchain node can receive multiple Block status, a single block status includes the first block height of Raw Block and the second block height of Stable Block newly obtained by its corresponding blockchain node; then according to the maximum malicious node allowed in the blockchain system Quantity, each first block height and each second block height, determine several Raw Blocks and several Stable Blocks to be synchronized, and synchronize the several Raw Blocks and the several Stable Blocks from the remaining N-1 blockchain nodes . In this way, the blockchain node will synchronize all Raw Blocks and Stable Blocks that are behind other blockchain nodes from other blockchain nodes, so that the blockchain node can catch up with the processing progress of the blockchain system, so that The blockchain node can normally participate in the consensus proposal as a consensus node.
图3为本说明书实施例中提供的一种区块链系统中的区块同步方法的流程图。该区块链系统中可以包括N个区块链节点,该N个区块链节点中可以包括n个共识节点,该区块链系统中允许的最大恶意节点数量为f。该方法可以由该N个区块链节点中的任意区块链节点执行,参见图3所示,该方法可以包括如下步骤S31~步骤S35中的部分或全部。Fig. 3 is a flow chart of a block synchronization method in a blockchain system provided in an embodiment of this specification. The blockchain system may include N blockchain nodes, the N blockchain nodes may include n consensus nodes, and the maximum number of malicious nodes allowed in the blockchain system is f. The method can be executed by any blockchain node among the N blockchain nodes. Referring to FIG. 3 , the method can include part or all of the following steps S31 to S35.
在步骤S31,从其余N-1个区块链节点接收多个区块状态,单个区块状态中包括其对应的区块链节点最新获得的Raw Block的第一区块高度和Stable Block的第二区块高度。In step S31, multiple block states are received from the remaining N-1 blockchain nodes, and a single block state includes the first block height of the Raw Block and the first block height of the Stable Block newly obtained by its corresponding blockchain node. Two block height.
下文中将主要以执行如图3中所示各个方法步骤的区块链节点是N个区块链节点中的节点1为例,示例性描述节点1从节点2~节点N等其余N-1个区块链节点同步区块的过程。In the following, the block chain node performing each method step as shown in Figure 3 is node 1 among the N block chain nodes as an example, and the remaining N-1 nodes from node 2 to node N are exemplarily described. The process of synchronizing blocks between blockchain nodes.
区块链系统中作为共识节点的区块链节点可以广播区块状态。例如对于N个区块链节点中作为共识节点的节点2可以广播其区块状态m2,区块状态m2中可以包括节点2最新获得的Raw Block的区块高度raw_block_number,以及包括节点2最新获得的Stable Block的区块高度stable_block_number。与之相应的是,该区块链系统中的每个节点均可能接收到由共识节点广播的多个区块状态。例如节点1可能从其余N-1个区块链节点接收到n个共识节点中的部分或全部共识节点广播的多个区块状态,获得多个raw_block_number和多个stable_block_number。The blockchain node as a consensus node in the blockchain system can broadcast the block status. For example, node 2 as a consensus node among N blockchain nodes can broadcast its block status m2, which can include the block height raw_block_number of the latest Raw Block obtained by node 2, and the latest Stable Block block height stable_block_number. Correspondingly, each node in the blockchain system may receive multiple block states broadcast by consensus nodes. For example, node 1 may receive multiple block states broadcast by some or all of the n consensus nodes from the remaining N-1 blockchain nodes, and obtain multiple raw_block_numbers and multiple stable_block_numbers.
在步骤S33,根据区块链系统中允许的最大恶意节点数量,各个第一区块高度和各个第二区块高度,确定将要同步的若干Raw Block和若干Stable Block。In step S33, according to the maximum number of malicious nodes allowed in the blockchain system, each first block height and each second block height, determine several Raw Blocks and several Stable Blocks to be synchronized.
节点1可以按照由大到小的顺序对其获得的多个raw_block_number进行排序,根据排列序号为k的第一区块高度确定将要同步的若干raw_block。数值最大的f个raw_block_numberk可能来自恶意节点,因此k的取值可以大于区块链系统中允许的最大恶意节点数量f,排列序号为k的raw_block_number则将是区块链系统中当前最新获得的RawBlock的真实区块高度。示例性的,节点1自身最新获得的raw_block的区块高度是n0,排列序号为k的raw_block_number的取值是nr,那么高度区间[n1,nr]所对应的r个raw_block即是将要同步的若干raw_block。Node 1 can sort the multiple raw_block_numbers it has obtained in descending order, and determine several raw_blocks to be synchronized according to the height of the first block with the sequence number k. The f raw_block_numberk with the largest value may come from malicious nodes, so the value of k can be greater than the maximum number of malicious nodes f allowed in the blockchain system, and the raw_block_number with the sequence number k will be the latest RawBlock currently obtained in the blockchain system The real block height of . Exemplarily, the block height of the latest raw_block obtained by node 1 itself is n0, and the value of raw_block_number with the sequence number k is nr, then the r raw_blocks corresponding to the height interval [n1, nr] are the number of raw_blocks to be synchronized raw_block.
节点1可以确定其获得的多个raw_block_number中,是否存在至少n-f个raw_block_number相同,如果是则基于该相同raw_block_number确定将要同步的若干raw_block。示例性的,节点1自身最新获得的raw_block的区块高度是n0,至少n-f个相同raw_block_number的取值是nr,那么高度区间[n1,nr]所对应的r个Raw Block即是将要同步的若干Raw Block。Node 1 may determine whether at least n-f raw_block_numbers are the same among the multiple raw_block_numbers it has obtained, and if so, determine several raw_blocks to be synchronized based on the same raw_block_number. Exemplarily, the block height of the latest raw_block obtained by node 1 itself is n0, and at least n-f identical raw_block_number values are nr, then the r raw blocks corresponding to the height interval [n1, nr] are the number of blocks to be synchronized Raw Block.
与确定将要同步的若干Raw Block的过程相似,节点1可以将高度区间[m1,ms]所对应的s个Stable Block确定为将要同步的若干Stable Block,此处不再赘述。Similar to the process of determining several Raw Blocks to be synchronized, Node 1 can determine the s Stable Blocks corresponding to the height interval [m1, ms] as several Stable Blocks to be synchronized, which will not be repeated here.
步骤S35,从其余N-1个区块链节点同步该若干Raw Block,以及从其余N-1个区块链节点同步该若干Stable Block。Step S35, synchronizing the several Raw Blocks from the remaining N-1 blockchain nodes, and synchronizing the several Stable Blocks from the remaining N-1 blockchain nodes.
节点1可通过1个或多个执行轮次完成从其余N-1个区块链节点同步该若干RawBlock,以及通过1个或多个执行轮次完成从其余N-1个区块链节点同步该若干StableBlock。通常可以限定单个执行轮次中允许同步的Raw Block/Stable Block的数量,避免相同时段内过多占用资源。Node 1 can complete the synchronization of several RawBlocks from the remaining N-1 blockchain nodes through 1 or more execution rounds, and complete the synchronization from the remaining N-1 blockchain nodes through 1 or more execution rounds The number of StableBlock. Usually, the number of Raw Blocks/Stable Blocks allowed to be synchronized in a single execution round can be limited to avoid excessive resource occupation in the same period of time.
下面结合图4和图5示例性描述通过1个或多个执行轮次,完成从其余N-1个区块链节点同步该若干Raw Block的过程中,任意第i个执行轮次的执行过程。参见图4所示,区块链节点在第i个执行轮次中可以执行如下方法步骤S351~步骤S353中的部分或全部。The following is an exemplary description of the execution process of any i-th execution round in the process of synchronizing the several Raw Blocks from the remaining N-1 blockchain nodes through one or more execution rounds with reference to Figure 4 and Figure 5 . Referring to FIG. 4 , the blockchain node can execute part or all of the following method steps S351 to S353 in the i-th execution round.
在步骤S351,从将要同步的若干Raw Block对应的高度区间确定出至少两个第三区块高度。In step S351, at least two third block heights are determined from height intervals corresponding to several Raw Blocks to be synchronized.
节点1例如可以在第1个执行轮次中,按照由小达到的顺序从若干Raw Block所对应的高度区间[n1,nr]中确定出n1~n3等3个区块高度。节点1可以在大于1的任意第i个执行轮次中,根据第i-1个执行轮次的执行结果,从该若干Raw Block所对应的高度区间[n1,nr]中确定出至少两个第三区块高度。示例性的,第i-1个执行轮次中期望同步区块高度n4~n6等3个区块高度所对应的Raw Block,其中区块高度为n4的Raw Block未能在有限的时间内被同步至节点1,或者区块高度为n4的Raw Block验证失败,则第i个执行轮次中确定的至少两个第三区块高度中可以包括n4,例如第i个执行轮次中从高度区间[n1,nr]中确定的至少两个区块高度,可以包括n4,还可以包括若干Raw Block中未成功同步到节点1的一个或多个Raw Block的区块高度。For example, in the first execution round, node 1 can determine the heights of three blocks, n1 to n3, from the height range [n1, nr] corresponding to several Raw Blocks in order of arrival. In any i-th execution round greater than 1, node 1 can determine at least two The height of the third block. Exemplarily, in the i-1th execution round, it is expected to synchronize the Raw Block corresponding to three block heights such as n4~n6, and the Raw Block with block height n4 cannot be processed within a limited time. Synchronized to node 1, or the verification of the Raw Block with a block height of n4 fails, then at least two third block heights determined in the i-th execution round can include n4, for example, in the i-th execution round, from the height At least two block heights determined in the interval [n1, nr] may include n4, and may also include block heights of one or more Raw Blocks that have not been successfully synchronized to node 1 among several Raw Blocks.
在步骤S352,对于每个第三区块高度,从其余N-1个区块链节点中的第一节点同步其对应的Raw Block,从除第一节点以外的其余N-2个区块链节点获取该Raw Block的多个验证数据。In step S352, for each third block height, synchronize its corresponding Raw Block from the first node in the remaining N-1 blockchain nodes, and synchronize its corresponding Raw Block from the remaining N-2 blockchain nodes except the first node The node obtains multiple verification data of the Raw Block.
示例性的,请参见图5所示,在第1个执行轮次中确定的区块高度包括n1~n3,对于区块高度n1,节点1接收自节点2~节点N等N-1个节点的N-1个raw_block_number均不小于n1,节点1可以基于来自其余N-1个区块链节点的raw_block_number确定其均已成功获得区块高度为n1的Raw Block。此种情况下,节点1例如可以选择从节点2同步区块高度为n1的Raw Block,从节点3~节点N等其余N-2个节点同步区块高度为n1的Raw Block的多个验证数据。Exemplarily, please refer to Figure 5, the block height determined in the first execution round includes n1~n3, for block height n1, node 1 receives N-1 nodes from node 2 to node N N-1 raw_block_numbers are not less than n1, and node 1 can determine that it has successfully obtained a Raw Block with a block height of n1 based on the raw_block_numbers from the remaining N-1 blockchain nodes. In this case, node 1 can, for example, choose to synchronize the Raw Block with a block height of n1 from node 2, and the other N-2 nodes from node 3 to node N to synchronize multiple verification data of the Raw Block with a block height of n1 .
Raw Block的验证数据可以包括由相应区块链节点提供的该Raw Block的哈希值,或者该Raw Block中所包括的按顺序排列的多个交易所对应的交易根哈希。示例性的,节点3可以计算其获得的区块高度为n1的Raw Block的验证数据,并将其计算的验证数据提供给节点1。The verification data of the Raw Block can include the hash value of the Raw Block provided by the corresponding blockchain node, or the transaction root hash corresponding to multiple transactions arranged in order included in the Raw Block. Exemplarily, node 3 can calculate the verification data of the Raw Block whose block height is n1, and provide the calculated verification data to node 1.
在步骤S353,对于至少两个第三区块高度所对应的至少两个Raw Block,根据该至少两个Raw Block所分别对应的多个验证数据,并发验证该至少两个Raw Block。In step S353, for at least two Raw Blocks corresponding to at least two third block heights, concurrently verify the at least two Raw Blocks according to the plurality of verification data respectively corresponding to the at least two Raw Blocks.
在验证数据包括交易根哈希的情况下,例如对于来自节点2的区块高度为n1的RawBlock,节点1可以计算该Raw Block中所包括的按顺序排列的多个交易所对应的交易根哈希H1,来自其余N-2个节点的与该Raw Block对应的多个验证数据中,与交易根哈希H1相同的交易根哈希的数量如果小于n-f-1,则区块高度为n1的Raw Block验证失败。In the case where the verification data includes transaction root hashes, for example, for a RawBlock with a block height of n1 from node 2, node 1 can calculate the transaction root hashes corresponding to multiple transactions arranged in order included in the Raw Block H1, among multiple verification data corresponding to the Raw Block from the remaining N-2 nodes, if the number of transaction root hashes that are the same as the transaction root hash H1 is less than n-f-1, the block height is n1 Raw Block verification failed.
在验证数据包括Raw Block的哈希值的情况下,例如对于来自节点2的区块高度为n1的Raw Block,节点1可以计算该Raw Block的哈希值H2,来自其余N-2个节点的与该RawBlock对应的多个验证数据中,与哈希值H2相同的哈希值的数量如果小于n-f-1,则区块高度为n1的Raw Block验证失败。In the case that the verification data includes the hash value of the Raw Block, for example, for the Raw Block with block height n1 from node 2, node 1 can calculate the hash value H2 of the Raw Block, and the hash value H2 from the remaining N-2 nodes Among multiple verification data corresponding to the RawBlock, if the number of the same hash value as the hash value H2 is less than n-f-1, the verification of the Raw Block with a block height of n1 fails.
在Raw Block通过验证后,节点1可以对其同步的Raw Block进行安装,即持久化存储。After the Raw Block is verified, node 1 can install its synchronized Raw Block, which is persistent storage.
下面结合图6和图7示例性描述通过1个或多个执行轮次,完成从其余N-1个区块链节点同步该若干Stable Block的过程中,任意第i个执行轮次的执行过程。参见图6所示,区块链节点在任意第j个执行轮次可以执行如下方法步骤S354~步骤S359中的部分或全部。The following is an exemplary description of the execution process of any i-th execution round in the process of synchronizing the several Stable Blocks from the remaining N-1 blockchain nodes through one or more execution rounds in conjunction with Fig. 6 and Fig. 7 . Referring to Fig. 6, the blockchain node can execute part or all of the following method steps S354 to S359 in any j-th execution round.
在步骤S354,从将要同步的若干Stable Block对应的高度区间确定至少两个第四区块高度。In step S354, at least two fourth block heights are determined from height intervals corresponding to several Stable Blocks to be synchronized.
节点1例如可以在第1个执行轮次中,按照由小到大的顺序从若干Stable Block所对应的高度区间[m1,ms]中确定出m1~m3等3个区块高度。节点1可以在大于1的任意第j个执行轮次中,根据第j-1个执行轮次的执行结果,从若干Stable Block所对应的高度区间[m1,ms]中确定出至少两个第四区块高度。示例性的,参见图7,第1个执行轮次中期望从节点2同步区块高度m1~m3等3个区块高度所对应的Stable Block,区块高度为m3的StableBlock未能在有限的时间内被同步至节点1,或者区块高度为m3的Stable Block验证失败,例如其区块头验证失败或者区块证明验证失败,则第2个执行轮次中确定的至少两个第四区块高度中包括m3,还包括若干Stable Block中目前未同步到节点1的一个或多个StableBlock所对应的区块高度。其中需要特别说明的是,如果区块链系统在运行过程中,某个区块链节点的角色可能在共识节点和非共识节点间发生变化,则第j个执行轮次中从高度区间[m1,ms]中确定的至少两个第四区块高度,还应当能够组成属于高度区间[m1,ms]的子区间;例如请继续参见图7,第1个执行轮次中区块高度为m3的Stable Block未能在有效的时间内同步到节点1或者未能通过验证,则第2个执行轮次中确定的至少两个第四区块高度例如可以是高度区间[m1,ms]的子区间[m3,m5]。For example, in the first execution round, node 1 can determine the heights of three blocks, m1 to m3, from the height range [m1, ms] corresponding to several Stable Blocks in ascending order. Node 1 can determine at least two height intervals [m1, ms] corresponding to several Stable Blocks according to the execution result of the j-1th execution round in any jth execution round greater than 1. Four block height. For example, see Figure 7. In the first execution round, it is expected that the slave node 2 will synchronize the Stable Blocks corresponding to the three block heights m1~m3, and the StableBlock with the block height m3 fails to Synchronized to node 1 within a certain period of time, or the Stable Block whose block height is m3 fails to verify, for example, its block header verification fails or block proof verification fails, then at least two fourth blocks determined in the second execution round The height includes m3, and also includes the block height corresponding to one or more StableBlocks that are not currently synchronized to node 1 among several Stable Blocks. What needs to be specially explained is that if the role of a certain blockchain node may change between the consensus node and the non-consensus node during the operation of the blockchain system, then in the jth execution round, the height interval [m1 , ms], at least two fourth block heights determined in it should also be able to form sub-intervals belonging to the height interval [m1, ms]; for example, please continue to refer to Figure 7, the block height in the first execution round is m3 If the Stable Block fails to be synchronized to node 1 within the effective time or fails to pass the verification, then at least two heights of the fourth block determined in the second execution round can be, for example, a subset of the height interval [m1, ms]. Interval [m3, m5].
在步骤S355,根据至少两个第四区块高度,从其余N-1个区块链节点中的若干第二节点同步至少两个Stable Block。参见图7所示,可以从单个第二节点同步该至少两个第四区块高度所对应的至少两个Stable Block,也可以从多个第二节点同步该至少两个StableBlock。In step S355, according to at least two fourth block heights, at least two Stable Blocks are synchronized from several second nodes in the remaining N-1 blockchain nodes. Referring to FIG. 7 , at least two Stable Blocks corresponding to the at least two fourth block heights may be synchronized from a single second node, or the at least two Stable Blocks may be synchronized from multiple second nodes.
在步骤S356,并发验证该至少两个Stable Block的区块头。In step S356, concurrently verify the block headers of the at least two Stable Blocks.
验证Stable Block的区块头,可以包括Stable Block的区块头中所包括的交易根哈希以及状态根哈希等信息,该部分信息可以通过Stable Block自身的区块体中所包括的交易集合和/或收据集合进行验证,因此可以并行验证至少两个Stable Block的区块头,从而提高验证效率。其中需要说明的是,如果区块链系统在运行过程中,区块链节点的角色可能在共识节点和非共识节点间发生变化,则用于并发验证至少两个Stable Block的区块头的线程池队列的数目,需要满足不小于至少两个Stable Block的数量,避免区块高度较大的Stable Block充满线程池队列后,区块高度较小的Stable Block无法验证区块头而后续无法继续验证Stable Block的区块证明。Verify the block header of the Stable Block, which can include information such as the transaction root hash and the state root hash included in the block header of the Stable Block. This part of information can be passed through the transaction set and / Or receipt collection for verification, so the block headers of at least two Stable Blocks can be verified in parallel, thereby improving verification efficiency. It should be noted that if the role of blockchain nodes may change between consensus nodes and non-consensus nodes during the operation of the blockchain system, the thread pool used to concurrently verify the block headers of at least two Stable Blocks The number of queues needs to be not less than at least two Stable Blocks to avoid that after the Stable Block with a larger block height fills the thread pool queue, the Stable Block with a smaller block height cannot verify the block header and cannot continue to verify the Stable Block. block proof.
对区块头通过验证的Stable Block,可以接着对其包括的区块证明进行验证。其中如果区块链系统在运行过程中,区块链节点的角色可能在共识节点和非共识节点间发生变化,需要按照区块高度由小到大的顺序,依次验证区块头通过验证的至少两个StableBlock。例如通过如下步骤S357和步骤S358完成对区块头通过验证的Stable Block所包括的区块证明进行验证。The Stable Block whose block header has been verified can then verify the block proof it includes. Among them, if the blockchain system is running, the roles of blockchain nodes may change between consensus nodes and non-consensus nodes, and it is necessary to verify at least two of the block headers that have passed the verification in the order of block height from small to large. A StableBlock. For example, through the following steps S357 and S358, the verification of the block certificate included in the Stable Block whose block header is verified is completed.
在步骤S357,根据至少两个第四区块高度的大小从至少两个Stable Block中确定目标区块。In step S357, the target block is determined from at least two Stable Blocks according to the size of at least two fourth block heights.
可以按照区块高度由小到大的顺序,从至少两个第四区块高度中依次选择未被选择过的第四区块高度,将被选择的第四区块高度所对应的Stable Block作为目标区块。如果目标区块的区块头未通过验证,可以直接结束当前执行轮次并开始下一个执行轮次的执行过程。如果目标区块的区块头已通过验证,则可以继续执行如下步骤S358。According to the order of block heights from small to large, the unselected fourth block height can be selected from at least two fourth block heights, and the Stable Block corresponding to the selected fourth block height can be used as target block. If the block header of the target block fails the verification, the current execution round can be ended directly and the execution process of the next execution round can be started. If the block header of the target block has passed the verification, the following step S358 may be performed.
在步骤S358,获取目标区块对应的多个共识节点各自的公钥,并根据该多个共识节点各自的公钥验证目标区块中的区块证明。In step S358, obtain the respective public keys of multiple consensus nodes corresponding to the target block, and verify the block certificate in the target block according to the respective public keys of the multiple consensus nodes.
对于区块头和区块证明均通过验证的Stable Block,节点1可以执行通过执行Stable Block中的交易集合所包括的多个交易,对应更新其自身存储的状态数据;或者节点1例如可以根据Stable Block中所包括收据集合对应更新其自身存储的状态数据。进而,通过其存储的状态数据,可以发现区块链节点的角色在共识节点和非共识节点间变化的情况,确定出目标区块所对应的多个共识节点,进而获取该多个共识节点各自的公钥,并利用该多个共识节点各自的公钥验证目标区块中的区块证明。如果目标区块中的区块证明验证失败,节点1可以直接结束当前执行轮次并开始下一个执行轮次的执行过程。For a Stable Block whose block header and block certificate have passed verification, Node 1 can execute multiple transactions included in the transaction set in the Stable Block, and update its own stored state data accordingly; or Node 1 can, for example, according to the Stable Block The receipt collection included in corresponds to updating its own stored state data. Furthermore, through the stored state data, it is possible to discover the change of the role of the blockchain node between the consensus node and the non-consensus node, determine the multiple consensus nodes corresponding to the target block, and then obtain the respective consensus nodes of the multiple consensus nodes. public key, and use the respective public keys of the multiple consensus nodes to verify the block proof in the target block. If the block proof verification in the target block fails, node 1 can directly end the current execution round and start the execution process of the next execution round.
对于从其余N-1个节点同步的并且通过验证的若干Stable Block,节点1可以对若干Stable Block进行持久化存储,并且按照区块高度由小到大的顺序,依次执行该若干Stable Block中各自包括的多个交易,进而对应更新节点1存储的状态数据。对于从其余N-1个节点同步的并且通过验证的若干Raw Block,节点1可以对若干Raw Block进行持久化存储;此外继续假设若干Stable Block所对应的高度区间是[m1,ms]、若干Raw Block所对应的高度区间是[n1,nr],则节点1还需要对若干Raw Block中,通过其它计算服务对与高度区间[ms+1,nr]对应的各个Raw Block进行依次处理,进而获得与高度区间[ms+1,nr]相对应的各个Stable Block。For several Stable Blocks that are synchronized from the remaining N-1 nodes and passed the verification, node 1 can persistently store several Stable Blocks, and execute each of the several Stable Blocks sequentially in order of block height from small to large. The multiple transactions included correspond to update the status data stored by node 1. For several Raw Blocks that are synchronized from the remaining N-1 nodes and passed the verification, node 1 can persistently store several Raw Blocks; in addition, continue to assume that the height intervals corresponding to several Stable Blocks are [m1, ms], several Raw Blocks The height range corresponding to the block is [n1, nr], then node 1 needs to sequentially process each Raw Block corresponding to the height range [ms+1, nr] through other computing services among several Raw Blocks, and then obtain Each Stable Block corresponding to the height interval [ms+1, nr].
与前述方法实施例基于相同的构思,本说明书实施例中还提供了一种区块链系统中的区块链节点,所述区块链系统中包括N个所述区块链节点。如图8所示,所述区块链节点包括:状态获取单元81,配置为从其余N-1个区块链节点接收多个区块状态,单个所述区块状态中包括其对应的区块链节点最新获得的第一类区块的第一区块高度和第二类区块的第二区块高度,所述第一类区块包括达成共识的共识提议所指示的按顺序排列的多个交易,所述第二类区块基于与其具有相同区块高度的第一类区块获得,所述第二类区块包括区块头、区块体和区块证明;区块确定单元83,配置为根据所述区块链系统中允许的最大恶意节点数量,各个所述第一区块高度和各个所述第二区块高度,确定将要同步的若干第一类区块和若干第二类区块;同步处理单元85,配置为从所述N-1个区块链节点同步所述若干第一类区块,以及从所述N-1个区块链节点同步所述若干第二类区块。Based on the same concept as the foregoing method embodiments, the embodiments of this specification also provide a blockchain node in a blockchain system, and the blockchain system includes N blockchain nodes. As shown in FIG. 8 , the blockchain node includes: a state acquisition unit 81 configured to receive a plurality of block states from the remaining N-1 blockchain nodes, and a single block state includes its corresponding block state The first block height of the first type of block and the second block height of the second type of block newly obtained by the block chain node, the first type of block includes the sequentially arranged A plurality of transactions, the second type of block is obtained based on the first type of block having the same block height, the second type of block includes block header, block body and block proof; block determination unit 83 , configured to determine several first-type blocks and several second class blocks; synchronization processing unit 85, configured to synchronize the several first-type blocks from the N-1 blockchain nodes, and synchronize the several second-type blocks from the N-1 blockchain nodes class blocks.
在一种可能的实施方式中,所述同步处理单元85,具体配置为从所述若干第一类区块所对应的高度区间确定出至少两个第三区块高度;以及,根据所述至少两个第三区块高度,从所述N-1个区块链节点中的第一节点同步至少两个第一类区块;所述同步处理单元85,还配置为从所述N-1个区块链节点中除所述第一节点以外的其余N-2个区块链节点,获取所述至少两个第一类区块所分别对应的多个验证数据;根据所述至少两个第一类区块所分别对应的多个验证数据,并发验证所述至少两个第一类区块。In a possible implementation manner, the synchronization processing unit 85 is specifically configured to determine at least two third block heights from the height intervals corresponding to the several first-type blocks; and, according to the at least Two third block heights, synchronizing at least two first-type blocks from the first node in the N-1 blockchain nodes; the synchronization processing unit 85 is also configured to start from the N-1 The remaining N-2 blockchain nodes except the first node among the blockchain nodes obtain multiple verification data corresponding to the at least two first-type blocks; according to the at least two A plurality of verification data respectively corresponding to the blocks of the first type concurrently verify the at least two blocks of the first type.
在一种可能的实施方式中,所述第一类区块所对应的验证数据包括,所述第一类区块的哈希值,和/或,所述第一类区块中按顺序排列的多个交易所对应的交易根。In a possible implementation manner, the verification data corresponding to the first type of block includes the hash value of the first type of block, and/or, the sequentially arranged The transaction root corresponding to multiple exchanges of .
在一种可能的实施方式中,从所述N-1个区块链节点同步所述若干第一类区块的过程包括多个执行轮次;在任意第i个执行轮次中确定的至少两个第三区块高度包括,第i-1个执行轮次中同步的并且未通过验证的第一类区块所对应的区块高度。In a possible implementation manner, the process of synchronizing the several first-type blocks from the N-1 blockchain nodes includes multiple execution rounds; at least The two third block heights include the block height corresponding to the block of the first type that is synchronized in the i-1th execution round and has not passed the verification.
在一种可能的实施方式中,所述同步处理单元85,具体配置为从所述若干第二类区块所对应的高度区间确定出至少两个第四区块高度;以及,根据所述至少两个第四区块高度,从所述N-1个区块链节点中的若干第二节点同步至少两个第二类区块;所述同步处理单元85,还配置为并发验证所述至少两个第二类区块的区块头;以及,对区块头通过验证的第二类区块所包括的区块证明进行验证。In a possible implementation manner, the synchronization processing unit 85 is specifically configured to determine at least two fourth block heights from the height intervals corresponding to the several second-type blocks; and, according to the at least Two fourth block heights, synchronizing at least two second-type blocks from several second nodes in the N-1 blockchain nodes; the synchronization processing unit 85 is also configured to concurrently verify the at least The block headers of the two second-type blocks; and, verifying the block proofs included in the second-type blocks whose block headers have been verified.
在一种可能的实施方式中,所述至少两个第四区块高度为,所述若干第二类区块所对应的高度区间的子区间中所包括的各个区块高度;所述第二类区块中的区块证明,基于所述第二类区块对应的多个共识节点对所述第二类区块中区块头和区块体的签名获得;所述同步处理单元85,具体配置为根据所述至少两个第四区块高度的大小从所述至少两个第二类区块中确定目标区块;在所述目标区块的区块头已通过验证的情况下,获取所述目标区块对应的多个共识节点的公钥;以及,根据所述多个共识节点的公钥验证所述目标区块中的区块证明。In a possible implementation manner, the heights of the at least two fourth blocks are the heights of the blocks included in the sub-intervals of the height intervals corresponding to the several second-type blocks; the second The block certificate in the block of the second type is obtained based on the signatures of the block header and the body of the block in the block of the second type by multiple consensus nodes corresponding to the block of the second type; the synchronization processing unit 85, specifically It is configured to determine the target block from the at least two second-type blocks according to the size of the height of the at least two fourth blocks; when the block header of the target block has passed the verification, obtain the public keys of multiple consensus nodes corresponding to the target block; and verifying block certificates in the target block according to the public keys of the multiple consensus nodes.
在一种可能的实施方式中,从所述N-1个区块链节点同步所述若干第二类区块的过程包括多个执行轮次;在任意第j个执行轮次中确定的至少两个第四区块高度包括,第j-1个执行轮次中同步的并且区块头或区块证明未通过验证的第二类区块所对应的区块高度。In a possible implementation manner, the process of synchronizing the several second-type blocks from the N-1 blockchain nodes includes multiple execution rounds; at least The two fourth block heights include the block height corresponding to the second type of block that is synchronized in the j-1th execution round and whose block header or block proof has not passed the verification.
在一种可能的实施方式中,所述区块确定单元83,具体配置为按照由大到小的顺序对各个所述第一区块高度进行排序,根据排列序号为k的第一区块高度确定将要同步的若干第一类区块;和/或,按照由大到小的顺序对各个所述第二区块高度进行排序,根据排列序号为k的第二区块高度确定将要同步的若干第二类区块;其中,k的取值大于所述区块链系统中允许的最大恶意节点数量。In a possible implementation manner, the block determination unit 83 is specifically configured to sort the heights of the first blocks in descending order, according to the height of the first block with the sequence number k Determine a number of blocks of the first type to be synchronized; and/or, sort the heights of each of the second blocks in descending order, and determine the number of blocks to be synchronized according to the height of the second block with the sequence number k The second type of block; wherein, the value of k is greater than the maximum number of malicious nodes allowed in the blockchain system.
本说明书实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行前述方法实施例中由区块链节点所执行的方法。The embodiment of this specification also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed in the computer, the computer is instructed to execute the method executed by the blockchain node in the foregoing method embodiment. method.
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, the improvement of a technology can be clearly distinguished as an improvement in hardware (for example, improvements in circuit structures such as diodes, transistors, and switches) or improvements in software (improvement in method flow). However, with the development of technology, the improvement of many current method flows can be regarded as the direct improvement of the hardware circuit structure. Designers almost always get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware physical modules. For example, a programmable logic device (Programmable Logic Device, PLD) (such as a field programmable gate array (Field Programmable GateArray, FPGA)) is such an integrated circuit, the logic function of which is determined by the user's programming of the device. It is programmed by the designer to "integrate" a digital system on a PLD, instead of asking a chip manufacturer to design and make a dedicated integrated circuit chip. Moreover, nowadays, instead of making integrated circuit chips by hand, this kind of programming is mostly realized by "logic compiler (logic compiler)" software, which is similar to the software compiler used when program development and writing, but before compiling The original code of the computer must also be written in a specific programming language, which is called a hardware description language (Hardware Description Language, HDL), and there is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., currently the most commonly used is VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should also be clear to those skilled in the art that only a little logical programming of the method flow in the above-mentioned hardware description languages and programming into an integrated circuit can easily obtain a hardware circuit for realizing the logic method flow.
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable way, for example the controller may take the form of a microprocessor or processor and a computer readable medium storing computer readable program code (such as software or firmware) executable by the (micro)processor , logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to realizing the controller in a purely computer-readable program code mode, it is entirely possible to make the controller use logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded The same function can be realized in the form of a microcontroller or the like. Therefore, such a controller can be regarded as a hardware component, and the devices included in it for realizing various functions can also be regarded as structures within the hardware component. Or even, means for realizing various functions can be regarded as a structure within both a software module realizing a method and a hardware component.
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules, or units described in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a server system. Of course, the present application does not exclude that with the development of future computer technology, the computer that realizes the functions of the above embodiments can be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant , media players, navigation devices, email devices, game consoles, tablet computers, wearable devices, or any combination of these devices.
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。Although one or more embodiments of the present specification provide the operation steps of the method described in the embodiment or the flowchart, more or fewer operation steps may be included based on conventional or non-inventive means. The sequence of steps enumerated in the embodiments is only one of the execution sequences of many steps, and does not represent the only execution sequence. When an actual device or terminal product is executed, the methods shown in the embodiments or drawings can be executed sequentially or in parallel (such as a parallel processor or multi-thread processing environment, or even a distributed data processing environment). The term "comprising", "comprising" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, product, or apparatus comprising a set of elements includes not only those elements, but also other elements not expressly listed elements, or also elements inherent in such a process, method, product, or apparatus. Without further limitations, it is not excluded that there are additional identical or equivalent elements in a process, method, product or device comprising said elements. For example, if the words first, second, etc. are used, they are used to indicate names and do not indicate any particular order.
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。For the convenience of description, when describing the above devices, functions are divided into various modules and described separately. Of course, when implementing one or more of this specification, the functions of each module can be realized in the same or more software and/or hardware, and the modules that realize the same function can also be realized by a combination of multiple submodules or subunits, etc. . The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated. to another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general purpose computer, special purpose computer, embedded processor, or processor of other programmable data processing equipment to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing equipment produce a An apparatus for realizing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions The device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby The instructions provide steps for implementing the functions specified in the flow chart or blocks of the flowchart and/or the block or blocks of the block diagrams.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-permanent storage in computer-readable media, in the form of random access memory (RAM) and/or nonvolatile memory such as read-only memory (ROM) or flash RAM. Memory is an example of computer readable media.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can be implemented by any method or technology for storage of information. Information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape disk storage, graphene storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by computing devices. As defined herein, computer-readable media excludes transitory computer-readable media, such as modulated data signals and carrier waves.
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that one or more embodiments of this specification may be provided as a method, system or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may employ a computer program embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein. The form of the product.
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。One or more embodiments of this specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present description may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。Each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for relevant parts, refer to part of the description of the method embodiment. In the description of this specification, descriptions referring to the terms "one embodiment", "some embodiments", "example", "specific examples", or "some examples" mean that specific features described in connection with the embodiment or example , structures, materials or features are included in at least one embodiment or example of this specification. In this specification, the schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the described specific features, structures, materials or characteristics may be combined in any suitable manner in any one or more embodiments or examples. In addition, those skilled in the art may combine and combine different embodiments or examples and features of different embodiments or examples described in this specification under the condition of not contradicting each other.
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。The above description is only an example of one or more embodiments of this specification, and is not intended to limit one or more embodiments of this specification. For those skilled in the art, various modifications and changes may occur in one or more embodiments of this description. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this specification shall be included in the scope of the claims.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733516.8A CN115987528A (en) | 2022-12-30 | 2022-12-30 | Block synchronization method and block link point in block link system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733516.8A CN115987528A (en) | 2022-12-30 | 2022-12-30 | Block synchronization method and block link point in block link system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115987528A true CN115987528A (en) | 2023-04-18 |
Family
ID=85972043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211733516.8A Pending CN115987528A (en) | 2022-12-30 | 2022-12-30 | Block synchronization method and block link point in block link system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987528A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101677A (en) * | 2024-04-28 | 2024-05-28 | 杭州高新区(滨江)区块链与数据安全研究院 | Block chain synchronization method, device and storage medium based on state increment |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587263A (en) * | 2018-12-20 | 2019-04-05 | 众安信息技术服务有限公司 | A kind of block synchronous method and system |
CN111444204A (en) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | Synchronous processing method, device, equipment and medium |
CN112800129A (en) * | 2020-12-31 | 2021-05-14 | 杭州趣链科技有限公司 | Block state updating method, device and system and electronic equipment |
WO2022120521A1 (en) * | 2020-12-07 | 2022-06-16 | 合肥达朴汇联科技有限公司 | Blockchain consensus method and system, and electronic device and storage medium |
US20220253458A1 (en) * | 2019-09-20 | 2022-08-11 | Jingdong Technology Information Technology Co., Ltd. | Method and device for synchronizing node data |
CN114996350A (en) * | 2022-04-28 | 2022-09-02 | 蚂蚁区块链科技(上海)有限公司 | Block state synchronization method in block chain and first node |
CN115296843A (en) * | 2022-06-29 | 2022-11-04 | 蚂蚁区块链科技(上海)有限公司 | Transaction execution method in blockchain system, first node and second node |
-
2022
- 2022-12-30 CN CN202211733516.8A patent/CN115987528A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587263A (en) * | 2018-12-20 | 2019-04-05 | 众安信息技术服务有限公司 | A kind of block synchronous method and system |
US20220253458A1 (en) * | 2019-09-20 | 2022-08-11 | Jingdong Technology Information Technology Co., Ltd. | Method and device for synchronizing node data |
CN111444204A (en) * | 2020-03-24 | 2020-07-24 | 腾讯科技(深圳)有限公司 | Synchronous processing method, device, equipment and medium |
WO2022120521A1 (en) * | 2020-12-07 | 2022-06-16 | 合肥达朴汇联科技有限公司 | Blockchain consensus method and system, and electronic device and storage medium |
CN112800129A (en) * | 2020-12-31 | 2021-05-14 | 杭州趣链科技有限公司 | Block state updating method, device and system and electronic equipment |
CN114996350A (en) * | 2022-04-28 | 2022-09-02 | 蚂蚁区块链科技(上海)有限公司 | Block state synchronization method in block chain and first node |
CN115296843A (en) * | 2022-06-29 | 2022-11-04 | 蚂蚁区块链科技(上海)有限公司 | Transaction execution method in blockchain system, first node and second node |
Non-Patent Citations (1)
Title |
---|
于雷: "CHB-Consensus:一种基于一致性哈希算法的区块链共识机制研究", 高技术通讯, 15 October 2018 (2018-10-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101677A (en) * | 2024-04-28 | 2024-05-28 | 杭州高新区(滨江)区块链与数据安全研究院 | Block chain synchronization method, device and storage medium based on state increment |
CN118101677B (en) * | 2024-04-28 | 2025-02-07 | 杭州高新区(滨江)区块链与数据安全研究院 | A blockchain synchronization method, device and storage medium based on state increment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6940615B2 (en) | Data processing methods and devices | |
CN107590738A (en) | Processing method, device and the server of selection common recognition node | |
WO2023056958A1 (en) | Consensus method, blockchain system, and consensus node | |
CN114942847B (en) | Methods and blockchain nodes for executing transactions | |
WO2024001024A1 (en) | Method for executing transaction in blockchain system, and blockchain system and nodes | |
WO2023056964A1 (en) | Consensus method, blockchain system, and consensus node | |
WO2023056967A1 (en) | Consensus method, blockchain system and consensus nodes | |
CN114996350A (en) | Block state synchronization method in block chain and first node | |
WO2023231337A1 (en) | Method for executing transaction in blockchain, and master node and slave node of blockchain | |
CN115150409B (en) | Method for executing transaction in blockchain system, node and computer readable storage medium | |
CN114663235A (en) | Method and device for executing transaction in block chain | |
WO2025000878A1 (en) | Transaction execution method, node, and blockchain system | |
WO2024113956A1 (en) | Node selection method and apparatus, first node, storage medium and program product | |
CN115987528A (en) | Block synchronization method and block link point in block link system | |
CN115714652A (en) | Transaction execution method and block link point | |
WO2023056966A1 (en) | Consensus method, blockchain system, and consensus node | |
CN115174572B (en) | Data multicasting method in blockchain, blockchain node and storage medium | |
TW201933851A (en) | Service update method and device, system | |
CN115098595A (en) | Node grouping method in blockchain system and blockchain node | |
WO2025000877A1 (en) | View switching method in pbft algorithm, consensus node and blockchain system | |
CN115174573B (en) | Data broadcasting method in block chain system, node and block chain system | |
CN116431312A (en) | Transaction execution method and block link point in block chain system | |
CN115174574A (en) | Data broadcasting method in block chain system, node and block chain system | |
CN117273924A (en) | Transaction execution method and device and electronic equipment | |
CN116366666A (en) | Chain state updating method and block link point in block chain system |
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 |