WO2023131002A1 - 区块链共识方法及计算机可读存储介质 - Google Patents

区块链共识方法及计算机可读存储介质 Download PDF

Info

Publication number
WO2023131002A1
WO2023131002A1 PCT/CN2022/142357 CN2022142357W WO2023131002A1 WO 2023131002 A1 WO2023131002 A1 WO 2023131002A1 CN 2022142357 W CN2022142357 W CN 2022142357W WO 2023131002 A1 WO2023131002 A1 WO 2023131002A1
Authority
WO
WIPO (PCT)
Prior art keywords
consensus
nodes
pbft
node
poa
Prior art date
Application number
PCT/CN2022/142357
Other languages
English (en)
French (fr)
Inventor
艾景海
马廷
鲍乐祥
纪玉翀
Original Assignee
青岛海尔电冰箱有限公司
海尔智家股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 青岛海尔电冰箱有限公司, 海尔智家股份有限公司 filed Critical 青岛海尔电冰箱有限公司
Publication of WO2023131002A1 publication Critical patent/WO2023131002A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Definitions

  • the invention relates to network information technology, in particular to a blockchain consensus method and a computer-readable storage medium.
  • POA Proof of Authority
  • the nodes of POA include ordinary nodes (nodes) and authorized nodes (signers), among which ordinary nodes do not have the right to generate blocks.
  • Authorized nodes are responsible for generating blocks.
  • master nodes Authorized nodes for bookkeeping are called master nodes (or miners).
  • the master node In the process of generating blocks, the master node is the clear center on the network, and other nodes cannot supervise the behavior of the master node. If the master node itself launches a malicious attack on the network, it can easily succeed.
  • the information of the verification node is public, and it is easy to be attacked by an external network, causing a single point of failure or a Byzantine problem.
  • POA as a consensus mechanism with obvious centralization, lacks security against malicious attacks, and the security risks brought about by centralization need to be resolved.
  • An object of the present invention is to provide a method for improving the security of blockchain consensus.
  • a further purpose of the present invention is to combine the PBFT consensus to weaken the rights of the central node and avoid malicious attacks of the central node.
  • a block chain consensus method comprising:
  • the consensus result will be broadcast to all nodes in the blockchain to synchronize the ledger state to form a new block.
  • a new round of POA elections will be carried out to re-determine multiple consensus nodes.
  • the step of conducting a new round of POA election it also includes:
  • the PBFT master node is a malicious node, delete the address of the PBFT master node in the POA committee set;
  • the address of the PBFT master node will be reserved in the POA committee set.
  • the POA committee set is used to store the addresses of the authorized nodes, and the authorized nodes are arranged according to the address size, and the POA committee set is stored in an additional field of the block header.
  • the step of using a preset priority algorithm to determine the PBFT master node from multiple consensus nodes includes:
  • the PBFT master node is determined according to the relative size of the serial number and the remainder.
  • the above blockchain consensus method also includes:
  • Authorized nodes vote on the proposal, and after the proportion of votes in favor exceeds the set ratio threshold, new nodes will be added to the authorized node.
  • step of determining multiple consensus nodes through POA election it also includes:
  • the consensus calculation is performed according to the POA method
  • the consensus switching process is triggered.
  • the consensus switching process includes:
  • all authorized nodes switch the consensus mechanism after waiting for the master node to complete the block chaining.
  • a computer-readable storage medium on which a machine-executable program is stored, and when the machine-executable program is executed by a processor, any one of the above blockchain consensus method.
  • the blockchain consensus method of the present invention improves the existing POA consensus algorithm, determines multiple consensus nodes from authorized nodes through POA elections, and determines PBFT (Practical Byzantine) from consensus nodes using a preset priority algorithm. Fault Tolerance, Practical Byzantine Fault Tolerance) master node.
  • PBFT consensus mechanism a weakly centralized consensus mechanism, has its own natural advantages in resisting the Byzantine problem, weakening the risk of the master node being evil, and realizing the equal status of the relative nodes.
  • the blockchain consensus method of the present invention combines the Byzantine fault-tolerant consensus mechanism of the PBFT master-slave node with the POA consensus when generating blocks, and improves the existing POA consensus mechanism through the PBFT three-stage consensus protocol to avoid POA Malicious attacks brought about by the serious centralization of the consensus mechanism.
  • the block chain consensus method of the present invention also designs a set of procedures for switching the consensus mechanism from the traditional POA to an improved consensus mechanism combining PBFT and POA. After the authorized nodes exceed the set threshold, the consensus switching process will be triggered, and the authorized nodes participating in the next block consensus will be quickly switched to the improved consensus mechanism combining PBFT and POA. On the one hand, it will not affect the ongoing block consensus. On the one hand, it can improve the block generation efficiency of the next block.
  • the block chain consensus method of the present invention is applicable to alliance chains, and is controlled by authorized nodes as a whole, which improves security on the premise of ensuring block generation efficiency.
  • Fig. 1 is a schematic diagram of a block chain consensus method according to an embodiment of the present invention
  • Fig. 2 is a schematic diagram of the consensus process in the block chain consensus method according to one embodiment of the present invention.
  • Fig. 3 is a schematic flow diagram of switching the consensus mechanism in the blockchain consensus method according to one embodiment of the present invention.
  • FIG. 4 is a schematic block diagram of a machine-readable storage medium according to one embodiment of the present invention.
  • Fig. 1 is a schematic diagram of a block chain consensus method according to an embodiment of the present invention, the block chain consensus method may generally include:
  • step S102 multiple consensus nodes are determined from authorized nodes through POA election.
  • the address of the authorized node is stored in an extra field (extra) in the block header (header).
  • extra extra field
  • the POA committee set can be stored in the additional field of the block header, and the POA committee set is used to store the addresses of the authorized nodes, wherein the authorized nodes are arranged according to the address size.
  • An initial set of authorized nodes is specified in the genesis block.
  • Authorized nodes may be added or deleted later, so authorized nodes stored in blocks of different heights may be different.
  • Step S104 using a preset priority algorithm to determine the PBFT master node from multiple consensus nodes, and use the remaining consensus nodes as PBFT verification nodes.
  • the priority algorithm prioritizes multiple consensus nodes, and the consensus node with the highest priority is used as the PBFT master node.
  • four consensus nodes can be used, that is, one PBFT master node and three PBFT verification nodes are determined.
  • a specific priority algorithm is: obtain the serial numbers of multiple consensus nodes in the POA committee set and the total number of authorized nodes in the POA committee set; use the block number of the block to be generated to perform a remainder operation on the total number of authorized nodes, and obtain Remainder: Determine the PBFT master node according to the relative size of the serial number and the remainder. For example, the block number of the block to be generated is recorded as Number, Signers is the committee set, and is arranged in ascending order according to the address of the authorized node, then (len(signers) is the total number of authorized nodes; the serial number of the consensus node in the POA committee set ( or called position) is recorded as Offset.
  • the formula for the remainder operation is: number%uint64(len(signers)).
  • the genesis block presets the smart contract, and uses the smart contract to implement the above-mentioned priority algorithm to determine the PBFT master-slave nodes (master node, verification node). Since all nodes must be executed in accordance with the smart contract, the four PBFT master-slave node addresses with consistent results obtained through calculation, when generating a new block, the four PBFT master-slave nodes calculated by the algorithm automatically perform a Byzantine fault-tolerant consensus mechanism. While other nodes wait for the second consensus result, and then synchronize the block data.
  • Step S106 use PBFT master node and PBFT verification node to perform PBFT consensus operation.
  • PBFT is a state machine replica replication algorithm, that is, the service is modeled as a state machine, and the state machine performs replica replication on different nodes of the distributed system. Each copy of the state machine saves the state of the service and also implements the operation of the service.
  • PBFT jointly maintains a state, and all nodes take the same actions.
  • PBFT needs to run three basic types of protocols, including consensus protocols, checkpoint protocols, and view replacement protocols. We mainly focus on the consensus protocols that support the day-to-day operation of the system.
  • the consistency protocol includes at least several stages: request (request), serial number allocation (pre-prepare), mutual interaction (prepare), serial number confirmation (commit), and response (reply).
  • request request
  • serial number allocation pre-prepare
  • mutual interaction prepare
  • serial number confirmation commit
  • response response
  • the basic process of PBFT consensus operation includes: the client sends a request (request), and activates the service operation of the PBFT master node.
  • the PBFT master node receives the request, it starts a three-phase protocol to broadcast the request to each PBFT verification node.
  • the client waits for responses from different nodes. If there are more than a preset number of responses that are the same, the response is the result of the operation.
  • the three-stage protocol includes: the serial number allocation phase, the PBFT master node assigns a serial number n to the request, broadcasts the serial number allocation message and the client’s request message m, and constructs a pre-prepare message to each PBFT verification node; the interaction phase, PBFT verification The node receives the pre-prepare message and broadcasts the prepare message to other nodes; in the serial number confirmation phase, each node verifies the request and sequence in the view, broadcasts the commit message, executes the received client request and responds to the client.
  • the three-phase protocol adds a commit phase, which ensures that messages that conflict with committed messages will not be submitted in the end. Even in the presence of malicious master nodes, it can not only ensure the activity of the algorithm, but also ensure the security of the algorithm.
  • Step S108 if a consensus is reached, the consensus result is broadcast to all nodes in the blockchain to synchronize the ledger state to form a new block.
  • a new round of POA elections will be conducted to redefine multiple consensus nodes. That is to say, the system initiates a proposal for a new round of POA, and elects four new primary and secondary nodes for PBFT consensus. After the new round of POA election, it may also include: identifying the behavior of the PBFT master node in the consensus operation, and judging that the PBFT master node is a malicious node or a downtime node; if the PBFT master node is a malicious node, the POA Delete the address of the PBFT master node in the committee set; if the PBFT master node is a downtime node, keep the address of the PBFT master node in the POA committee set. That is to say, for a malicious node, it is initiated to remove the voting rights of the node, delete the node address from the Extra field, and maintain the status quo if the node is down.
  • the block chain consensus method of this embodiment also improves the process of adding authorized nodes. If there is a new node to join, the system can obtain the joining proposal initiated by the new node through the API, and propose to reuse the nominated node of the block header.
  • the address (Coinbase) and the nomination classification field (Nonce) are broadcast; the authorized node votes on the proposal, and after the proportion of voting in favor exceeds the set ratio threshold, a new node will be added to the authorized node.
  • the ratio threshold can be adjusted, for example, set to 50%, 60% or other values.
  • the block header of the block includes the following fields: Coinbase, used to record the node address of the nominated node; Nonce, used to identify the classification of the nomination, including addition, deletion, etc.; Extra, used to store the POA committee set; Difficulty, used to Identifies the node priority.
  • Coinbase used to record the node address of the nominated node
  • Nonce used to identify the classification of the nomination, including addition, deletion, etc.
  • Extra used to store the POA committee set
  • Difficulty used to Identifies the node priority.
  • the authorized node when an authorized node is eliminated, the authorized node will also vote. If the proportion of yes votes exceeds the set ratio, the authorized node will be deleted.
  • Fig. 2 is a schematic diagram of a consensus process in a blockchain consensus method according to an embodiment of the present invention.
  • the consensus process specifies a group of initial authorized nodes in the genesis block, and the initial authorized nodes are in the Extra field of the genesis block. After starting the system, the initial authorization node is activated, and this group of nodes starts to sign and broadcast the generated blocks.
  • Subsequent block consensus processes include:
  • Step S201 select four nodes in each block height as PBFT nodes 211, among which the node with the highest priority is the PBFT master node PBFT1 of this block, and the remaining three are PBFT verification Nodes PBFT2, PBFT3, PBFT4.
  • the genesis block in the system has a built-in PBFT consensus mapping algorithm. The address of the node with the highest priority in the election is mapped to PBFT1 as the master node, and the remaining nodes are respectively mapped to PBFT2, PBFT3, and PBFT4 according to the priority in the priority algorithm; PBFT nodes 211 for a three-stage consensus. If there is a problem with the PBFT1 master node and the consensus cannot be reached, the system will first initiate a proposal for a new round of POA to elect four new primary and secondary nodes for PBFT consensus.
  • Number is the block number of the block to be generated; Signers is the committee set, which is arranged in ascending order according to the address of the node,
  • Step S202 the consensus result is broadcast to all nodes to synchronize the state of the local ledger 213.
  • Step S203 if a consensus cannot be reached due to a problem with the PBFT1 master node, judge whether it is a malicious node or a downtime node according to the behavior of the master node; Step S203, if it is a malicious node, initiate a vote to remove the node and pass the consensus vote Delete the node address from the Extra field, that is, remove the PBFT1 node from the authorized node 211, and maintain the status quo if it is a downtime node.
  • Step S204 when a new node needs to be added, the new node initiates a proposal through the API interface, and the proposal is broadcast to other nodes through multiplexing the block header Coinbase (new node address) and Nonce ("0xffffffffffffffffffffff") fields. All authorized nodes 211 vote for "joining" the newly added node. If the approval vote exceeds 50% of the authorized nodes (the specific ratio can be adjusted), it means that the newly added node agrees to join.
  • a smart contract will be preset in the genesis block to determine the PBFT master-slave node. All nodes must be executed in accordance with the smart contract. The addresses of the four PBFT master-slave nodes with consistent results are obtained through calculation.
  • the four PBFT master-slave nodes calculated by the algorithm automatically perform the Byzantine fault-tolerant consensus mechanism. While other nodes wait for the second consensus result, and then synchronize the block data.
  • PBFT utilizes fewer nodes (such as the 4 nodes in the above-mentioned embodiment), which is very efficient and scalable, and uses the three-stage consensus to solve the problem of malicious nodes in the POA consensus, that is, the method of this embodiment uses the PBFT
  • the weakly centralized consensus architecture improves the existing POA consensus mechanism.
  • the method of this embodiment also provides a process for switching from the traditional POA consensus to the aforementioned POA and PBFT fusion consensus mechanism.
  • a process for switching from the traditional POA consensus to the aforementioned POA and PBFT fusion consensus mechanism Before executing the process of the above POA and PBFT fusion consensus mechanism, that is, before the step of determining multiple consensus nodes through POA election, it may also include: monitoring the number of authorized nodes; when the number of authorized nodes is less than the set number threshold In the case of , the consensus calculation is performed according to the POA method; after the authorized node exceeds the set threshold, the consensus switching process is triggered.
  • the consensus switching process can specifically include: calculating the authorized nodes participating in the next block consensus, and recording them as participating nodes; judging whether the participating nodes include the current master node that is currently performing consensus calculations in POA; if so, recalculating the participating nodes until the participating nodes no longer Including the master node; sending switching instructions to the participating nodes to make the participating nodes switch the consensus mechanism. After the participating nodes switch the consensus mechanism, they can wait for the master node to complete the block chaining, so that all authorized nodes switch the consensus mechanism.
  • Fig. 3 is a schematic flow diagram of switching the consensus mechanism in the blockchain consensus method according to an embodiment of the present invention.
  • the process of switching the consensus mechanism includes:
  • Step S302 monitoring the number of authorized nodes
  • Step S304 judging whether the number of authorized nodes exceeds a set number threshold
  • Step S306 after the authorized node exceeds the set threshold, the smart contract sends a consensus mechanism switching trigger command to the authorized node, instructing the consensus mechanism to switch from the next block to the POA and PBFT fusion consensus mechanism;
  • Step S308 calculate the nodes participating in the PBFT consensus in the next block according to the priority algorithm, that is, calculate the authorized nodes participating in the consensus of the next block, and obtain the participating nodes;
  • Step S310 judge whether the calculated participating nodes are the main nodes of the POA consensus in the current round of block formulation, and if so, return to step S308 to recalculate the nodes participating in the PBFT consensus in the next block until the calculated None of the participating nodes will serve as the master node for POA consensus in the current block;
  • Step S312 send a consensus switching command to the nodes participating in the PBFT consensus in the next block, that is, the participating nodes;
  • Step S314 after the nodes participating in the PBFT consensus in the next block receive the instruction, except for the module that receives the packaged block sent by the POA consensus mechanism and uploaded to the chain, other modules quickly switch to the PBFT consensus mechanism module, thereby improving the next block.
  • Block production efficiency after the nodes participating in the PBFT consensus in the next block receive the instruction, except for the module that receives the packaged block sent by the POA consensus mechanism and uploaded to the chain, other modules quickly switch to the PBFT consensus mechanism module, thereby improving the next block.
  • Step S316 after the current block is on the chain, all modules that have not been switched to the PBFT consensus mechanism are switched to the PBFT consensus mechanism, and other authorized nodes switch the consensus mechanism to the PBFT consensus mechanism after the current block is on the chain, completing the POA consensus The mechanism switches to the POA and PBFT fusion consensus mechanism.
  • the improved consensus mechanism combined with POA does not affect the ongoing block consensus, on the other hand, it can improve the efficiency of the next block.
  • FIG. 4 is a schematic block diagram of a machine-readable storage medium 40 according to one embodiment of the present invention.
  • a machine-executable program 410 is stored on the machine-readable storage medium 40 , and when the machine-executable program 410 is executed by a processor, any one of the aforementioned block chain consensus methods is implemented.
  • the essence of the technical solution of the present invention or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, the computer software product is stored in a storage medium, and includes several instructions for making A computer device (which may be a personal computer, a server, or a network device, etc.) executes all or part of the steps of the methods described in the various embodiments of the present invention.
  • the aforementioned readable storage medium 40 includes various media capable of storing program codes such as U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk.
  • each component or each step can be decomposed and/or reassembled. These decompositions and/or recombinations should be considered equivalents of the present invention. Also, the steps for executing the above series of processes can naturally be executed in chronological order according to the illustrated order, but it is not necessary to be executed in chronological order, and some steps can be executed in parallel or independently of each other.
  • the object of the present invention can also be achieved by running a program or a group of programs on any computing device.
  • the computing device may be a known general-purpose device. Therefore, the object of the present invention can also be achieved only by providing a program product including program codes for realizing the method or device. That is, such a program product also constitutes the present invention, and a storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium may be any known storage medium or any storage medium developed in the future. It should also be pointed out that in the device and method of the present invention, obviously, each component or each step can be decomposed and/or reassembled. These decompositions and/or recombinations should be considered equivalents of the present invention. Also, the steps for performing the above series of processes may naturally be performed in chronological order in the order described, but need not necessarily be performed in chronological order. Certain steps may be performed in parallel or independently of each other.
  • Computing devices equipped with the above-mentioned readable storage medium 40 can be interconnected through a network, which can use any suitable interface or protocol (such as Internet Small Computer System Interface, etc.) to transmit data.
  • the network may be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others, enabling connections to other computing devices through various networks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种区块链共识方法及计算机可读存储介质,其中区块链共识方法包括:通过POA选举从授权节点中确定出多个共识节点;利用预置的优先级算法从多个共识节点中确定出PBFT主节点,并将其余的共识节点作为PBFT验证节点;利用PBFT主节点以及PBFT验证节点进行PBFT共识运算;若达成共识,则将共识结果广播到区块链的所有节点,以进行账本状态同步形成新的区块。本发明的方案将PBFT主从节点的拜占庭容错共识机制与POA的共识相结合,避免POA共识机制中心化严重所带来的恶意攻击。

Description

区块链共识方法及计算机可读存储介质 技术领域
本发明涉及网络信息技术,特别是涉及一种区块链共识方法及计算机可读存储介质。
背景技术
POA(Proof of Authority,授权证明机制)是由一组授权节点来负责新区块的产生和区块验证,按授权节点的地址升序排序后,按顺序轮流获得记账权。POA的节点包括普通节点(node)以及授权节点(signer),其中普通节点没有生成区块的权利。授权节点负责产生区块(block)。
进行记账的授权节点称为主节点(或称为矿工)。在生成区块的过程中,主节点是网络上的明确中心,其他节点无法对主节点的行为进行监管。如果主节点自身对网络发起恶意进攻,则很容易成功。同时由于联盟链进行身份认证,验证节点的信息是公开的,很容易遭到外部的网络攻击,造成单点失效或者拜占庭问题。
因此,POA作为一种中心化明显的共识机制,缺乏抵抗恶意攻击的安全性,中心化所带来的安全风险需要解决。
发明内容
本发明的一个目的是要提供一种提高区块链共识方法的安全性。
本发明的一个进一步目的是结合PBFT共识弱化中心节点的权利,避免中心节点的恶意攻击。
根据本发明的一个方面,提供了一种区块链共识方法,包括:
通过POA选举从授权节点中确定出多个共识节点;
利用预置的优先级算法从多个共识节点中确定出PBFT主节点,并将其余的共识节点作为PBFT验证节点;
利用PBFT主节点以及PBFT验证节点进行PBFT共识运算;
若达成共识,则将共识结果广播到区块链的所有节点,以进行账本状态同步形成新的区块。
可选地,在利用PBFT主节点以及PBFT验证节点进行PBFT共识运算的步骤之后,如果未能达成共识,进行新一轮POA选举,重新确定出多个 共识节点。
可选地,在进行新一轮POA选举的步骤之后还包括:
对PBFT主节点在共识运算中的行为进行识别,判断PBFT主节点为恶意节点或宕机节点;
若PBFT主节点为恶意节点,则在POA委员会集合中删除PBFT主节点的地址;
若PBFT主节点为宕机节点,则在POA委员会集合中保留PBFT主节点的地址。
可选地,POA委员会集合用于保存授权节点的地址,授权节点按照地址大小排列,并且POA委员会集合存储于区块头的附加字段中。
可选地,利用预置的优先级算法从多个共识节点中确定出PBFT主节点的步骤包括:
获取多个共识节点在POA委员会集合中的序号以及POA委员会集合中授权节点的总数;
使用待产生区块的区块号对授权节点的总数进行取余操作,得到余数;
根据序号与余数的相对大小确定出PBFT主节点。
可选地上述区块链共识方法还包括:
获取新增节点通过API(Application Programming Interface,应用程序接口)发起的加入提议,提议通过复用区块头的提名节点地址以及提名分类字段进行广播;
由授权节点对提议进行投票,在投票赞成比例超过设定比例阈值后,将新增节点加入授权节点。
可选地,在通过POA选举确定出多个共识节点的步骤之前还包括:
对授权节点的数量进行监听;
在授权节点的数量小于设定数量阈值的情况下,按照POA方式进行共识计算;
在授权节点超出设定数量阈值后,触发共识切换流程。
可选地,共识切换流程包括:
计算参与下一区块共识的授权节点,记为参与节点;
判断参与节点是否包括当前以POA方式进行共识计算的主节点;
若是,重新计算参与节点,直至参与节点不包括主节点;
向参与节点发送切换指令,以使参与节点切换共识机制。
可选地,在参与节点切换共识机制之后,等待主节点完成区块上链后,使全部授权节点切换共识机制。
特别地,根据本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的区块链共识方法。
本发明的区块链共识方法,对现有的POA共识算法进行改进,通过POA选举从授权节点中确定出多个共识节点,利用预置的优先级算法从共识节点中确定出PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)主节点。利用PBFT共识机制这一弱中心化的共识机制本身对抵抗拜占庭问题的天然优势,削弱主节点为恶的风险,实现相对的各节点的平等地位。也即本发明的区块链共识方法,在生成区块时,将PBFT主从节点的拜占庭容错共识机制与POA的共识相结合,通过PBFT三阶段一致性协议改进现有POA共识机制,避免POA共识机制中心化严重所带来的恶意攻击。
进一步地,本发明的区块链共识方法,还设计了一套将共识机制从传统POA切换至PBFT与POA相结合的改进共识机制的流程。在授权节点超出设定数量阈值后,触发共识切换流程,将参与下一区块共识的授权节点快速切换至PBFT与POA相结合的改进共识机制,一方面不影响正在进行的区块共识,另一方面可以提高下一区块的出块效率。
更进一步地,本发明的区块链共识方法,适用于联盟链,由授权节点统筹控制,在保证区块生成效率的前提下,提高了安全性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本发明一个实施例的区块链共识方法的示意图;
图2是根据本发明一个实施例的区块链共识方法中共识流程的示意图;
图3是根据本发明一个实施例的区块链共识方法中切换共识机制的流程 示意图;以及
图4是根据本发明一个实施例的机器可读存储介质的示意框图。
具体实施方式
图1是根据本发明一个实施例的区块链共识方法的示意图,该区块链共识方法一般性地可以包括:
步骤S102,通过POA选举从授权节点中确定出多个共识节点。授权节点的地址存储于区块头(header)的附加字段(extra)中。例如区块头的附加字段中可以保存POA委员会集合(Signers),该POA委员会集合用于保存授权节点的地址,其中,授权节点按照地址大小排列。
在创始区块中会指定一组初始授权节点。后续可能会加入或者删除授权节点,因此不同高度的区块中保存的授权节点可能存在区别。
步骤S104,利用预置的优先级算法从多个共识节点中确定出PBFT主节点,并将其余的共识节点作为PBFT验证节点。优先级算法对多个共识节点进行优先级排序,将优先级最高的共识节点作为PBFT主节点。本实施例中可以采用使用4个共识节点,也即确定出一个PBFT主节点,三个PBFT验证节点。
一种具体优先级算法为:获取多个共识节点在POA委员会集合中的序号以及POA委员会集合中授权节点的总数;使用待产生区块的区块号对授权节点的总数进行取余操作,得到余数;根据序号与余数的相对大小确定出PBFT主节点。例如待产生区块的区块号记为Number,Signers为委员会集合,并根据授权节点的地址进行升序排列,则(len(signers)为授权节点的总数;共识节点在POA委员会集合中的序号(或称为位置)记为Offset。进行取余操作的公式为:number%uint64(len(signers))。
如果(number%uint64(len(signers)))==uint64(offset),也即序号与余数相等,则该授权节点的优先级最高,可以授权节点的优先级可以标识为header.Difficulty=1,该节点地址自动映射到PBFT1的地址中充当本轮PBFT共识的主节点;(number%uint64(len(signers)))==uint64(offset)+1、(number%uint64(len(signers)))==uint64(offset)+2、(number%uint64(len(signers)))==uint64(offset)+3的三个节点作为PBFT验证节点,其优先级记为header.Difficulty=2,这三个节点中映射到PBFT节点地址中的三个节点充当本轮PBFT验证节点,进行PBFT的二次共识。
本实施例中创世区块预设智能合约,利用该智能合约上述实现优先级算法,确定PBFT主从节点(主节点、验证节点)。由于所有节点都必须按照智能合约进行执行,通过计算得出结果一致的四个PBFT主从节点地址,在生成新区块时,通过算法计算出的四个PBFT主从节点自动进行拜占庭容错共识机制。而其他节点等待二次共识结果,进而同步区块数据。
步骤S106,利用PBFT主节点以及PBFT验证节点进行PBFT共识运算。PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。PBFT共同维护一个状态,所有节点采取的行动一致。为此,PBFT需要运行三类基本协议,包括一致性协议、检查点协议和视图更换协议。我们主要关注支持系统日常运行的一致性协议。一致性协议至少包含若干个阶段:请求(request)、序号分配(pre-prepare)、相互交互(prepare),序号确认(commit)、响应(reply)。每一个客户端的请求需要经过5个阶段,通过采用两次两两交互的方式在节点达成一致之后再执行客户端的请求。由于客户端不能从节点获得任何节点运行状态的信息,PBFT中主节点是否发生错误只能由节点监测。
PBFT共识运算的基本过程包括:客户端发送请求(request),激活PBFT主节点的服务操作。当PBFT主节点接收请求后,启动三阶段的协议以向各PBFT验证节点广播请求。客户端等待来自不同节点的响应,若有超过预设数量的响应相同,则该响应即为运算的结果。
三阶段的协议包括:序号分配阶段,PBFT主节点给请求赋值一个序列号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各PBFT验证节点;交互阶段,PBFT验证节点接收pre-prepare消息,向其他节点广播prepare消息;序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端以响应。三阶段协议增加了commit阶段,保证了最终不会提交和已经commit的消息冲突的消息,即使存在恶意主节点的情况下,也既能保证算法的活性,又能保证算法的安全性。
步骤S108,若达成共识,则将共识结果广播到区块链的所有节点,以进行账本状态同步形成新的区块。
如果未能达成共识,进行新一轮POA选举,重新确定出多个共识节点。 也即系统发起提案进行重新一轮的POA,选举出新的四个主次节点进行PBFT共识。在进行新一轮POA选举的步骤之后还可以包括:对PBFT主节点在共识运算中的行为进行识别,判断PBFT主节点为恶意节点或宕机节点;若PBFT主节点为恶意节点,则在POA委员会集合中删除PBFT主节点的地址;若PBFT主节点为宕机节点,则在POA委员会集合中保留PBFT主节点的地址。也即对于恶意节点,则发起移除该节点的投票权,将该节点地址从Extra字段中删除,若为宕机节点则维持现状。
本实施例的区块链共识方法还对授权节点的新增过程进行改进,如果有新增节点需要加入,系统可以获取新增节点通过API发起的加入提议,提议通过复用区块头的提名节点地址(Coinbase)以及提名分类字段(Nonce)进行广播;由授权节点对提议进行投票,在投票赞成比例超过设定比例阈值后,将新增节点加入授权节点。比例阈值可以调整,例如设置为50%、60%或其他数值。
区块的区块头包括以下字段:Coinbase,用于记录被提名的节点的节点地址;Nonce,用于标识提名的分类,包括添加、删除等;Extra,用于存储POA委员会集合;Difficulty,用于标识节点优先级。新增节点需要加入时,可以通过Coinbase和Nonce("0xffffffffffffffff")字段广播给其他节点。授权授权节点对新增节点进行“加入”投票,如果赞成票达到signers总数(委员会内节点总数)的50%,表示同意该新增节点加入。
相类似地,在剔除某一授权节点时,同样由授权节点进行投票,若赞成票比例超过设定比例,则同意该授权节点删除。
图2是根据本发明一个实施例的区块链共识方法中共识流程的示意图。该共识过程在创世区块中指定一组初始授权节点,初始授权节点的创世块Extra字段中。启动系统后,初始授权节点被激活,该组节点开始对生成的区块进行签名并广播。
后续的区块共识流程包括:
步骤S201,根据系统内置优先级算法,在每个区块高度中选举出四个节点作为PBFT节点211,其中优先级最高的节点作为本区块的PBFT主节点PBFT1,其余三个作为PBFT的验证节点PBFT2、PBFT3、PBFT4。系统中创世区块内置PBFT共识映射算法,选举中优先级最高的节点地址映射到PBFT1中充当主节点,其余节点根据优先级算法中的优先级分别映射到 PBFT2、PBFT3、PBFT4中;PBFT节点211进行三阶段一致性共识。如果PBFT1主节点出现问题导致共识无法达成,系统首先发起提案进行重新一轮的POA选举出新的四个主次节点进行PBFT共识。
优先级计算公式为:(number%uint64(len(signers)))==uint64(offset),则优先级最高header.Difficulty=1,该节点地址自动映射到PBFT1的地址中充当本轮PBFT共识的主节点;(number%uint64(len(signers)))==uint64(offset)+1、(number%uint64(len(signers)))==uint64(offset)+2及(number%uint64(len(signers)))==uint64(offset)+3的三个节点header.Difficulty=2,同时这三个节点中映射到PBFT节点地址中的三个节点充当本轮PBFT从节点进行二次共识。在上述公式中Number为要生成的区块的块号;Signers为委员会集合,并根据节点的地址进行升序排列,Offset为节点在Signers集合中的位置;
步骤S202,共识结果广播到所有节点进行本地账本213状态同步。
步骤S203,在因PBFT1主节点出现问题无法达成共识的情况下,根据主节点行为判断是否为恶意节点或宕机节点;步骤S203,若为恶意节点发起移除该节点的投票,并通过共识投票将该节点地址从Extra字段中删除,也即从授权节点211中移除PBFT1节点,若为宕机节点则维持现状。
步骤S204,需要加入一个新增节点时,新增节点通过API接口发起一个提议,该提议通过复用区块头Coinbase(新节点地址)和Nonce("0xffffffffffffffff")字段广播给其他节点。所有授权节点211对该新增节点进行“加入”投票,如果赞成票超过授权节点的50%(具体比例可以进行调整),表示新增节点同意加入。
上述过程中,在创世区块中会预设智能合约,确定PBFT主从节点。所有节点都必须按照智能合约进行执行,通过计算得出结果一致的四个PBFT主从节点地址,在生成新区块时,通过算法计算出的四个PBFT主从节点自动进行拜占庭容错共识机制。而其他节点等待二次共识结果,进而同步区块数据。
PBFT利用较少的节点(例如上述实施例中的4个节点),运行非常高效,可扩展,利用三阶段的共识,解决了POA共识的恶意节点问题,也即本实施例的方法利用PBFT的弱中心化共识架构改进了现有POA共识机制。
本实施例的方法还提供了一种从传统POA共识切换至上述POA与 PBFT融合共识机制的流程。在执行上述POA与PBFT融合共识机制的流程之前,也即在通过POA选举确定出多个共识节点的步骤之前还可以包括:对授权节点的数量进行监听;在授权节点的数量小于设定数量阈值的情况下,按照POA方式进行共识计算;在授权节点超出设定数量阈值后,触发共识切换流程。
共识切换流程具体可以包括:计算参与下一区块共识的授权节点,记为参与节点;判断参与节点是否包括当前以POA方式进行共识计算的主节点;若是,重新计算参与节点,直至参与节点不包括主节点;向参与节点发送切换指令,以使参与节点切换共识机制。在参与节点切换共识机制之后,可以等待主节点完成区块上链后,使全部授权节点切换共识机制。
图3是根据本发明一个实施例的区块链共识方法中切换共识机制的流程示意图。该切换共识机制的过程包括:
步骤S302,对授权节点的数量进行监听;
步骤S304,判断授权节点的数量是否超出设定数量阈值;
步骤S306,在授权节点超出设定数量阈值后,智能合约向授权节点发送共识机制切换触发指令,指示从下一区块开始共识机制切换为POA与PBFT融合共识机制;
步骤S308,根据优先级算法计算下一区块参与PBFT共识的节点,也即计算参与下一区块共识的授权节点,得到参与节点;
步骤S310,判断计算得出的参与节点是否在本轮区块制定中作为POA共识的主节点,若是,则重新返回执行步骤S308,重新计算出下一区块参与PBFT共识的节点,直至计算出参与节点均不作为当前区块进行POA共识的主节点;
步骤S312,向下一区块参与PBFT共识的节点,也即参与节点发出共识切换指令;
步骤S314,下一区块参与PBFT共识的节点收到指令后,除了接收POA共识机制发送的打包区块并上链的模块之外,其他模块迅速切换成为PBFT共识机制模块,从而提高下一区块出块效率;
步骤S316,当前区块上链之后再将未切换为PBFT共识机制的模块全部切换为PBFT共识机制,其他授权节点在当前区块上链之后,将共识机制整体切换为PBFT共识机制,完成POA共识机制向POA、PBFT融合共识机制 的切换。
上述将共识机制从传统POA切换至PBFT与POA相结合的改进共识机制的流程,在授权节点超出设定数量阈值后,触发共识切换流程,将参与下一区块共识的授权节点快速切换至PBFT与POA相结合的改进共识机制,一方面不影响正在进行的区块共识,另一方面可以提高下一区块的出块效率。
本实施例还提供了一种计算机可读存储介质。图4是根据本发明一个实施例的机器可读存储介质40的示意框图。该机器可读存储介质40上存储有机器可执行程序410,机器可执行程序410被处理器执行时实现上述任一种的区块链共识方法。
本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质40包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法 中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
具备上述可读存储介质40的计算设备可以通过网络互联,其可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等,从而可以通过各种网络连接到其他计算设备。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (10)

  1. 一种区块链共识方法,包括:
    通过POA选举从授权节点中确定出多个共识节点;
    利用预置的优先级算法从所述多个共识节点中确定出PBFT主节点,并将其余的共识节点作为PBFT验证节点;
    利用所述PBFT主节点以及所述PBFT验证节点进行PBFT共识运算;
    若达成共识,则将共识结果广播到区块链的所有节点,以进行账本状态同步形成新的区块。
  2. 根据权利要求1所述的区块链共识方法,其中,
    在所述利用所述PBFT主节点以及所述PBFT验证节点进行PBFT共识运算的步骤之后,如果未能达成共识,进行新一轮POA选举,重新确定出多个共识节点。
  3. 根据权利要求2所述的区块链共识方法,其中,在进行新一轮POA选举的步骤之后还包括:
    对所述PBFT主节点在共识运算中的行为进行识别,判断所述PBFT主节点为恶意节点或宕机节点;
    若所述PBFT主节点为恶意节点,则在POA委员会集合中删除所述PBFT主节点的地址;
    若所述PBFT主节点为宕机节点,则在POA委员会集合中保留所述PBFT主节点的地址。
  4. 根据权利要求3所述的区块链共识方法,其中,
    所述POA集合用于保存所述授权节点的地址,所述授权节点按照地址大小排列,并且所述POA委员会集合存储于区块头的附加字段中。
  5. 根据权利要求4所述的区块链共识方法,其中,利用预置的优先级算法从所述多个共识节点中确定出PBFT主节点的步骤包括:
    获取所述多个共识节点在所述POA委员会集合中的序号以及所述POA委员会集合中授权节点的总数;
    使用待产生区块的区块号对所述授权节点的总数进行取余操作,得到余数;
    根据所述序号与所述余数的相对大小确定出所述PBFT主节点。
  6. 根据权利要求1-5中任一项所述的区块链共识方法,还包括:
    获取新增节点通过API发起的加入提议,所述提议通过复用区块头的提名节点地址以及提名分类字段进行广播;
    由所述授权节点对所述提议进行投票,在投票赞成比例超过设定比例阈值后,将所述新增节点加入所述授权节点。
  7. 根据权利要求1-5中任一项所述的区块链共识方法,其中在所述通过POA选举确定出多个共识节点的步骤之前还包括:
    对所述授权节点的数量进行监听;
    在所述授权节点的数量小于设定数量阈值的情况下,按照POA方式进行共识计算;
    在所述授权节点超出设定数量阈值后,触发共识切换流程。
  8. 根据权利要求7所述的区块链共识方法,其中所述共识切换流程包括:
    计算参与下一区块共识的授权节点,记为参与节点;
    判断所述参与节点是否包括当前以POA方式进行共识计算的主节点;
    若是,重新计算参与节点,直至参与节点不包括所述主节点;
    向所述参与节点发送切换指令,以使所述参与节点切换共识机制。
  9. 根据权利要求8所述的区块链共识方法,其中
    在所述参与节点切换共识机制之后,等待所述主节点完成区块上链后,使全部授权节点切换共识机制。
  10. 一种计算机可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至9任一项所述的区块链共识方法。
PCT/CN2022/142357 2022-01-04 2022-12-27 区块链共识方法及计算机可读存储介质 WO2023131002A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210001895.5A CN114390068A (zh) 2022-01-04 2022-01-04 区块链共识方法及计算机可读存储介质
CN202210001895.5 2022-01-04

Publications (1)

Publication Number Publication Date
WO2023131002A1 true WO2023131002A1 (zh) 2023-07-13

Family

ID=81200731

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/142357 WO2023131002A1 (zh) 2022-01-04 2022-12-27 区块链共识方法及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN114390068A (zh)
WO (1) WO2023131002A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117082075A (zh) * 2023-10-13 2023-11-17 德德市界(深圳)科技有限公司 一种基于权重分配计算场景的区块链共识机制处理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390068A (zh) * 2022-01-04 2022-04-22 青岛海尔电冰箱有限公司 区块链共识方法及计算机可读存储介质
CN115567543A (zh) * 2022-08-31 2023-01-03 云南电网有限责任公司信息中心 基于区块链的边缘侧交易数据的共识方法、装置及设备
CN115632800B (zh) * 2022-12-22 2023-05-05 广东省电信规划设计院有限公司 基于区块链共识的物联网源端数据存储方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110796547A (zh) * 2019-10-30 2020-02-14 桂林电子科技大学 一种基于联盟区块链的改进的实用拜占庭容错系统
US20210081557A1 (en) * 2018-06-29 2021-03-18 Bedrock Capital Limited Method of managing access in a collaborative data sharing platform
CN113420039A (zh) * 2021-08-23 2021-09-21 中国电力科学研究院有限公司 一种调控云平台的模型管理方法、系统、设备及介质
CN113676355A (zh) * 2021-08-27 2021-11-19 浙商银行股份有限公司 一种区块链多层级组网方法、设备及存储介质
CN114390068A (zh) * 2022-01-04 2022-04-22 青岛海尔电冰箱有限公司 区块链共识方法及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210081557A1 (en) * 2018-06-29 2021-03-18 Bedrock Capital Limited Method of managing access in a collaborative data sharing platform
CN110796547A (zh) * 2019-10-30 2020-02-14 桂林电子科技大学 一种基于联盟区块链的改进的实用拜占庭容错系统
CN113420039A (zh) * 2021-08-23 2021-09-21 中国电力科学研究院有限公司 一种调控云平台的模型管理方法、系统、设备及介质
CN113676355A (zh) * 2021-08-27 2021-11-19 浙商银行股份有限公司 一种区块链多层级组网方法、设备及存储介质
CN114390068A (zh) * 2022-01-04 2022-04-22 青岛海尔电冰箱有限公司 区块链共识方法及计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117082075A (zh) * 2023-10-13 2023-11-17 德德市界(深圳)科技有限公司 一种基于权重分配计算场景的区块链共识机制处理系统
CN117082075B (zh) * 2023-10-13 2024-01-26 德德市界(深圳)科技有限公司 一种基于权重分配计算场景的区块链共识机制处理系统

Also Published As

Publication number Publication date
CN114390068A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
WO2023131002A1 (zh) 区块链共识方法及计算机可读存储介质
WO2020258831A1 (zh) 用于区块链系统中的主节点切换处理的方法及装置
US20220231869A1 (en) Cross-blockchain mutual data storage
US10944624B2 (en) Changing a master node in a blockchain system
FI129087B (en) Procedure and system for a blockchain for network access
EP3640823B1 (en) Service data storage method, device, storage medium, and electronic device
CN109886681B (zh) 区块链共识方法及共识系统
US11907174B2 (en) Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes
US20210256007A1 (en) Blockchain system and blockchain transaction data processing method based on ethereum
CN108881169B (zh) 基于区块链的时间分发和同步方法及系统、数据处理系统
CN107220820B (zh) 资源转移方法、装置及存储介质
CN110019235A (zh) 基于区块链的数据存储、恢复方法、装置、设备及介质
CN111612455A (zh) 一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
WO2021135934A1 (zh) 一种区块链记账方法、装置、节点及存储介质
US11200123B2 (en) Consensus process recovery method and related node
CN111046109A (zh) 一种跨链任务处理方法、装置、设备及可读存储介质
CN113141414A (zh) 一种cnfs协议中区块链节点的分组多链异步共识方法
Zhong et al. Improve PBFT based on hash ring
CN113179166B (zh) 基于高鲁棒性拜占庭容错的联盟链数据安全实时上链方法
US20230353394A1 (en) Cross-blockchain transaction processing method and apparatus, computer device, computer storage medium, and computer program product
WO2023098327A1 (zh) 基于区块链的区块处理方法、装置、设备、存储介质及程序产品
JP2023553593A (ja) ブロックチェーンネットワークによる機器管理方法、関連機器及びコンピュータプログラム
Du et al. An Advanced PBFT-based Consensus Algorithm for a Bidding Consortium Blockchain
CN115879168B (zh) 基于2pc的数字资产归属变更方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918444

Country of ref document: EP

Kind code of ref document: A1