WO2020211461A1 - Verifiable consensus method and system - Google Patents

Verifiable consensus method and system Download PDF

Info

Publication number
WO2020211461A1
WO2020211461A1 PCT/CN2019/129715 CN2019129715W WO2020211461A1 WO 2020211461 A1 WO2020211461 A1 WO 2020211461A1 CN 2019129715 W CN2019129715 W CN 2019129715W WO 2020211461 A1 WO2020211461 A1 WO 2020211461A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
nodes
super
verification
node
Prior art date
Application number
PCT/CN2019/129715
Other languages
French (fr)
Chinese (zh)
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 WO2020211461A1 publication Critical patent/WO2020211461A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/104Peer-to-peer [P2P] networks
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • This application relates to the field of blockchain technology, and in particular to a verifiable consensus method and system.
  • Blockchain technology is based on a decentralized peer-to-peer network. It uses open source software to combine cryptographic principles, time series data, and consensus mechanisms to ensure the continuity and continuity of nodes in a distributed database, so that information can be verified and can be verified instantly. Traceability, but it is difficult to tamper with and cannot be shielded, thus creating a private, efficient and secure shared value system.
  • Consensus algorithm is the core component of blockchain technology, which mainly solves the problem of who is who constructs and inspects the block and how to maintain the unity of the blockchain.
  • the consensus algorithm of the entire system is determined by the center, and each participant only needs to obey this center. Therefore, in a centralized system, the establishment of the consensus algorithm is extremely efficient; and the blockchain Technology is a decentralized system. Every participating node in the system has equal status. When there is a disagreement, the consensus algorithm becomes an important method and means to solve such problems.
  • the PoW algorithm has the highest degree of decentralization, requires a lot of hash calculations, wastes too much power and energy, and generates a new block in about 10 minutes, which is inefficient;
  • the DPoS algorithm is an upgrade of the PoS algorithm and is voted by nodes Several agent nodes, several agent nodes perform verification and accounting, and generate a new block in about 30 seconds, which solves the problem of inefficiency of the PoW algorithm.
  • the number of agent nodes is generally less than 100, the degree of centralization is low, and the agent node is easy Do evil, the security is lower than the PoW algorithm.
  • the present application provides a verifiable consensus method and system thereof, which can not only improve the efficiency of block generation, but also improve the decentralization and security of the blockchain system.
  • the first aspect of this application discloses a verifiable consensus method, which is applied to a verifiable DPoS consensus system.
  • the system includes a super node, a verification node, and a common node.
  • the super node is used to package blocks and Verify the block, the verification node is used to verify the block, the ordinary node is used to synchronize data on the blockchain; wherein at least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N
  • the super nodes include the first super node; the method includes:
  • the first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
  • the first super node packs the first request data within a preset time period into a first block, and verifies the first block;
  • the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block.
  • the remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block
  • the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
  • the first block is uploaded to the chain.
  • the value range of the super node N is 10-100.
  • the request information includes transaction information and/or business information; wherein, the transaction information includes the transaction amount and the buyer's digital signature; the business information includes business data, and the business data includes Business attribute data, price data, and owner data.
  • the first request data includes all the request data between the first block and a block before the first block.
  • the first super node divides the first block into at least two fragmented blocks; the first super node randomly selects at least two verification node groups through a verifiable random algorithm, the at least two verification node groups
  • the at least two shard blocks are verified using a practical Byzantine fault-tolerant algorithm; wherein, one verification node group verifies one shard block; the first super node accepts the at least two verification node groups to verify the at least two shard blocks; And the first block is uploaded to the chain.
  • the N super nodes pack blocks in order, and after the first super node packs L blocks consecutively, the next super node packs blocks in order, and L is positive Integer; where the order of the N super nodes to pack the blocks is determined by the first super node after calculating the global path through the Dijkstra algorithm.
  • the first super node continuously packs L blocks, and the value range of L is 1-100.
  • the first super node when the first super node packs a first block and determines that the bytes of the first block are greater than a preset byte threshold, the first super node will The first block is divided into at least two fragmented blocks; wherein, the at least two fragmented blocks include a first fragmented block and the second fragmented block, and the first fragmented block is packaged by the first super node, The second fragmented block is packaged by the first super node randomly selecting one of the remaining super nodes through a verifiable random algorithm.
  • the first block A when the remaining super nodes verify the first block, and/or when M verification nodes verify the first block; the first block A super node packs the second request data within a preset time period into a second block, and verifies the second block.
  • the remaining super nodes after the remaining super nodes pass verification of the first block, the remaining super nodes randomly select M verification nodes through a verifiable random algorithm, and M The verification node verifies the first block, and M is a positive integer; or
  • the value of the verification node M is 20-200.
  • the verification of the first block includes hash verification of all requested data in the first block and identity verification of the requesting parties.
  • the second aspect of this application provides a verifiable DPoS consensus system.
  • the system includes N super nodes, verification nodes, and ordinary nodes; wherein at least one of the ordinary nodes selects N super nodes, and N is a positive integer, so The N super nodes include the first super node;
  • the super node is used to package the block and the verification block, the verification node is used to verify the block, and the ordinary node is used to synchronize data on the blockchain;
  • the first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
  • the first super node packs the first request data within a preset time period into a first block, and verifies the first block;
  • the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block.
  • the remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block
  • the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
  • the first block is uploaded to the chain.
  • the method of the present application can not only improve the efficiency of block generation, but also improve the security of the blockchain system; compared to the DPoS consensus mechanism, it increases the degree of decentralization.
  • FIG. 1 is a schematic flow diagram of a verifiable DPoS consensus method provided by an embodiment of the application
  • Figure 2 is a schematic diagram of a verifiable DPoS consensus system structure provided by an embodiment of the application
  • FIG. 3 is a schematic diagram of a structure for packing or verifying block fragments according to an embodiment of the application.
  • the node referred to in the embodiments of this application can be understood as an abstract machine that responds to specific external triggering conditions and performs state transitions according to certain rules. It can be a mobile phone, a tablet, a handheld computer, a personal PC, etc. It can be based on application software and can be Networked devices.
  • a verifiable DPoS consensus method is applied to the verifiable DPoS consensus system shown in Figure 2.
  • the system includes a super node, a verification node, and a normal node.
  • the super node is used to pack and verify the block
  • the verification node is used to verify the block
  • the normal node is used to synchronize data on the blockchain.
  • at least one of the ordinary nodes selects N super nodes, N is a positive integer, and the N super nodes include the first super node.
  • both super nodes and verification nodes have the functions of ordinary nodes; the above N super nodes can be voted by a number of stakeholders through a computer (without synchronizing the data on the blockchain), or by a number of stakeholders It is generated by voting by ordinary nodes (synchronized with data on the blockchain).
  • the method includes steps S101-S106.
  • the first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information.
  • the request information includes transaction information and/or business information; wherein, the transaction information includes the transaction amount and the buyer's digital signature; the business information includes business data, and the business data includes business attribute data, Price data and owner data.
  • the business data may be structured data, which may include one or more of the version information of the business data, price information, browsing times information, collection times information, data owner information, and data creator information; and, business data Time-stamped data is continuous data on the time axis.
  • version information includes version 1.0 and version 2.0
  • price information includes initial price and change price.
  • the first super node packs the first request data within a preset time period into a first block, and verifies the first block.
  • the preset time period refers to the time between the generation of two blocks.
  • the first request data includes all the transaction data between the first block and a block before the first block.
  • the N super nodes pack blocks in order, and after the first super node packs L blocks consecutively, the next super node packs blocks in order, and L is a positive integer; where, The order in which the N super nodes pack the blocks is determined by the first super node through a dynamic programming method.
  • the planning method solves the Traveling Salesman Problem (TSP), that is, knowing the distance between any two nodes, how to traverse all nodes from one node with the shortest path.
  • TSP Traveling Salesman Problem
  • the dynamic programming method can use the shortest path Dijkstra algorithm, or the global shortest path Floyd-warshall algorithm.
  • N super nodes form a P2P network
  • data transmission between the N super nodes also adopts a dynamic programming method to improve data transmission efficiency.
  • each super node transmits data, it no longer directly communicates with another super node, but selects the shortest path between the two super nodes for communication through the dynamic programming method, which can reduce the data transmission time between the two super nodes, thereby Improve network efficiency.
  • This application does not limit the number of supernodes and the number of supernodes continuously packaged blocks.
  • the value range of super node N is 10-100; the first super node continuously packs L blocks, and the value range of L is 1-100.
  • S104 The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block.
  • PBFT Practical Byzantine Fault Tolerance
  • the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes adopt practical Byzantine fault tolerance.
  • the algorithm verifies the first block, and M is a positive integer.
  • the first super node pairs The second request data in the preset time period is packaged into a second block, and the second block is verified.
  • the rest of the above-mentioned super nodes verify the above-mentioned first block
  • the process of generating the second block by packaging the second request data with the first super node can be carried out at the same time without waiting for the first block verification process to be completely completed.
  • the second block is generated, thereby improving the efficiency of block generation;
  • the above M verification nodes verify the first block, and the process of generating the second block by the first super node can also be performed at the same time get on.
  • VRF Verifiable Random Function
  • the first super node uses the VRF algorithm to verify the blocks on the chain, which can improve the security of the blockchain system; and the above discussion shows that the first super node uses the VRF algorithm to verify the blocks on the chain.
  • the first super node can also continue to package to generate the second block, which can also improve the block generation efficiency of the blockchain system.
  • the M verification nodes also use the PBFT algorithm to verify the first block.
  • M verification nodes can store the entire blockchain, compared to the existing DPoS algorithm (in the DPoS algorithm, only about 100 proxy equity nodes have the function of verification), the blockchain system has been increased. Degree of centralization.
  • the verification node finds that the first block fails the verification, the first block is discarded, and the block generation and verification process is repeated from the previous block of the first block; and the first block is judged from the remaining super nodes
  • the super node that has passed the block verification is regarded as a malicious node; then, the verification node pulls the malicious node into the blacklist, and a super node is added to replace the malicious super node.
  • any number of super nodes can be prevented from doing evil.
  • the remaining super nodes after the remaining super nodes pass the verification of the first block, the remaining super nodes randomly select M verification nodes through a verifiable random algorithm, and the M verification nodes The first block is verified, and M is a positive integer.
  • This application does not limit the value of the verification node.
  • the value of the verification node M is 20-200.
  • the verified block is on the chain; after the block is on the chain, it does not become an irreversible block; only the on-chain block has multiple subsequent blocks (for example: subsequent There are 6 blocks) after it is confirmed to be on the chain, the block becomes an irreversible block.
  • the verification of the above-mentioned first block includes hash verification of all requested data in the first block and identity verification of the requesting parties.
  • the verification method is for example: in the transaction, the sender’s public key is used to verify whether the sender is signed with the private key, and the Merkle number root of the block header in the first block is used to verify whether the transaction data in the first block has been tampered with . It should be noted that the verification of the block is a conventional technical means of those skilled in the art, and this application will not describe this in detail.
  • the first super node After the remaining super nodes pass the verification of the first block, when the first super node determines that the bytes of the first block are greater than a preset byte threshold, the first super node The node divides the first block into at least two fragmented blocks; the first super node randomly selects at least two verification node groups through a verifiable random algorithm, and the at least two verification node groups adopt practical Byzantine fault tolerance
  • the algorithm verifies the at least two shard blocks; wherein one verification node group verifies one shard block; the first super node accepts the at least two verification node groups to verify the at least two shard blocks If the verification message is passed, the first block is uploaded to the chain.
  • the number of bytes of the block is greater than the byte threshold, and the block is divided into fragment block 1, fragment block 2, fragment block 3, fragment block n, and use the VRF algorithm to randomly select the verification node group 6.
  • the verification node group 3 and the verification node group 8 verify the block.
  • the first super node packs the first block, and it is determined that the bytes of the first block are greater than a preset byte threshold
  • the first super node packs the first block Divided into at least two shard blocks; wherein, at least two shard blocks include a first shard block and the second shard block, the first shard block is packaged by the first super node, and the second shard block
  • the fragmented block is packaged by the first super node randomly selecting one of the remaining super nodes through a verifiable random algorithm.
  • the block byte is greater than the byte threshold.
  • the block is divided into fragment block 1, fragment block 2, fragment block 3, and fragment block n.
  • the first super node randomly selects it through the VRF algorithm Super node VRF packs shard block 1, super node 2 packs shard block 2, and super node 9 packs shard block 3.
  • the byte count threshold can be set as required.
  • a verifiable DPoS consensus system includes N super nodes, verification nodes and ordinary nodes.
  • At least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N super nodes include the first super node.
  • the super node is used to package the block and the verification block, the verification node is used to verify the block, and the ordinary node is used to synchronize data on the blockchain; and receive request data sent by at least one of the ordinary nodes ,
  • the request data includes request information, the addresses of the requesting parties, and the hash value of the request information; and the first request data within a preset time period is packaged into a first block, and the first block is processed Verification; and after the first block is verified, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first super node Super node.
  • the remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block; after the remaining super nodes verify the first block, the first super node randomly selects M through a verifiable random algorithm
  • the verification nodes, M verification nodes verify the first block using a practical Byzantine fault-tolerant algorithm, and M is a positive integer.
  • the first block is uploaded to the chain.
  • the request information includes transaction information and/or business information; wherein, the transaction information includes transaction amount and digital signatures of both parties to the transaction; the business information includes business data, and the business data includes business attribute data , Price data, and owner data.
  • the first super node pairs The second request data in the preset time period is packaged into a second block, and the second block is verified.
  • the method of the present application can not only improve the efficiency of block generation, but also improve the security of the blockchain system; compared with the DPoS consensus mechanism, the degree of decentralization is increased.

Abstract

Disclosed in the present application are a verifiable DPoS consensus method and system. The system comprises super nodes, verification nodes and normal nodes, and at least one normal node selects N super nodes. The method comprises: a first super node receives request data sent by at least one normal node; packages the first request data in a preset time period into a first block, and verifies the first block; sends the first block to the remaining super nodes for verification after the verification of the first block succeeds; the remaining super nodes verify the first block by using PBFT; after the verification succeeds, the first super node randomly selects M verification nodes by means of a VRF algorithm, and the M verification nodes verify the first block by using a PBFT algorithm; after the verification succeeds, the first block is linked. The present application can improve the efficiency of block generation and the security of a blockchain system, and has a relatively high decentralization degree.

Description

一种可验证的共识方法及其系统A verifiable consensus method and its system 技术领域Technical field
本申请涉及区块链技术领域,尤其涉及一种可验证的共识方法及其系统。This application relates to the field of blockchain technology, and in particular to a verifiable consensus method and system.
背景技术Background technique
目前,区块链、物联网以及人工智能并列为未来科技的三大技术。区块链技术是基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯,但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。At present, blockchain, Internet of Things, and artificial intelligence are among the three technologies of the future. Blockchain technology is based on a decentralized peer-to-peer network. It uses open source software to combine cryptographic principles, time series data, and consensus mechanisms to ensure the continuity and continuity of nodes in a distributed database, so that information can be verified and can be verified instantly. Traceability, but it is difficult to tamper with and cannot be shielded, thus creating a private, efficient and secure shared value system.
共识算法是区块链技术的核心组成部分,主要解决由构建和检验区块的主体是谁,以及如何维护区块链统一的问题。在中心化的结构体系中,整个系统的共识算法由中心来决定,各个参与方只需要服从这个中心即可,因此在中心化的系统中,共识算法的建立是极为高效的;而区块链技术是一种去中心化的系统,系统中每个参与节点地位平等,当出现分歧时,共识算法就成为解决此类问题的重要方法与手段。Consensus algorithm is the core component of blockchain technology, which mainly solves the problem of who is who constructs and inspects the block and how to maintain the unity of the blockchain. In a centralized structure system, the consensus algorithm of the entire system is determined by the center, and each participant only needs to obey this center. Therefore, in a centralized system, the establishment of the consensus algorithm is extremely efficient; and the blockchain Technology is a decentralized system. Every participating node in the system has equal status. When there is a disagreement, the consensus algorithm becomes an important method and means to solve such problems.
目前,区块链技术常用的共识算法有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,POS)、授权股权证明(Delegated Proof of Stake,DPoS)与实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)等。Currently, consensus algorithms commonly used in blockchain technology include Proof of Work (PoW), Proof of Stake (POS), Delegated Proof of Stake (DPoS), and Practical Byzantine Fault Tolerance (Practical). Byzantine Fault Tolerance, PBFT) etc.
然而,PoW算法去中心化程度最高,需要大量的哈希计算,浪 费太多电力能源,并且10分钟左右产生一个新的区块,效率较低;DPoS算法是PoS算法的升级,由节点投票选择若干代理节点,若干代理节点进行验证和记账,30秒左右产生一个新的区块,解决了PoW算法效率低下的问题,但是代理节点一般低于100个,中心化程度较低,代理节点容易作恶,安全性相对于PoW算法较低。However, the PoW algorithm has the highest degree of decentralization, requires a lot of hash calculations, wastes too much power and energy, and generates a new block in about 10 minutes, which is inefficient; the DPoS algorithm is an upgrade of the PoS algorithm and is voted by nodes Several agent nodes, several agent nodes perform verification and accounting, and generate a new block in about 30 seconds, which solves the problem of inefficiency of the PoW algorithm. However, the number of agent nodes is generally less than 100, the degree of centralization is low, and the agent node is easy Do evil, the security is lower than the PoW algorithm.
随着区块链的场景应用越来越广泛,如何找到一种共识方法,不仅能够提高区块的产生效率,而且能够提高区块链系统去中心化程度和安全性,成为亟待解决的问题。With the increasing application of blockchain scenarios, how to find a consensus method that can not only improve the efficiency of block generation, but also improve the decentralization and security of the blockchain system has become an urgent problem to be solved.
发明内容Summary of the invention
为了解决上述问题,本申请提供一种可验证的共识方法及其系统,该方法不仅能够提高区块的产生效率,而且能够提高区块链系统的去中心化程度和安全性。In order to solve the above problems, the present application provides a verifiable consensus method and system thereof, which can not only improve the efficiency of block generation, but also improve the decentralization and security of the blockchain system.
本申请第一方面公开了一种可验证的共识方法,应用于一种可验证的DPoS共识系统中,所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;所述方法包括:The first aspect of this application discloses a verifiable consensus method, which is applied to a verifiable DPoS consensus system. The system includes a super node, a verification node, and a common node. The super node is used to package blocks and Verify the block, the verification node is used to verify the block, the ordinary node is used to synchronize data on the blockchain; wherein at least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N The super nodes include the first super node; the method includes:
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;The first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;The first super node packs the first request data within a preset time period into a first block, and verifies the first block;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级 节点中除所述第一超级节点外的超级节点;After the first super node passes the verification of the first block, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block. Super nodes other than super nodes;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;After the remaining super nodes verify the first block, the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
在一种可能的实施方式中,超级节点N的取值范围为10-100。In a possible implementation manner, the value range of the super node N is 10-100.
在一种可能的实施方式中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和买方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。In a possible implementation manner, the request information includes transaction information and/or business information; wherein, the transaction information includes the transaction amount and the buyer's digital signature; the business information includes business data, and the business data includes Business attribute data, price data, and owner data.
在一种可能的实施方式中,所述第一请求数据包括所述第一区块与所述第一区块之前区块之间的全部所述请求数据。In a possible implementation manner, the first request data includes all the request data between the first block and a block before the first block.
在一种可能的实施方式中,所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。In a possible implementation manner, after the remaining super nodes pass verification of the first block, when the first super node determines that the bytes of the first block are greater than a preset byte threshold, The first super node divides the first block into at least two fragmented blocks; the first super node randomly selects at least two verification node groups through a verifiable random algorithm, the at least two verification node groups The at least two shard blocks are verified using a practical Byzantine fault-tolerant algorithm; wherein, one verification node group verifies one shard block; the first super node accepts the at least two verification node groups to verify the at least two shard blocks; And the first block is uploaded to the chain.
在一种可能的实施方式中,所述N个超级节点按照顺序打包区 块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,所述N个超级节点打包区块的顺序,由所述第一超级节点通过迪杰斯特拉算法计算全局路径后确定。In a possible implementation manner, the N super nodes pack blocks in order, and after the first super node packs L blocks consecutively, the next super node packs blocks in order, and L is positive Integer; where the order of the N super nodes to pack the blocks is determined by the first super node after calculating the global path through the Dijkstra algorithm.
在一种可能的实施方式中,第一超级节点连续打包L个区块,L的取值范围为1-100。In a possible implementation manner, the first super node continuously packs L blocks, and the value range of L is 1-100.
在一种可能的实施方式中,当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和所述第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。In a possible implementation manner, when the first super node packs a first block and determines that the bytes of the first block are greater than a preset byte threshold, the first super node will The first block is divided into at least two fragmented blocks; wherein, the at least two fragmented blocks include a first fragmented block and the second fragmented block, and the first fragmented block is packaged by the first super node, The second fragmented block is packaged by the first super node randomly selecting one of the remaining super nodes through a verifiable random algorithm.
在一种可能的实施方式中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。In a possible implementation, when the remaining super nodes verify the first block, and/or when M verification nodes verify the first block; the first block A super node packs the second request data within a preset time period into a second block, and verifies the second block.
在一种可能的实施方式中,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点对所述第一区块进行验证,M为正整数;或In a possible implementation manner, after the remaining super nodes pass verification of the first block, the remaining super nodes randomly select M verification nodes through a verifiable random algorithm, and M The verification node verifies the first block, and M is a positive integer; or
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。After the remaining super nodes pass the verification of the first block, the first super node randomly selects m1 verification nodes through a verifiable random algorithm, and m1 verification nodes pass a verifiable random algorithm Randomly select m2 verification nodes, m1 and m2 are both positive integers, and m1+m2=M, and M verification nodes verify the first block.
在一种可能的实施方式中,验证节点M的取值20-200。In a possible implementation manner, the value of the verification node M is 20-200.
在一种可能的实施方式中,所述第一区块的验证包括对所述第一区块中全部请求数据进行哈希验证和请求双方的身份验证。In a possible implementation manner, the verification of the first block includes hash verification of all requested data in the first block and identity verification of the requesting parties.
本申请第二方面提供一种可验证的DPoS共识系统,所述系统包括N个超级节点,验证节点以及普通节点;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;The second aspect of this application provides a verifiable DPoS consensus system. The system includes N super nodes, verification nodes, and ordinary nodes; wherein at least one of the ordinary nodes selects N super nodes, and N is a positive integer, so The N super nodes include the first super node;
所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;The super node is used to package the block and the verification block, the verification node is used to verify the block, and the ordinary node is used to synchronize data on the blockchain;
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;The first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;The first super node packs the first request data within a preset time period into a first block, and verifies the first block;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;After the first super node passes the verification of the first block, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block. Super nodes other than super nodes;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;After the remaining super nodes verify the first block, the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
本申请的方法不仅能够提高区块的产生效率,而且能够提高区块 链系统的安全性;相对于DPoS共识机制来说,增加了去中心化程度。The method of the present application can not only improve the efficiency of block generation, but also improve the security of the blockchain system; compared to the DPoS consensus mechanism, it increases the degree of decentralization.
附图说明Description of the drawings
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。The drawings described here are used to provide a further understanding of the application and constitute a part of the application. The exemplary embodiments and descriptions of the application are used to explain the application and do not constitute an improper limitation of the application.
图1为本申请实施例提供的一种可验证的DPoS共识方法流程示意图;FIG. 1 is a schematic flow diagram of a verifiable DPoS consensus method provided by an embodiment of the application;
图2为本申请实施例提供的一种可验证的DPoS共识系统结构示意图;Figure 2 is a schematic diagram of a verifiable DPoS consensus system structure provided by an embodiment of the application;
图3为本申请实施例提供的一种区块分片进行打包或验证的结构示意图。FIG. 3 is a schematic diagram of a structure for packing or verifying block fragments according to an embodiment of the application.
具体实施方式detailed description
为了更清楚的阐释本申请的整体构思,下面结合说明书附图以示例的方式进行详细说明。In order to explain the overall concept of the present application more clearly, a detailed description will be given below by way of example in conjunction with the accompanying drawings of the specification.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的顺序在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。The terms "first", "second", etc. in the description and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It should be understood that the order used in this way can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in orders other than those illustrated or described herein.
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to the clearly listed Those steps or units may include other steps or units that are not clearly listed or are inherent to these processes, methods, products, or equipment.
本申请实施例中所称的节点,可以理解为响应外界特定触发条件,并按一定规则做状态转换的抽象机器,可以是手机、平板电脑、掌上电脑、个人PC电脑等可以按照应用软件且能够联网的设备。The node referred to in the embodiments of this application can be understood as an abstract machine that responds to specific external triggering conditions and performs state transitions according to certain rules. It can be a mobile phone, a tablet, a handheld computer, a personal PC, etc. It can be based on application software and can be Networked devices.
如图1所示,一种可验证的DPoS共识方法,应用于如图2的可验证的DPoS共识系统中。As shown in Figure 1, a verifiable DPoS consensus method is applied to the verifiable DPoS consensus system shown in Figure 2.
所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点。The system includes a super node, a verification node, and a normal node. The super node is used to pack and verify the block, the verification node is used to verify the block, and the normal node is used to synchronize data on the blockchain. ; Wherein, at least one of the ordinary nodes selects N super nodes, N is a positive integer, and the N super nodes include the first super node.
需要说明的是,超级节点以及验证节点都有普通节点的功能;上述N个超级节点可以由若干位权益人通过电脑(没有同步区块链上的数据)投票产生,也可以由若干位权益人通过普通节点(同步了区块链上的数据)投票产生。It should be noted that both super nodes and verification nodes have the functions of ordinary nodes; the above N super nodes can be voted by a number of stakeholders through a computer (without synchronizing the data on the blockchain), or by a number of stakeholders It is generated by voting by ordinary nodes (synchronized with data on the blockchain).
所述方法包括步骤S101-S106。The method includes steps S101-S106.
S101,所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值。S101: The first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information.
在一个示例中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和买方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。In an example, the request information includes transaction information and/or business information; wherein, the transaction information includes the transaction amount and the buyer's digital signature; the business information includes business data, and the business data includes business attribute data, Price data and owner data.
此外,业务数据可以是结构化数据,可以包括业务数据的版本信息、价格信息、浏览次数信息、收藏次数信息、数据所有者信息以及数据创建者信息等中的一个或多个;并且,业务数据带有时间戳,是以时间轴连续的数据,例如:版本信息包括1.0版本、2.0版本,价 格信息包括初始价格和变动价格。In addition, the business data may be structured data, which may include one or more of the version information of the business data, price information, browsing times information, collection times information, data owner information, and data creator information; and, business data Time-stamped data is continuous data on the time axis. For example, version information includes version 1.0 and version 2.0, and price information includes initial price and change price.
S102,所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证。S102. The first super node packs the first request data within a preset time period into a first block, and verifies the first block.
此时,预设时间段是指两个区块生成之间的时间。At this time, the preset time period refers to the time between the generation of two blocks.
在一个示例中,所述第一请求数据包括所述第一区块与所述第一区块之前区块之间的全部所述交易数据。In an example, the first request data includes all the transaction data between the first block and a block before the first block.
在一个示例中,所述N个超级节点按照顺序打包区块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,所述N个超级节点打包区块的顺序,由所述第一超级节点通过动态规划方法确定。In an example, the N super nodes pack blocks in order, and after the first super node packs L blocks consecutively, the next super node packs blocks in order, and L is a positive integer; where, The order in which the N super nodes pack the blocks is determined by the first super node through a dynamic programming method.
此外,上述提到的每轮打包区块之前,需要确定打包区块的超级节点的顺序,以使得在各超级节点在每一轮打包区块过程中,全局路径最短;此时,可以采用动态规划方法解决该旅行商问题(Traveling Salesman Problem,TSP),即已知任意两个节点的距离,求如何从一个节点遍历所有节点,路径最短的问题。动态规划方法可以采用最短路径迪杰斯特拉Dijkstra算法,也可以采用全局最短路径Floyd-warshall算法。In addition, before each round of packaging blocks mentioned above, it is necessary to determine the order of the super nodes that pack the blocks, so that the global path is the shortest in each round of packaging blocks for each super node; in this case, dynamic The planning method solves the Traveling Salesman Problem (TSP), that is, knowing the distance between any two nodes, how to traverse all nodes from one node with the shortest path. The dynamic programming method can use the shortest path Dijkstra algorithm, or the global shortest path Floyd-warshall algorithm.
还需要说明的是,N个超级节点组成P2P网络,N个超级节点之间的数据传输,同样采用动态规划的方式来提高数据传输效率。每个超级节点传输数据时,不再直接向另外一个超级节点通信,而是通过动态规划方法选择两个超级节点之间的最短路径进行通信,能减少两个超级节点间的数据传输时间,从而提高网络效率。It should also be noted that N super nodes form a P2P network, and data transmission between the N super nodes also adopts a dynamic programming method to improve data transmission efficiency. When each super node transmits data, it no longer directly communicates with another super node, but selects the shortest path between the two super nodes for communication through the dynamic programming method, which can reduce the data transmission time between the two super nodes, thereby Improve network efficiency.
本申请对超级节点和超级节点连续打包区块的个数,不进行限定。在一个示例中,超级节点N的取值范围为10-100;第一超级节点连续打包L个区块,L的取值范围为1-100。This application does not limit the number of supernodes and the number of supernodes continuously packaged blocks. In an example, the value range of super node N is 10-100; the first super node continuously packs L blocks, and the value range of L is 1-100.
S103,所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点。S103: After the first super node passes the verification of the first block, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except for the A super node other than the first super node.
S104,所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证。S104: The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block.
需要说明的是,实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)可以容忍小于1/3个无效或者恶意节点,本申请实施例对该算法不进行详细说明。It should be noted that the Practical Byzantine Fault Tolerance (PBFT) algorithm can tolerate less than 1/3 invalid or malicious nodes, which is not described in detail in this embodiment of the application.
S105,当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数。S105: After the remaining super nodes pass the verification of the first block, the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes adopt practical Byzantine fault tolerance. The algorithm verifies the first block, and M is a positive integer.
在一个示例中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。In an example, when the remaining super nodes verify the first block, and/or when the M verification nodes verify the first block; the first super node pairs The second request data in the preset time period is packaged into a second block, and the second block is verified.
换句话说,上述其余超级节点对上述第一区块进行验证,与第一超级节点对第二请求数据打包生成第二区块过程,可以同时进行,不需要等待第一区块验证过程完全结束后,才开始产生第二区块,从而提高了区块的产生效率;同时,上述M个验证节点对第一区块进行验证,与第一超级节点产生第二区块的过程,也可以同时进行。In other words, the rest of the above-mentioned super nodes verify the above-mentioned first block, and the process of generating the second block by packaging the second request data with the first super node can be carried out at the same time without waiting for the first block verification process to be completely completed. After that, the second block is generated, thereby improving the efficiency of block generation; at the same time, the above M verification nodes verify the first block, and the process of generating the second block by the first super node can also be performed at the same time get on.
此时,利用可验证随机算法(Verifiable Random Function,VRF)选择M个验证节点对第一区块进行验证,可以防止超过三分之一的超级节点做恶;如果有超过三分之一的超级节点做恶,第一超级节点随机选择的M个验证节点对第一区块拒绝验证,或者验证不通过, 第一区块不能成功上链。At this time, using Verifiable Random Function (VRF) to select M verification nodes to verify the first block can prevent more than one third of the super nodes from doing evil; if there are more than one third of the super nodes The node is evil, the M verification nodes randomly selected by the first super node refuse to verify the first block, or the verification fails, the first block cannot be successfully uploaded to the chain.
从而,第一超级节点采用VRF算法对上链的区块进行验证,能够提升区块链系统的安全性;并且,上述讨论可知,第一超级节点采用VRF算法对上链的区块进行验证时,第一超级节点还可以继续打包生成第二区块,既还能够提升区块链系统的区块生成效率。Therefore, the first super node uses the VRF algorithm to verify the blocks on the chain, which can improve the security of the blockchain system; and the above discussion shows that the first super node uses the VRF algorithm to verify the blocks on the chain. , The first super node can also continue to package to generate the second block, which can also improve the block generation efficiency of the blockchain system.
需要指出的是,M个验证节点也采用PBFT算法对第一区块进行验证。It should be pointed out that the M verification nodes also use the PBFT algorithm to verify the first block.
此外,由于M个验证节点能够存储整条区块链,相对于现有的DPoS算法(DPoS算法中,只有100个左右的代理权益节点才有验证的功能),增加了区块链系统的去中心化程度。验证节点发现第一区块验证不通过时,将第一区块废弃,从该第一区块的上一个区块重新进行区块生成和验证流程;并且将其余超级节点中判断该第一区块验证通过的超级节点,作为做恶节点;然后,验证节点将该做恶节点拉入黑名单,新增超级节点对做恶的超级节点进行替换。本申请的区块链系统中,根据上述机制,可以防止任意数量的超级节点做恶。In addition, since M verification nodes can store the entire blockchain, compared to the existing DPoS algorithm (in the DPoS algorithm, only about 100 proxy equity nodes have the function of verification), the blockchain system has been increased. Degree of centralization. When the verification node finds that the first block fails the verification, the first block is discarded, and the block generation and verification process is repeated from the previous block of the first block; and the first block is judged from the remaining super nodes The super node that has passed the block verification is regarded as a malicious node; then, the verification node pulls the malicious node into the blacklist, and a super node is added to replace the malicious super node. In the blockchain system of the present application, according to the above mechanism, any number of super nodes can be prevented from doing evil.
在一个示例中,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点所述第一区块进行验证,M为正整数。In an example, after the remaining super nodes pass the verification of the first block, the remaining super nodes randomly select M verification nodes through a verifiable random algorithm, and the M verification nodes The first block is verified, and M is a positive integer.
在一个示例中,当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。In an example, after the remaining super nodes verify the first block, the first super node randomly selects m1 verification nodes through a verifiable random algorithm, and m1 verification nodes pass A verifiable random algorithm randomly selects m2 verification nodes, m1 and m2 are all positive integers, and m1+m2=M, and M verification nodes verify the first block.
本申请对于验证节点的取值不进行限定。在一个示例中,验证节点M的取值20-200。This application does not limit the value of the verification node. In an example, the value of the verification node M is 20-200.
S106,当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。S106: After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
需要指出的是,上述任一区块被验证后,被验证的区块上链;区块上链之后,并没有成为不可逆块;只有该上链区块后续有多个区块(例如:后续有6个区块)被确认上链后,该区块才成为不可逆块。It should be pointed out that after any of the above-mentioned blocks is verified, the verified block is on the chain; after the block is on the chain, it does not become an irreversible block; only the on-chain block has multiple subsequent blocks (for example: subsequent There are 6 blocks) after it is confirmed to be on the chain, the block becomes an irreversible block.
在一个示例中,上述第一区块的验证包括对所述第一区块中全部请求数据进行哈希验证和请求双方的身份验证。In an example, the verification of the above-mentioned first block includes hash verification of all requested data in the first block and identity verification of the requesting parties.
验证方式例如:通过交易中,发送方的公钥验证发送方是否通过私钥进行了签名,通过第一区块中区块头的哈希Merkle数根验证第一区块中的交易数据是否被篡改。需要说明的是,对区块的验证是本领域技术人员的常规技术手段,本申请对此不进行详细说明。The verification method is for example: in the transaction, the sender’s public key is used to verify whether the sender is signed with the private key, and the Merkle number root of the block header in the first block is used to verify whether the transaction data in the first block has been tampered with . It should be noted that the verification of the block is a conventional technical means of those skilled in the art, and this application will not describe this in detail.
在一个示例中,所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。In an example, after the remaining super nodes pass the verification of the first block, when the first super node determines that the bytes of the first block are greater than a preset byte threshold, the first super node The node divides the first block into at least two fragmented blocks; the first super node randomly selects at least two verification node groups through a verifiable random algorithm, and the at least two verification node groups adopt practical Byzantine fault tolerance The algorithm verifies the at least two shard blocks; wherein one verification node group verifies one shard block; the first super node accepts the at least two verification node groups to verify the at least two shard blocks If the verification message is passed, the first block is uploaded to the chain.
如图3所示,区块的字节数大于字节阈值,区块被分成分片区块1、分片区块2以及、分片区块3、分片区块n,采用VRF算法随机选择验证节点组6、验证节点组3以及验证节点组8对该区块进行验证。As shown in Figure 3, the number of bytes of the block is greater than the byte threshold, and the block is divided into fragment block 1, fragment block 2, fragment block 3, fragment block n, and use the VRF algorithm to randomly select the verification node group 6. The verification node group 3 and the verification node group 8 verify the block.
在一个示例中,当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一 区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和所述第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。In an example, when the first super node packs the first block, and it is determined that the bytes of the first block are greater than a preset byte threshold, the first super node packs the first block Divided into at least two shard blocks; wherein, at least two shard blocks include a first shard block and the second shard block, the first shard block is packaged by the first super node, and the second shard block The fragmented block is packaged by the first super node randomly selecting one of the remaining super nodes through a verifiable random algorithm.
如图3所示,区块字节大于字节阈值,该区块被划分为分片区块1、分片区块2、分片区块3、分片区块n,第一超级节点通过VRF算法随机选择超级节点VRF对分片区块1打包,超级节点2对分片区块2打包,超级节点9对分片区块3打包。As shown in Figure 3, the block byte is greater than the byte threshold. The block is divided into fragment block 1, fragment block 2, fragment block 3, and fragment block n. The first super node randomly selects it through the VRF algorithm Super node VRF packs shard block 1, super node 2 packs shard block 2, and super node 9 packs shard block 3.
需要说明的是,字节数阈值可根据需要设定。It should be noted that the byte count threshold can be set as required.
如图2所示,一种可验证的DPoS共识系统,所述系统包括N个超级节点,验证节点以及普通节点。As shown in Figure 2, a verifiable DPoS consensus system includes N super nodes, verification nodes and ordinary nodes.
至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点。At least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N super nodes include the first super node.
所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;并且接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;且对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;且对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点。The super node is used to package the block and the verification block, the verification node is used to verify the block, and the ordinary node is used to synchronize data on the blockchain; and receive request data sent by at least one of the ordinary nodes , The request data includes request information, the addresses of the requesting parties, and the hash value of the request information; and the first request data within a preset time period is packaged into a first block, and the first block is processed Verification; and after the first block is verified, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first super node Super node.
其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数。The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block; after the remaining super nodes verify the first block, the first super node randomly selects M through a verifiable random algorithm The verification nodes, M verification nodes verify the first block using a practical Byzantine fault-tolerant algorithm, and M is a positive integer.
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
在一个示例中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和交易双方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。In an example, the request information includes transaction information and/or business information; wherein, the transaction information includes transaction amount and digital signatures of both parties to the transaction; the business information includes business data, and the business data includes business attribute data , Price data, and owner data.
在一个示例中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。In an example, when the remaining super nodes verify the first block, and/or when the M verification nodes verify the first block; the first super node pairs The second request data in the preset time period is packaged into a second block, and the second block is verified.
本申请的方法不仅能够提高区块的产生效率,而且能够提高区块链系统的安全性;相对于DPoS共识机制来说,增加了去中心化程度。The method of the present application can not only improve the efficiency of block generation, but also improve the security of the blockchain system; compared with the DPoS consensus mechanism, the degree of decentralization is increased.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。The various embodiments in this specification are described in a progressive manner, and the same or similar parts between the various embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, please refer to the part of the description of the method embodiment.
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Professionals should also be further aware that the units and algorithm steps of the examples described in the embodiments disclosed in this article can be implemented by electronic hardware, computer software or a combination of both, in order to clearly illustrate the hardware and software Interchangeability. In the above description, the composition and steps of each example have been generally described in terms of function. Whether these functions are executed by hardware or software depends on the specific application and design constraint conditions of the technical solution. Professionals and technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered beyond the scope of this application.
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于 本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。The above descriptions are only examples of this application and are not used to limit this application. For those skilled in the art, this application can have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included in the scope of the claims of this application.

Claims (10)

  1. 一种可验证的DPoS共识方法,其特征在于,应用于基于可验证的DPoS共识机制的共识系统中,所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;所述方法包括:A verifiable DPoS consensus method, characterized in that it is applied to a consensus system based on a verifiable DPoS consensus mechanism. The system includes a super node, a verification node, and a common node. The super node is used to package blocks and Verify the block, the verification node is used to verify the block, the ordinary node is used to synchronize data on the blockchain; wherein at least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N The super nodes include the first super node; the method includes:
    所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;The first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
    所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;The first super node packs the first request data within a preset time period into a first block, and verifies the first block;
    所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;After the first super node passes the verification of the first block, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block. Super nodes other than super nodes;
    所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block;
    当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;After the remaining super nodes verify the first block, the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
    当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
  2. 根据权利要求1所述的方法,其特征在于,所述请求信息包括交易信息和/或业务信息;其中,The method according to claim 1, wherein the request information includes transaction information and/or business information; wherein,
    所述交易信息包括交易金额和买方的数字签名;The transaction information includes the transaction amount and the buyer's digital signature;
    所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。The business information includes business data, and the business data includes business attribute data, price data, and owner data.
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, wherein the method further comprises:
    所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;After the remaining super nodes pass the verification of the first block, when the first super node determines that the bytes of the first block are greater than a preset byte threshold, the first super node will A block is divided into at least two fragmented blocks;
    所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;The first super node randomly selects at least two verification node groups through a verifiable random algorithm, and the at least two verification node groups use a practical Byzantine fault-tolerant algorithm to verify the at least two shard blocks; among them, one verifies The node group verifies a fragmented block correspondingly;
    所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。The first super node accepts the verification message of the at least two shard blocks from the at least two verification node groups, and the first block is uploaded to the chain.
  4. 根据权利要求1所述的方法,其特征在于,所述N个超级节点按照顺序打包区块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,The method according to claim 1, wherein the N super nodes pack blocks in order, and after the first super node packs L blocks consecutively, the next super node packs blocks in order , L is a positive integer; where,
    所述N个超级节点打包区块的顺序,由所述第一超级节点通过动态规划方法来决定;和/或The order in which the N super nodes pack the blocks is determined by the first super node through a dynamic programming method; and/or
    在每一轮打包顺序确定后,所述N个超级节点之间的数据传输路径,由动态规划方法来确定。After the packing sequence is determined in each round, the data transmission path between the N super nodes is determined by a dynamic programming method.
  5. 根据权利要求1或4所述的方法,其特征在于,当所述其余超级节点对所述第一区块进行验证时,和/或The method according to claim 1 or 4, wherein when the remaining super nodes verify the first block, and/or
    当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。When the M verification nodes verify the first block; the first super node packs the second request data within the preset time period into a second block, and compares the second block authenticating.
  6. 根据权利要求1所述的方法,其特征在于,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点对所述第一区块进行验证,M为正整数;或The method according to claim 1, wherein, after the remaining super nodes verify the first block, the remaining super nodes randomly select M verification nodes through a verifiable random algorithm, The M verification nodes verify the first block, and M is a positive integer; or
    当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。After the remaining super nodes pass the verification of the first block, the first super node randomly selects m1 verification nodes through a verifiable random algorithm, and m1 verification nodes pass a verifiable random algorithm Randomly select m2 verification nodes, m1 and m2 are both positive integers, and m1+m2=M, and M verification nodes verify the first block.
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, wherein the method further comprises:
    当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和所述第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。When the first super node packs the first block and it is determined that the bytes of the first block are greater than the preset byte threshold, the first super node divides the first block into at least two Fragment block; wherein at least two fragment blocks include a first fragment block and the second fragment block, the first fragment block is packaged by the first super node, and the second fragment block is composed of The first super node randomly selects one of the remaining super nodes to package by using a verifiable random algorithm.
  8. 一种可验证的DPoS共识系统,其特征在于,所述系统包括N个超级节点,验证节点以及普通节点;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;A verifiable DPoS consensus system, characterized in that the system includes N super nodes, verification nodes and ordinary nodes; wherein at least one of the ordinary nodes selects N super nodes, where N is a positive integer, and the N Each super node includes the first super node;
    所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;The super node is used to package the block and the verification block, the verification node is used to verify the block, and the ordinary node is used to synchronize data on the blockchain;
    所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;The first super node receives request data sent by at least one of the ordinary nodes, where the request data includes request information, addresses of both requesting parties, and a hash value of the request information;
    所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;The first super node packs the first request data within a preset time period into a first block, and verifies the first block;
    所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;After the first super node passes the verification of the first block, the first block is sent to the remaining super nodes for verification, and the remaining super nodes are the N super nodes except the first block. Super nodes other than super nodes;
    所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;The remaining super nodes use a practical Byzantine fault-tolerant algorithm to verify the first block;
    当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;After the remaining super nodes verify the first block, the first super node randomly selects M verification nodes through a verifiable random algorithm, and the M verification nodes use a practical Byzantine fault-tolerant algorithm to The first block is verified, and M is a positive integer;
    当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。After the M verification nodes pass the verification of the first block, the first block is uploaded to the chain.
  9. 根据权利要求8所述的系统,其特征在于,所述请求信息包括交易信息和/或业务信息;其中,The system according to claim 8, wherein the request information includes transaction information and/or business information; wherein,
    所述交易信息包括交易金额和交易双方的数字签名;The transaction information includes the transaction amount and the digital signatures of both parties to the transaction;
    所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。The business information includes business data, and the business data includes business attribute data, price data, and owner data.
  10. 根据权利要求8所述的系统,其特征在于,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;The system according to claim 8, wherein when the remaining super nodes verify the first block, and/or when the M verification nodes verify the first block ;
    所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。The first super node packs the second request data within a preset time period into a second block, and verifies the second block.
PCT/CN2019/129715 2019-04-16 2019-12-30 Verifiable consensus method and system WO2020211461A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910306005.XA CN110011814B (en) 2019-04-16 2019-04-16 A kind of DPoS common recognition method and its system that can verify that
CN201910306005.X 2019-04-16

Publications (1)

Publication Number Publication Date
WO2020211461A1 true WO2020211461A1 (en) 2020-10-22

Family

ID=67172340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/129715 WO2020211461A1 (en) 2019-04-16 2019-12-30 Verifiable consensus method and system

Country Status (2)

Country Link
CN (1) CN110011814B (en)
WO (1) WO2020211461A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600678A (en) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 Data processing method, device, equipment and storage medium
CN115002221A (en) * 2022-06-06 2022-09-02 长春理工大学 Block chain consensus method and system suitable for Internet of things

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011814B (en) * 2019-04-16 2019-10-15 北京艾摩瑞策科技有限公司 A kind of DPoS common recognition method and its system that can verify that
CN110445616B (en) * 2019-07-15 2022-03-04 杭州复杂美科技有限公司 Block packing node packing sequence determining method, equipment and storage medium
CN110474765B (en) * 2019-07-29 2022-06-14 广东工业大学 Quantum block chain construction method based on delegation rights and interests certification extension
CN110445778B (en) * 2019-08-01 2020-12-22 中盾云链(广州)信息科技有限公司 Consensus algorithm applied to alliance chain
CN110675257B (en) * 2019-09-12 2022-09-06 广州蚁比特区块链科技有限公司 Block group chain construction method and device
CN110554616B (en) * 2019-09-24 2021-04-27 北京瑞策科技有限公司 Intelligent home data chaining method and system of Internet of things on block chain
CN110601834B (en) * 2019-09-30 2023-02-10 深圳市迅雷网络技术有限公司 Consensus method, device, equipment and readable storage medium
CN110933022A (en) * 2019-10-11 2020-03-27 深圳壹账通智能科技有限公司 Block processing method and device, computer equipment and storage medium
CN111259078B (en) * 2020-01-15 2023-10-10 广州运通链达金服科技有限公司 Block chain consensus method, apparatus, computer device and storage medium
CN111355799A (en) * 2020-02-27 2020-06-30 百度在线网络技术(北京)有限公司 Voting method, device, equipment and storage medium based on block chain
CN114466042A (en) * 2022-01-25 2022-05-10 北京工业大学 Consensus method applied to agricultural product supply chain scene

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170155515A1 (en) * 2015-11-26 2017-06-01 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
CN108667614A (en) * 2018-04-19 2018-10-16 上海分布信息科技有限公司 A kind of Byzantine failure tolerance method and its realize system
CN108848085A (en) * 2018-06-04 2018-11-20 温州市图盛科技有限公司 A kind of electric power data distributed security protection tool based on block chain
CN110011814A (en) * 2019-04-16 2019-07-12 北京艾摩瑞策科技有限公司 A kind of DPoS common recognition method and its system that can verify that

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438002B (en) * 2016-05-27 2022-02-11 索尼公司 Block chain based system and electronic device and method in system
CN107360248B (en) * 2017-07-31 2020-08-25 众安信息技术服务有限公司 Method and apparatus for configuring local consensus and computer-readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170155515A1 (en) * 2015-11-26 2017-06-01 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
CN108667614A (en) * 2018-04-19 2018-10-16 上海分布信息科技有限公司 A kind of Byzantine failure tolerance method and its realize system
CN108848085A (en) * 2018-06-04 2018-11-20 温州市图盛科技有限公司 A kind of electric power data distributed security protection tool based on block chain
CN110011814A (en) * 2019-04-16 2019-07-12 北京艾摩瑞策科技有限公司 A kind of DPoS common recognition method and its system that can verify that

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600678A (en) * 2021-03-02 2021-04-02 腾讯科技(深圳)有限公司 Data processing method, device, equipment and storage medium
CN115002221A (en) * 2022-06-06 2022-09-02 长春理工大学 Block chain consensus method and system suitable for Internet of things
CN115002221B (en) * 2022-06-06 2023-06-23 长春理工大学 Block chain consensus method and system suitable for Internet of things

Also Published As

Publication number Publication date
CN110011814A (en) 2019-07-12
CN110011814B (en) 2019-10-15

Similar Documents

Publication Publication Date Title
WO2020211461A1 (en) Verifiable consensus method and system
EP4120114A1 (en) Data processing method and apparatus, smart device and storage medium
CN109409122B (en) File storage method, electronic device and storage medium
US20210281413A1 (en) Blockchain-based transaction method and apparatus, and remitter device
US11895248B2 (en) Method and apparatus for generating blockchain transaction
US20220385460A1 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111681003B (en) Resource cross-chain transfer method and device, computer equipment and storage medium
US10778428B1 (en) Method for restoring public key based on SM2 signature
WO2022105565A1 (en) Cross-chain blockchain communication method and apparatus
WO2022095244A1 (en) Cross-chain transaction method, system and apparatus, device, and storage medium
WO2020211460A1 (en) Logical sharding method and system for blockchain nodes
EP3619668B1 (en) Performing parallel execution of transactions in a distributed ledger system
EP3627797A1 (en) Manicoding for access verification
TWI749488B (en) Computer-implemented method, system, and non-transitory computer-readable storage medium for detecting disabling replay attacks
US11271760B2 (en) Managing blockchain-based centralized ledger systems
US10904017B2 (en) Managing blockchain-based centralized ledger systems
US10904013B2 (en) Managing blockchain-based centralized ledger systems
CN113328997B (en) Alliance chain crossing system and method
CN110336779B (en) Block chain construction method and device and electronic equipment
CN111241593A (en) Data synchronization method and device for block chain nodes
CN112529508A (en) Electric power material management system based on PBFT alliance chain
WO2019142884A1 (en) Block verification device, block verification method and program
JP6911231B1 (en) Reliability verification system for digital asset data packets
CN105956490B (en) A method of it generates in a network environment, safeguard trust data
WO2023231558A1 (en) Blockchain consensus method and apparatus, medium, electronic device, and program product

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: 19924838

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19924838

Country of ref document: EP

Kind code of ref document: A1