WO2022027531A1 - Blockchain construction method and system, and storage medium, computer device and application - Google Patents

Blockchain construction method and system, and storage medium, computer device and application Download PDF

Info

Publication number
WO2022027531A1
WO2022027531A1 PCT/CN2020/107592 CN2020107592W WO2022027531A1 WO 2022027531 A1 WO2022027531 A1 WO 2022027531A1 CN 2020107592 W CN2020107592 W CN 2020107592W WO 2022027531 A1 WO2022027531 A1 WO 2022027531A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
node
blockchain
consensus
round
Prior art date
Application number
PCT/CN2020/107592
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 WO2022027531A1 publication Critical patent/WO2022027531A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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]
    • 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/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Definitions

  • the invention belongs to the technical field of blockchain application, and in particular relates to a blockchain construction method, system, storage medium, computer equipment and application.
  • blockchain is a new decentralized infrastructure and distributed computing paradigm that has gradually emerged with the increasing popularity of digital cryptocurrencies such as Bitcoin. of great attention and widespread concern.
  • the consensus protocol is the core of the blockchain database.
  • the existing consensus protocols are mainly divided into two categories: one is the consensus protocol in the public environment, such as POW represented by the Bitcoin blockchain and Ethereum represented by POS, they use the competitive mining resistance mechanism to realize the selection of accounting nodes in an untrusted public network environment.
  • POW represented by the Bitcoin blockchain
  • POS Ethereum represented by POS
  • POS the competitive mining resistance mechanism to realize the selection of accounting nodes in an untrusted public network environment.
  • its consensus efficiency is poor, and it is difficult to meet high real-time and high concurrent data processing services.
  • the other type is consensus protocols in private environments, such as PBFT and Raft, whose core idea is to use a rotating or voting mechanism to achieve the alternation of accounting nodes in a fully trusted environment.
  • PBFT and Raft consensus protocols in private environments
  • PBFT and Raft a rotating or voting mechanism to achieve the alternation of accounting nodes in a fully trusted environment.
  • the existing blockchain consensus protocols are difficult to take into account performance and security, and cannot meet the needs of efficient and secure real-world scenarios. Or provide efficient consensus among fully trusted nodes.
  • the nodes are relatively credible, there is a lack of a consensus protocol that takes both performance and security into consideration.
  • the above-mentioned consensus protocols have high computational energy consumption, low consensus efficiency, and poor robustness and security.
  • the problems and defects of the existing technology are: the current blockchain has a consensus protocol that consumes a lot of energy for calculation, low consensus efficiency, and poor robustness and security.
  • the main defect of the existing consensus protocol is that it is difficult to balance security and efficiency. It is worth noting that compared with the public chain, the performance of the consensus protocol in the private environment is improved by an order of magnitude, which is closer to the goal of the present invention.
  • the existing private chain consensus itself has weak security and is too dependent on the external environment, that is, it needs to be deployed in a completely secure environment, which is difficult to fully satisfy in reality. Therefore, the present invention needs to improve the security of the consensus protocol in the existing private environment, and the key difficulty lies in how to protect its identity while determining a new round of bookkeeping master nodes, and avoid being locked in advance by malicious attacks for damage.
  • the present invention provides a blockchain construction method, system, storage medium, computer equipment and application.
  • a method for constructing a blockchain includes:
  • CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain.
  • a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
  • the billing node of the round randomly selects the billing node of the next round.
  • the initial configuration of the blockchain construction method specifically includes the following steps:
  • Step 1 At the beginning of the establishment of the blockchain, the CA first divides the network into Q domains, and assigns a leader node to participate in the consensus for each domain to participate in the consensus of the blockchain system;
  • Step 2 generate a genesis block, namely Block 0 ;
  • Step 3 When a node joins the blockchain network, firstly register the identity information at the CA and obtain the issued public key certificate as the admission certificate for its participation in the blockchain network; at the same time, it is necessary to specify the domain to which the joining node belongs. ;
  • Step 4 When a node exits, the CA also needs to revoke its public key certificate.
  • the CA first divides the network into Q domains, and assigns a leader node for each domain whose number is from 1 to Q, as follows:
  • CA assigns each node in the network to different domains
  • Each domain selects a master node to communicate with other master nodes in the blockchain network.
  • the generation of the creation block in the step 2 specifically includes:
  • Raft efficient and secure consensus protocol based on a verifiable random function includes the following steps:
  • Step 1 the node decrypts the Nx_P* field of the block, obtains the information proving the packaging node of this round, and determines whether it is a packaging node;
  • Step 2 randomly select the next round of billing node j, and the block generated by node i is Block n ;
  • Step 3 start to generate block Block n , node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than one-third of the number of consensus nodes in the entire blockchain network The second is to write the block into the local blockchain;
  • step 4 other nodes verify the block Block n . After the verification is passed, each master node redistributes the verified block Block n to each non-participating consensus node in its management domain.
  • randomly selecting the billing node j of the next round in the second step includes the following steps:
  • VRF_Hash VRF_Hash(Sk, M)
  • Sk the private key
  • the prover calculates the VRF proof P;
  • the block Block n is generated, and the node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, and only receives more than one-third of the number of consensus nodes in the entire blockchain network.
  • the second is to write the block to the local blockchain, including the following steps:
  • node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than two-thirds of the number of consensus nodes in the entire blockchain network Only write the block to the local blockchain;
  • the node receiving Block n first verifies the hash chain relationship before and after, and then verifies whether the signature field Sig in the block header is established;
  • the node After the verification is passed, the node extracts the values Y, P, M, Pk in the Pr_P field in the received block Block n ;
  • the verifier inputs the VRF prover's public key Pk, the message M, and the VRF output random value Y and the proof P are performed verify.
  • the output is False/True. If it is proved that P is generated according to M and Y can be deduced by P, then the verification passes and the output is True; otherwise, the verification fails and the output is False, and it is verified whether Y can be mapped to the current packaging node. If it can be mapped to, the verification is passed. , otherwise the verification fails;
  • the master node After the verification is passed, the master node writes the block into the local blockchain, and each master node redistributes the verified block Block n to each non-participating consensus node in its management domain.
  • the current packaging node feeds back an acceptance message;
  • Another object of the present invention is to provide a computer device, the computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the following step:
  • CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain.
  • a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
  • the billing node of this round randomly selects the billing node of the next round.
  • Another object of the present invention is to provide a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, causes the processor to perform the following steps:
  • CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain.
  • a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
  • the billing node of the round randomly selects the billing node of the next round.
  • Another object of the present invention is to provide a blockchain construction system for implementing the blockchain construction method, the blockchain construction system comprising:
  • the initial configuration module of the blockchain is used to divide the network into Q domains at the beginning of the establishment of the blockchain.
  • Each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the blocks after the leader node consensus. ;
  • the Raft consensus protocol building block is used for the Raft consensus protocol based on a verifiable random function: when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
  • Another object of the present invention is to provide a blockchain system equipped with the blockchain construction system.
  • the CA at the beginning of the establishment of the blockchain, the CA first divides the network into Q domains, and assigns a leader node for each domain to participate in the area.
  • Blockchain consensus When a node joins the blockchain network, the identity information is first registered at the CA. When a node exits, the CA also needs to revoke its identity information.
  • the billing node of the round randomly selects the billing node of the next round. It realizes the efficient and safe selection of blockchain accounting nodes in an incompletely trusted environment.
  • the proposed consensus protocol in the process of random determination of accounting nodes, uses public key encryption to select the identity information of the next round of consensus nodes, which ensures that the confidentiality of the identity of the next round of consensus nodes is avoided from being destroyed in advance, and improves the Security and robustness of consensus protocols. It avoids the problem that the identity of the accounting node based on the sequential rotation mechanism (such as PBFT) and the voting mechanism (such as Raft) consensus protocol is open and vulnerable.
  • PBFT sequential rotation mechanism
  • Raft voting mechanism
  • the proposed consensus method uses a verifiable random function to randomly determine the billing node selection process, which ensures that the next round of billing is not generated by competition, but randomly generated and disclosed by the previous round of billing nodes. Verifiable, thus avoiding the problems of high energy consumption and low consensus efficiency in consensus protocols based on competitive accounting mechanisms (such as classic PoW, PoS consensus mechanisms).
  • the present invention applies the verifiable random function to the blockchain, and realizes that the security and efficiency problems brought by the Raft consensus of the traditional blockchain can be solved with the minimum performance overhead between incompletely trusted nodes.
  • the invention improves the traditional Raft consensus protocol by using a verifiable random function, realizes the efficient and safe selection of billing nodes in the blockchain system in an incompletely trusted environment, and satisfies the need for massive users and high concurrent services to the blockchain system data. Efficient and secure synchronization requirements.
  • FIG. 1 is a flowchart of a blockchain construction method provided by an embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of a blockchain construction system provided by an embodiment of the present invention.
  • FIG. 3 is an overall architecture diagram of an implementation provided by an embodiment of the present invention.
  • FIG. 4 is a diagram of a Raft consensus protocol based on a verifiable random function implemented by an embodiment of the present invention.
  • FIG. 5 is a structural diagram of a founding block of an implementation provided by an embodiment of the present invention.
  • FIG. 6 is a block chain data structure diagram of an implementation provided by an embodiment of the present invention.
  • FIG. 7 is a sub-flow chart of blockchain initialization provided by an embodiment of the present invention.
  • FIG. 8 is a sub-flow chart of constructing a Raft efficient and secure consensus protocol based on a verifiable random function provided by an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of the relationship between concurrency and time provided by an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of the relationship between the number of nodes and time according to an embodiment of the present invention.
  • the present invention provides a method, system, storage medium, computer equipment and application for building a blockchain.
  • the present invention is described in detail below with reference to the accompanying drawings.
  • the blockchain construction method provided by the present invention includes the following steps:
  • each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the blocks after the leader node consensus;
  • S102 Raft consensus protocol based on a verifiable random function: while generating a new block in each round, the billing node of the round randomly selects the billing node of the next round.
  • FIG. 1 The blockchain construction method provided by the present invention in FIG. 1 is only a specific example.
  • the blockchain construction system provided by the present invention includes:
  • Blockchain initial configuration module 1 is used to divide the network into Q domains at the beginning of the establishment of the blockchain, each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the area after the leader node consensus piece.
  • Raft consensus protocol building module 2 is used for Raft consensus protocol based on verifiable random function: while generating a new block in each round, the billing node of this round randomly selects the billing node of the next round.
  • Step 1 CA divides the network into Q domains
  • CA assigns each node in the network to different domains, respectively labeled 1 to Q. Each domain selects a master node for communicating with other master nodes in the blockchain network to reach a consensus. The labels of each master node are also 1 to Q, and each master node registers its identity at the CA;
  • Step 2 generate a genesis block (ie Block 0 );
  • R_Hash represents the hash of the previous block, and this field is initially empty in Block 0 .
  • Num represents the number of the current block. In Block 0 , this field is initially numbered 0.
  • the Tamp field represents a timestamp, and in Block 0 , the Tamp field is initially the current timestamp.
  • Cu_Cert represents the public key certificate of the accounting node in this round. In Block 0 , this field is the public key certificate of the CA.
  • the Pr_P field represents the information of the current round of billing nodes, which is initialized to be empty in Block 0 ;
  • P_Hash represents the hash root of the block body, which is filled with the currently calculated hash value in Block 0 ;
  • Nx_P* represents the next The information of the round accounting node.
  • this field is filled with the default value generated by the CA, that is, the information of the next packaging node;
  • Sig represents the signature of the entire block information by the accounting node in this round.
  • this field is The CA's signature for the entire block information.
  • Step 3 when a new node joins the blockchain network, register the identity information at the CA;
  • Step 4 When a node exits, the CA also needs to revoke its identity information
  • the present invention constructs a Raft efficient and secure consensus protocol based on a verifiable random function as follows:
  • Step 1 the node decrypts the Nx_P* field of the block, and obtains the information that proves the packaging node of this round;
  • Step 2 determine whether you are a packaged node, if so, go to Step 3;
  • Step 3 and randomly select the accounting node j of the next round, if the block generated by node i is Block n ;
  • Billing node i in the nth round of consensus will use the following three functions in the verifiable random function:
  • Sk the private key
  • the output of the hash function is randomly distributed in the range of the value range.
  • the hash method is used in the VRF calculation process, and the calculated value is random.
  • the prover calculates the VRF proof P, and outputs the input data M and VRF Y, and the public key Pk of the VRF prover , the VRF proof P is sent to the verifier.
  • Step 4 the consensus node i of the current round of bookkeeping collects the transaction information generated by each consensus node in the current period of time, and starts to generate the block Block n ;
  • Node i first obtains Y n-1 and P n-1 , t, P k in the Nx_P* field in the block header of Block n-1 , and then converts Y n-1 and P n-1 , t, P k Fill in the Pr_P field of Block n . Then it fills its own public key certificate Cert_i into the field Cu_Cert in the block header of Block n , and B fills the calculated Y n * , P n * , t * , and P k into the Nx_P* field in the block n block header. Then use the Merkle tree to calculate the value of P_Hash.
  • Step 5 Node i broadcasts the generated new block Block n to the remaining Q-1 nodes, and then waits for feedback from other nodes, counts the number of received nodes, and only receives more than the consensus in the entire blockchain network. Only two-thirds of the number of nodes write blocks into the local blockchain;
  • Step 6 Receive other nodes of Block n , verify the hash chain relationship before and after, and then verify whether the signature field Sig in the block header is valid to ensure the integrity of the block;
  • Step 7 Obtain Y n-1 and P n-1 , t, P k in the Pr_P field in the block header of Block n , and verify the authenticity of the identity information;
  • the verifier inputs the public key P k of the VRF prover, the message n-1, and the random value Y n-1 and the proof P n-1 output by the VRF for verification.
  • the output is False/True. If it is proved that P n-1 is generated according to n-1 and Y n- 1 can be deduced from P n- 1, the output is True if the verification passes, otherwise the verification fails and the output is False;
  • Step 8 If all the verifications pass, the node sends an acceptance message true to the current packaging node, otherwise it sends a non-acceptance message false and writes the block Block n to the local blockchain.
  • the invention proposes an efficient and secure blockchain construction method based on verifiable random function and Raft.
  • verifiable random function and Raft consensus protocol By combining the verifiable random function and Raft consensus protocol, an efficient and secure blockchain system accounting node is constructed in an incompletely trusted environment.
  • the security selection mechanism solves the problem that the security and efficiency of the traditional blockchain consensus protocol are difficult to balance.
  • the present invention compares the consensus protocol with the traditional classical consensus as shown in Table 1.
  • the consensus protocol of the present invention realizes an efficient and safe selection mechanism for the accounting nodes of the blockchain system in an incompletely trusted environment, and solves the problem that the security and efficiency of the traditional blockchain consensus protocol are difficult to balance.
  • plural means two or more; the terms “upper”, “lower”, “left”, “right”, “inner”, “outer”
  • the orientation or positional relationship indicated by , “front end”, “rear end”, “head”, “tail”, etc. are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, not An indication or implication that the referred device or element must have a particular orientation, be constructed and operate in a particular orientation, is not to be construed as a limitation of the invention.
  • the terms “first,” “second,” “third,” etc. are used for descriptive purposes only and should not be construed to indicate or imply relative importance.
  • the embodiments of the present invention may be implemented by hardware, software, or a combination of software and hardware.
  • the hardware portion may be implemented using special purpose logic; the software portion may be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware.
  • a suitable instruction execution system such as a microprocessor or specially designed hardware.
  • Those of ordinary skill in the art will appreciate that the apparatus and methods described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory Such code is provided on a programmable memory (firmware) or a data carrier such as an optical or electronic signal carrier.
  • the device of the present invention and its modules can be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., It can also be implemented by software executed by various types of processors, or by a combination of the above-mentioned hardware circuits and software, such as firmware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A blockchain construction method and system, and a storage medium, a computer device and an application. The method comprises: at the beginning of blockchain establishment, dividing a network into Q domains, specifying one leader node for each domain to participate in blockchain consensus, and the remaining nodes in the domain passively synchronizing a block on which consensus is achieved by the leader node (S101); and on the basis of a Raft consensus protocol of a verifiable random function, while generating a new block in each round, an accounting node of the present round randomly selecting an accounting node of the next round (S102). In the consensus process, the accounting of the next round is not generated by means of competition (such as a classic Pow consensus mechanism), but is randomly generated by an accounting node of the previous round and is publicly verifiable, so that the efficiency and security of consensus are improved. An accounting node of each round dynamically changes and has identity information hidden, so that the accounting node is prevented from being maliciously attacked, and the security and robustness of a blockchain system are ensured.

Description

区块链构建方法、系统、存储介质、计算机设备及应用Blockchain construction method, system, storage medium, computer equipment and application 技术领域technical field
本发明属于区块链应用技术领域,尤其涉及一种区块链构建方法、系统、存储介质、计算机设备及应用。The invention belongs to the technical field of blockchain application, and in particular relates to a blockchain construction method, system, storage medium, computer equipment and application.
背景技术Background technique
目前,区块链是随着比特币等数字加密货币的日益普及而逐渐兴起的一种全新的去中心化基础架构与分布式计算范式,目前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。虽然目前有各种各样的区块链,但是仍不能满足企业业务系统的需求。具体地表现在共识协议作为区块链数据库的核心,现有共识协议主要分为两类:一类是公有环境下的共识协议,如以比特币区块链为代表的POW和以以太坊为代表的POS,它们采用竞争挖抗的机制,实现了不可信公网环境下记账节点的选取。但其共识效率差,难以满足高实时性和高并发量数据处理业务。另一类是私有环境下的共识协议,如PBFT和Raft等,其核心思想是采用轮值或投票选举的机制来实现完全可信环境下记账节点的交替。相比于公网环境下的共识,它们虽然显著地提高了共识效率,但由于每一轮的记账节点会提前公开,其在非完全可信的环境下容易被攻击,导致出块失败。At present, blockchain is a new decentralized infrastructure and distributed computing paradigm that has gradually emerged with the increasing popularity of digital cryptocurrencies such as Bitcoin. of great attention and widespread concern. Although there are various blockchains, they still cannot meet the needs of enterprise business systems. Specifically, the consensus protocol is the core of the blockchain database. The existing consensus protocols are mainly divided into two categories: one is the consensus protocol in the public environment, such as POW represented by the Bitcoin blockchain and Ethereum represented by POS, they use the competitive mining resistance mechanism to realize the selection of accounting nodes in an untrusted public network environment. However, its consensus efficiency is poor, and it is difficult to meet high real-time and high concurrent data processing services. The other type is consensus protocols in private environments, such as PBFT and Raft, whose core idea is to use a rotating or voting mechanism to achieve the alternation of accounting nodes in a fully trusted environment. Compared with the consensus in the public network environment, although they significantly improve the consensus efficiency, because the billing node of each round will be disclosed in advance, it is easy to be attacked in a non-completely trusted environment, resulting in block generation failure.
综上所述,现有区块链共识协议难以兼顾性能和安全,无法满足现实场景高效安全的需求。或在完全可信的节点间提供高效的共识。而在节点相对可信的企业内部网络中,缺乏一种兼顾性能与安全性的共识协议。已有区块链存在上述共识协议计算耗能大,共识效率低,鲁棒性和安全性差。To sum up, the existing blockchain consensus protocols are difficult to take into account performance and security, and cannot meet the needs of efficient and secure real-world scenarios. Or provide efficient consensus among fully trusted nodes. However, in the enterprise internal network where the nodes are relatively credible, there is a lack of a consensus protocol that takes both performance and security into consideration. In existing blockchains, the above-mentioned consensus protocols have high computational energy consumption, low consensus efficiency, and poor robustness and security.
通过上述分析,现有技术存在的问题及缺陷为:目前的区块链存在共识协议计算耗能大,共识效率低,鲁棒性和安全性差。Through the above analysis, the problems and defects of the existing technology are: the current blockchain has a consensus protocol that consumes a lot of energy for calculation, low consensus efficiency, and poor robustness and security.
解决以上问题及缺陷的难度为:通过上述分析可知,现有共识协议主要缺陷在于难于兼顾安全和效率。值得注意的是对比于公有链,私有环境下的共识协议在性能方面相提升了1个数量级,更加接近本发明的目标。但现有的私有链共识的本身安全性弱,对外部环境依赖度太高,也即需要部署在完全安全的环境中,这在现实中是难以完全满足的。为此,本发明需要提高现有私有环境下共识协议的安全性,其关键难度在于如何在确定新一轮记账主节点的同时保护其身份,避免被恶意攻击提前锁定进行破坏。The difficulty of solving the above problems and defects is as follows: From the above analysis, it can be seen that the main defect of the existing consensus protocol is that it is difficult to balance security and efficiency. It is worth noting that compared with the public chain, the performance of the consensus protocol in the private environment is improved by an order of magnitude, which is closer to the goal of the present invention. However, the existing private chain consensus itself has weak security and is too dependent on the external environment, that is, it needs to be deployed in a completely secure environment, which is difficult to fully satisfy in reality. Therefore, the present invention needs to improve the security of the consensus protocol in the existing private environment, and the key difficulty lies in how to protect its identity while determining a new round of bookkeeping master nodes, and avoid being locked in advance by malicious attacks for damage.
解决以上问题及缺陷的意义为:利用可验证随机函数来增强私有环境Raft共识协议的安全性,在保留其高效性特点的同时,也兼顾了安全性考虑。实现了不完全可信环境下分布式数据库系统记账节点的高效安全选取,能很好地为现实区块链业务场景提供支撑。The significance of solving the above problems and defects is: using verifiable random functions to enhance the security of the private environment Raft consensus protocol, while retaining its high efficiency characteristics, it also takes into account security considerations. It realizes the efficient and safe selection of accounting nodes of distributed database system in an incomplete trusted environment, and can well provide support for real blockchain business scenarios.
发明内容SUMMARY OF THE INVENTION
针对现有技术存在的问题,本发明提供了一种区块链构建方法、系统、存储介质、计算机设备及应用。In view of the problems existing in the prior art, the present invention provides a blockchain construction method, system, storage medium, computer equipment and application.
本发明是这样实现的,一种区块链构建方法,所述区块链构建方法包括:The present invention is implemented in this way, a method for constructing a blockchain, the method for constructing a blockchain includes:
区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain. At the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
进一步,所述区块链构建方法区块链的初始配置具体包括以下步骤:Further, the initial configuration of the blockchain construction method specifically includes the following steps:
步骤一,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个参与共识的leader节点,参与区块链系统的共识;Step 1: At the beginning of the establishment of the blockchain, the CA first divides the network into Q domains, and assigns a leader node to participate in the consensus for each domain to participate in the consensus of the blockchain system;
步骤二,生成创世区块,即Block 0 Step 2, generate a genesis block, namely Block 0 ;
步骤三,当有节点加入区块链网络时,首先在CA处注册身份信息并获取颁 发的公钥证书,作为其参与区块链网络的准入凭证;同时还需为加入节点指定所属的域;Step 3: When a node joins the blockchain network, firstly register the identity information at the CA and obtain the issued public key certificate as the admission certificate for its participation in the blockchain network; at the same time, it is necessary to specify the domain to which the joining node belongs. ;
步骤四,当有节点退出时,CA同样需要吊销其公钥证书。Step 4: When a node exits, the CA also needs to revoke its public key certificate.
进一步,所述步骤一中CA首先将网络划分为Q个域,并为每个域指定一个leader节点其编号从1到Q,按如下步骤进行:Further, in the step 1, the CA first divides the network into Q domains, and assigns a leader node for each domain whose number is from 1 to Q, as follows:
(1)CA将网络中各个节点分别归属到不同的域;(1) CA assigns each node in the network to different domains;
(2)各个域选择一个主节点用于区块链网络中与其他主节点进行通信。(2) Each domain selects a master node to communicate with other master nodes in the blockchain network.
进一步,所述步骤二中生成创世区块具体包括:Further, the generation of the creation block in the step 2 specifically includes:
(1)前一区块链的哈希R_Hash,在Block 0中该字段初始为空; (1) The hash R_Hash of the previous blockchain, this field is initially empty in Block 0 ;
(2)当前区块的编号Num,在Block 0中该字段初始为编号0; (2) The number Num of the current block, in Block 0 , the field is initially number 0;
(3)Block 0中Tamp字段初始化,把当前时间戳s填入Tamp字段; (3) Initialize the Tamp field in Block 0 , and fill the current timestamp s into the Tamp field;
(4)本轮记账节点的公钥证书Cu_Cert,在Block 0中该字段为CA的公钥证书; (4) The public key certificate Cu_Cert of the accounting node in this round, in Block 0 , this field is the public key certificate of the CA;
(5)本轮记账节点的信息Pr_P,在Block 0中该字段初始化为空; (5) The information Pr_P of the accounting node in this round, this field is initialized to be empty in Block 0 ;
(6)将CA的公钥证书Cert 0以及参与区块链共识的初始Q个节点证书Cert_1…Cert_Q:存储到区块体; (6) Store the CA's public key certificate Cert 0 and the initial Q node certificates Cert_1...Cert_Q participating in the blockchain consensus into the block body;
(7)计算哈希根P_Hash,将Block 0区块体的哈希根P_Hash填充为当前计算的哈希值; (7) Calculate the hash root P_Hash, and fill the hash root P_Hash of the Block 0 block body with the hash value of the current calculation;
(8)下一轮记账节点的秘密信息Nx_P*,在Block 0中该字段填由CA生成的默认值即下一个打包节点的信息; (8) The secret information Nx_P* of the accounting node in the next round, in Block 0 , this field is filled with the default value generated by the CA, that is, the information of the next packing node;
(9)本轮记账节点对整个区块信息的签名Sig,在Block 0中该字段为CA的对整个区块信息的签名; (9) The signature Sig of this round of bookkeeping nodes to the entire block information, in Block 0 , this field is the CA's signature to the entire block information;
(10)生成初始区块Block 0(10) Generate an initial block Block 0 .
进一步,所述基于可验证随机函数的Raft高效安全共识协议包括以下步骤:Further, the Raft efficient and secure consensus protocol based on a verifiable random function includes the following steps:
步骤一,节点解密区块的Nx_P*字段,获取证明本轮打包节点的信息,判断自己是否是打包节点; Step 1, the node decrypts the Nx_P* field of the block, obtains the information proving the packaging node of this round, and determines whether it is a packaging node;
步骤二,随机选取下一轮的记账节点j,节点i生成的区块是Block n Step 2, randomly select the next round of billing node j, and the block generated by node i is Block n ;
步骤三,开始生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链; Step 3, start to generate block Block n , node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than one-third of the number of consensus nodes in the entire blockchain network The second is to write the block into the local blockchain;
步骤四,其他节点对区块Block n进行验证,验证通过之后每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点。 In step 4, other nodes verify the block Block n . After the verification is passed, each master node redistributes the verified block Block n to each non-participating consensus node in its management domain.
进一步,所述步骤二中随机选取下一轮的记账节点j包括以下步骤:Further, randomly selecting the billing node j of the next round in the second step includes the following steps:
(1)执行秘钥生成函数Key_Gen:(Sk,Pk)=Key_Gen(r).对任意的随机输入、产生VRF私钥Sk、和私钥Sk对应的公钥Pk;(1) Execute the key generation function Key_Gen: (Sk, Pk)=Key_Gen(r). For any random input, generate the VRF private key Sk and the public key Pk corresponding to the private key Sk;
(2)VRF计算函数VRF_Hash:Y=VRF_Hash(Sk,M),对输入消息M,VRF证明者使用其私钥Sk计算VRF哈希作为输出的随机数Y;(2) VRF calculation function VRF_Hash: Y=VRF_Hash(Sk, M), for the input message M, the VRF prover uses its private key Sk to calculate the VRF hash as the output random number Y;
(3)VRF证明函数VRF_Proof:P=VRF_Proof(Sk,M).对输入消息M,以及私钥Sk,证明者计算VRF证明P;(3) VRF proof function VRF_Proof: P=VRF_Proof(Sk, M). For the input message M and the private key Sk, the prover calculates the VRF proof P;
(4)对随机数Y进行哈希映射计算出下一个打包节点j;(4) Hash mapping the random number Y to calculate the next packing node j;
所述步骤三中生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链,包括以下步骤: In the third step, the block Block n is generated, and the node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, and only receives more than one-third of the number of consensus nodes in the entire blockchain network. The second is to write the block to the local blockchain, including the following steps:
(1)获取Block n-1中Nx_P*字段中的Y n-1和P n-1,M n-1,Pk n-1填入Block n的Pr_P字段; (1) Obtain Y n-1 and P n-1 , Mn -1 , Pk n- 1 in the Nx_P* field in Block n- 1 and fill in the Pr_P field of Block n ;
(2)将自己的公钥证书Cert_i填入Block n区块头中的Cu_Cert字段中; (2) Fill in the Cu_Cert field in the Block n block header with own public key certificate Cert_i;
(3)将计算的Y,P,M,Pk用下一个打包节点的公钥加密之后填入Block n区块头中的Nx_P*字段中; (3) Encrypt the calculated Y, P, M, and Pk with the public key of the next packing node and fill in the Nx_P* field in the Block n block header;
(4)将交易信息写入区块体,计算当前哈希值P_Hash,并且填入区块Block n中的P_Hash字段; (4) Write the transaction information into the block body, calculate the current hash value P_Hash, and fill in the P_Hash field in the block Block n ;
(5)计算签名消息Sig=Sign(SK i,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P *)),其中Sign(.)表示签名算法,填入区块Block n中的 sig字段。P_Hash是对当前区块的哈希值,R_Hash是前一个区块的哈希值,Tamp指当前的时间戳,Num指当前的区块高度; (5) Calculate the signature message Sig=Sign(SK i ,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P * )), where Sign(.) represents the signature algorithm, fill in the area sig field in block Block n . P_Hash is the hash value of the current block, R_Hash is the hash value of the previous block, Tamp refers to the current timestamp, and Num refers to the current block height;
(6)生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链; (6) Generate block Block n , node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than two-thirds of the number of consensus nodes in the entire blockchain network Only write the block to the local blockchain;
所述步骤四其他节点对区块Block n进行验证,每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点,包括以下步骤: In the fourth step, other nodes verify the block Block n , and each master node redistributes the verified block Block n to each non-consensus node in its management domain, including the following steps:
(1)收到Block n的节点,首先验证前后的哈希链式关系,然后验证区块头中的签名字段Sig是否成立; (1) The node receiving Block n first verifies the hash chain relationship before and after, and then verifies whether the signature field Sig in the block header is established;
(2)验证通之后,节点提取收到的区块Block n中的Pr_P字段中的数值Y,P,M,Pk; (2) After the verification is passed, the node extracts the values Y, P, M, Pk in the Pr_P field in the received block Block n ;
(3)节点运行VRF验证函数VRF_Verify:True/False=VRF_Verify(Pk,M,Y,P),验证者输入VRF证明者的公钥Pk,消息M,以及VRF输出的随机值Y和证明P进行验证。输出为False/True。如果证明P是根据M产生的、且由P可以推导出Y,则验证通过输出为True,否则验证失败、输出为False,并且验证Y能否映射到当前打包节点,如果能映射到,验证通过,否则验证通不过;(3) The node runs the VRF verification function VRF_Verify: True/False=VRF_Verify(Pk,M,Y,P), the verifier inputs the VRF prover's public key Pk, the message M, and the VRF output random value Y and the proof P are performed verify. The output is False/True. If it is proved that P is generated according to M and Y can be deduced by P, then the verification passes and the output is True; otherwise, the verification fails and the output is False, and it is verified whether Y can be mapped to the current packaging node. If it can be mapped to, the verification is passed. , otherwise the verification fails;
(4)验证通过之后,主节点将区块写入本地区块链中,并且每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点,向当前打包节点反馈一个接受信息; (4) After the verification is passed, the master node writes the block into the local blockchain, and each master node redistributes the verified block Block n to each non-participating consensus node in its management domain. The current packaging node feeds back an acceptance message;
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:Another object of the present invention is to provide a computer device, the computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the following step:
区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain. At the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮 的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of this round randomly selects the billing node of the next round.
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:Another object of the present invention is to provide a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, causes the processor to perform the following steps:
区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain. At the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
本发明的另一目的在于提供一种实施所述区块链构建方法的区块链构建系统,所述区块链构建系统包括:Another object of the present invention is to provide a blockchain construction system for implementing the blockchain construction method, the blockchain construction system comprising:
区块链初始配置模块,用于在区块链建立之初,网络被划分为Q个域,每个域指定一个leader节点参与区块链共识,域内其余节点被动同步Leader节点共识后的区块;The initial configuration module of the blockchain is used to divide the network into Q domains at the beginning of the establishment of the blockchain. Each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the blocks after the leader node consensus. ;
Raft共识协议构建模块,用于基于可验证随机函数的Raft共识协议:在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。The Raft consensus protocol building block is used for the Raft consensus protocol based on a verifiable random function: when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
本发明的另一目的在于提供一种区块链系统,所述区块链系统搭载所述的区块链构建系统。Another object of the present invention is to provide a blockchain system equipped with the blockchain construction system.
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点,参与区块链共识。当有节点加入区块链网络时,首先在CA处注册身份信息。当有节点退出时,CA同样需要吊销其身份信息。在共识过程中,通过利用可验证随机函数,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。实现了不完全可信环境下区块链记账节点的高效安全选取。Combining all the above technical solutions, the advantages and positive effects of the present invention are: at the beginning of the establishment of the blockchain, the CA first divides the network into Q domains, and assigns a leader node for each domain to participate in the area. Blockchain consensus. When a node joins the blockchain network, the identity information is first registered at the CA. When a node exits, the CA also needs to revoke its identity information. In the consensus process, by using a verifiable random function, while generating a new block in each round, the billing node of the round randomly selects the billing node of the next round. It realizes the efficient and safe selection of blockchain accounting nodes in an incompletely trusted environment.
本发明的共识方法:The consensus method of the present invention:
(1)所提共识协议,在记账节点随机确定过程中,利用公钥加密选取的下一轮共识节点身份信息,保证了下一轮共识节点身份的保密性避免了被提前破 坏,提高了共识协议的安全性和鲁棒性。避免了基于顺序轮值机制(如PBFT)以及投票选举机制(如Raft)共识协议存在的记账节点身份确定公开,易受攻击的问题。(1) The proposed consensus protocol, in the process of random determination of accounting nodes, uses public key encryption to select the identity information of the next round of consensus nodes, which ensures that the confidentiality of the identity of the next round of consensus nodes is avoided from being destroyed in advance, and improves the Security and robustness of consensus protocols. It avoids the problem that the identity of the accounting node based on the sequential rotation mechanism (such as PBFT) and the voting mechanism (such as Raft) consensus protocol is open and vulnerable.
(2)所提共识方法,在记账节点选取过程中利用了可验证随机函数随机确定,保证了下一轮的记账不是通过竞争产生的而是由上一轮记账节点随机产生且公开可验证的,从而避免了基于竞争记账机制的共识协议中(如经典的PoW,PoS共识机制)存在的耗能高,共识效率底的问题。(2) The proposed consensus method uses a verifiable random function to randomly determine the billing node selection process, which ensures that the next round of billing is not generated by competition, but randomly generated and disclosed by the previous round of billing nodes. Verifiable, thus avoiding the problems of high energy consumption and low consensus efficiency in consensus protocols based on competitive accounting mechanisms (such as classic PoW, PoS consensus mechanisms).
本发明将可验证随机函数用到区块链中,实现在不完全可信节点间能以最小的性能开销解决了传统区块链Raft共识所带来的安全问题和效率问题。本发明通过利用可验证随机函数改进了传统的Raft共识协议,实现了不完全可信环境下区块链系统中记账节点高效安全的选取,满足了海量用户高并发业务对区块链系统数据高效安全同步的需求。The present invention applies the verifiable random function to the blockchain, and realizes that the security and efficiency problems brought by the Raft consensus of the traditional blockchain can be solved with the minimum performance overhead between incompletely trusted nodes. The invention improves the traditional Raft consensus protocol by using a verifiable random function, realizes the efficient and safe selection of billing nodes in the blockchain system in an incompletely trusted environment, and satisfies the need for massive users and high concurrent services to the blockchain system data. Efficient and secure synchronization requirements.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings that need to be used in the embodiments of the present application. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative effort.
图1是本发明实施例提供的区块链构建方法流程图。FIG. 1 is a flowchart of a blockchain construction method provided by an embodiment of the present invention.
图2是本发明实施例提供的区块链构建系统的结构示意图;2 is a schematic structural diagram of a blockchain construction system provided by an embodiment of the present invention;
图2中:1、区块链初始配置模块;2、Raft共识协议构建模块。In Figure 2: 1. The initial configuration module of the blockchain; 2. The building module of the Raft consensus protocol.
图3是本发明实施例提供的实施的整体架构图。FIG. 3 is an overall architecture diagram of an implementation provided by an embodiment of the present invention.
图4是本发明实施例提供的实施的基于可验证随机函数的Raft共识协议图。FIG. 4 is a diagram of a Raft consensus protocol based on a verifiable random function implemented by an embodiment of the present invention.
图5是本发明实施例提供的实施的创始区块结构图。FIG. 5 is a structural diagram of a founding block of an implementation provided by an embodiment of the present invention.
图6是本发明实施例提供的实施的区块链数据结构图。FIG. 6 is a block chain data structure diagram of an implementation provided by an embodiment of the present invention.
图7是本发明实施例提供的区块链初始化的子流程图。FIG. 7 is a sub-flow chart of blockchain initialization provided by an embodiment of the present invention.
图8是本发明实施例提供的构建基于可验证随机函数的Raft高效安全共识协议的子流程图。FIG. 8 is a sub-flow chart of constructing a Raft efficient and secure consensus protocol based on a verifiable random function provided by an embodiment of the present invention.
图9是本发明实施例提供的并发量和时间关系示意图。FIG. 9 is a schematic diagram of the relationship between concurrency and time provided by an embodiment of the present invention.
图10是本发明实施例提供的节点数和时间关系示意图。FIG. 10 is a schematic diagram of the relationship between the number of nodes and time according to an embodiment of the present invention.
具体实施方式detailed description
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention.
针对现有技术存在的问题,本发明提供了一种区块链构建方法、系统、存储介质、计算机设备及应用,下面结合附图对本发明作详细的描述。In view of the problems existing in the prior art, the present invention provides a method, system, storage medium, computer equipment and application for building a blockchain. The present invention is described in detail below with reference to the accompanying drawings.
如图1所示,本发明提供的区块链构建方法包括以下步骤:As shown in Figure 1, the blockchain construction method provided by the present invention includes the following steps:
本发明实施例的一种基于可验证随机函数和Raft的高效安全区块链构建方法包括以下步骤:An efficient and secure blockchain construction method based on a verifiable random function and Raft according to an embodiment of the present invention includes the following steps:
S101:在区块链建立之初,网络被划分为Q个域,每个域指定一个leader节点参与区块链共识,域内其余节点被动同步Leader节点共识后的区块;S101: At the beginning of the establishment of the blockchain, the network is divided into Q domains, each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the blocks after the leader node consensus;
S102:基于可验证随机函数的Raft共识协议:在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。S102: Raft consensus protocol based on a verifiable random function: while generating a new block in each round, the billing node of the round randomly selects the billing node of the next round.
本发明提供的区块链构建方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的区块链构建方法仅仅是一个具体实施例而已。Those skilled in the art of the blockchain construction method provided by the present invention may also implement other steps. The blockchain construction method provided by the present invention in FIG. 1 is only a specific example.
如图2所示,本发明提供的区块链构建系统包括:As shown in Figure 2, the blockchain construction system provided by the present invention includes:
区块链初始配置模块1,用于在区块链建立之初,网络被划分为Q个域,每个域指定一个leader节点参与区块链共识,域内其余节点被动同步Leader节点共识后的区块。Blockchain initial configuration module 1 is used to divide the network into Q domains at the beginning of the establishment of the blockchain, each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the area after the leader node consensus piece.
Raft共识协议构建模块2,用于基于可验证随机函数的Raft共识协议:在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Raft consensus protocol building module 2 is used for Raft consensus protocol based on verifiable random function: while generating a new block in each round, the billing node of this round randomly selects the billing node of the next round.
下面结合附图对本发明的技术方案作进一步的描述。The technical solutions of the present invention will be further described below with reference to the accompanying drawings.
如图7所示,本发明区块链初始配置的步骤如下:As shown in Figure 7, the steps of the initial configuration of the blockchain of the present invention are as follows:
步骤一,CA将网络划分为Q个域; Step 1, CA divides the network into Q domains;
CA将网络中各个节点分别归属到不同的域,分别标号为1到Q,各个域选择一个主节点用于区块链网络中与其他主节点进行通信以便达成共识,各个主节点的标号也为1到Q,并且每个主节点在CA处进行身份注册;CA assigns each node in the network to different domains, respectively labeled 1 to Q. Each domain selects a master node for communicating with other master nodes in the blockchain network to reach a consensus. The labels of each master node are also 1 to Q, and each master node registers its identity at the CA;
步骤二,生成创世区块(也即Block 0); Step 2, generate a genesis block (ie Block 0 );
创始区块结构如图6所示:R_Hash表示前一区块的哈希,在Block 0中该字段初始为空。Num表示当前区块的编号,在Block 0中该字段初始为编号0。Tamp字段表示时间戳,在Block 0中Tamp字段初始为当前时间戳。Cu_Cert表示本轮记账节点的公钥证书,在Block 0中该字段为CA的公钥证书。Pr_P字段表示本轮记账节点的信息,在Block 0中该字段初始化为空;P_Hash表示本区块体的哈希根,在Block 0中填充为当前计算的哈希值;Nx_P*表示下一轮记账节点的信息,在Block 0中该字段填由CA生成的默认值即下一个打包节点的信息;Sig表示本轮记账节点对整个区块信息的签名,在Block 0中该字段为CA的对整个区块信息的签名。将CA的公钥证书Cert 0以及参与区块链共识的初始Q个节点证书Cert_1…Cert_Q:存储到区块体; The structure of the founding block is shown in Figure 6: R_Hash represents the hash of the previous block, and this field is initially empty in Block 0 . Num represents the number of the current block. In Block 0 , this field is initially numbered 0. The Tamp field represents a timestamp, and in Block 0 , the Tamp field is initially the current timestamp. Cu_Cert represents the public key certificate of the accounting node in this round. In Block 0 , this field is the public key certificate of the CA. The Pr_P field represents the information of the current round of billing nodes, which is initialized to be empty in Block 0 ; P_Hash represents the hash root of the block body, which is filled with the currently calculated hash value in Block 0 ; Nx_P* represents the next The information of the round accounting node. In Block 0 , this field is filled with the default value generated by the CA, that is, the information of the next packaging node; Sig represents the signature of the entire block information by the accounting node in this round. In Block 0 , this field is The CA's signature for the entire block information. Store the CA's public key certificate Cert 0 and the initial Q node certificates Cert_1...Cert_Q participating in the blockchain consensus into the block body;
步骤三,当有新节点加入区块链网络时,在CA处注册身份信息; Step 3, when a new node joins the blockchain network, register the identity information at the CA;
步骤四,当有节点退出时,CA同样需要吊销其身份信息;Step 4: When a node exits, the CA also needs to revoke its identity information;
如图6所示,本发明构建基于可验证随机函数的Raft高效安全共识协议步骤如下:As shown in Figure 6, the present invention constructs a Raft efficient and secure consensus protocol based on a verifiable random function as follows:
步骤一,节点解密区块的Nx_P*字段,获取证明本轮打包节点的信息; Step 1, the node decrypts the Nx_P* field of the block, and obtains the information that proves the packaging node of this round;
步骤二,判断自己是否是打包节点,如果是,执行步骤三; Step 2, determine whether you are a packaged node, if so, go to Step 3;
步骤三,并随机选取下一轮的记账节点j,假如节点i生成的区块是Block n Step 3, and randomly select the accounting node j of the next round, if the block generated by node i is Block n ;
3a)在第n轮共识中记账节点i,将用可验证随机函数中的以下三个函数:3a) Billing node i in the nth round of consensus will use the following three functions in the verifiable random function:
(1)秘钥生成函数Key_Gen:(Sk,Pk)=Key_Gen(r).对任意的随机输入、 产生VRF私钥Sk、和私钥Sk对应的公钥Pk。在基于RSA公钥密钥算法的VRF中、生成一对RSA公私钥对;在基于椭圆曲线密码学的VRF中生成一对椭圆曲线公私钥对。(1) Key generation function Key_Gen: (Sk, Pk)=Key_Gen(r). For any random input, the VRF private key Sk and the public key Pk corresponding to the private key Sk are generated. In the VRF based on the RSA public key algorithm, a pair of RSA public and private key pairs are generated; in the VRF based on elliptic curve cryptography, a pair of elliptic curve public and private key pairs are generated.
(2)VRF计算函数VRF_Hash:Y=VRF_Hash(Sk,M).对输入消息M,VRF证明者使用其私钥Sk计算VRF哈希作为输出的随机数Y。由于理想的哈希函数值域是离散的,给定不同的输入、哈希函数的输出随机分布在值域区间内,VRF计算过程中使用哈希方法,计算出来的值是随机的。(2) VRF calculation function VRF_Hash: Y=VRF_Hash(Sk, M). For the input message M, the VRF prover uses its private key Sk to calculate the VRF hash as the output random number Y. Since the ideal hash function value range is discrete, given different inputs, the output of the hash function is randomly distributed in the range of the value range. The hash method is used in the VRF calculation process, and the calculated value is random.
(3)VRF证明函数VRF_Proof:P=VRF_Proof(Sk,M).对输入消息M,以及私钥Sk,证明者计算VRF证明P,并将输入数据M、VRF输出Y,VRF证明者公钥Pk,VRF证明P发送给验证者。(3) VRF proof function VRF_Proof: P=VRF_Proof(Sk, M). For the input message M and the private key Sk, the prover calculates the VRF proof P, and outputs the input data M and VRF Y, and the public key Pk of the VRF prover , the VRF proof P is sent to the verifier.
来产生公私钥和随机数。这里将网络中共用的一个数据(采用区块链当前的高度n-1)以及自己的私钥Sk i作为输入,计算出VRF的输出随机数Y n=VRF_Hash(Sk i,n-1)和VRF的证明P n=VRF_Proof(Sk i,n-1); to generate public and private keys and random numbers. Here, a data shared in the network (using the current height n-1 of the blockchain) and its own private key Sk i are used as input to calculate the output random number Y n =VRF_Hash(Sk i , n-1) and Proof of VRF P n =VRF_Proof(Sk i , n-1);
3b)计算n+1轮共识的记账节点编号t=Y n%Q,并将生成随机数Y n,证明P n以及下一轮记账节点编号t分别被采用节点t的公钥PK t加密得到Y n *=Enc(Y n,PK t),P n *=Enc(P n,PK t),t *=Enc(t,PK t)。其中Enc(.)表示公钥加密算法,Q为共识节点的数量; 3b) Calculate the accounting node number t=Y n %Q for n+1 rounds of consensus, and generate a random number Y n to prove that P n and the next round of accounting node number t are respectively the public key PK t of node t Encryption yields Yn * =Enc( Yn , PKt ), Pn * =Enc( Pn ,PKt), t * =Enc( t ,PKt). where Enc(.) represents the public key encryption algorithm, and Q is the number of consensus nodes;
步骤四,本轮记账的共识节点i收集当前一段时间内各共识节点产生的交易信息,开始生成区块Block n Step 4, the consensus node i of the current round of bookkeeping collects the transaction information generated by each consensus node in the current period of time, and starts to generate the block Block n ;
节点i首先获取区块Block n-1区块头中的Nx_P*字段中的Y n-1和P n-1,t,P k,然后将Y n-1和P n-1,t,P k填入Block n的Pr_P字段。然后将自己的公钥证书Cert_i填入Block n区块头中的字段Cu_Cert中,B将计算的Y n *,P n *,t *,P k填入Block n区块头中的Nx_P*字段。然后利用默克尔树计算P_Hash的值。最后计算签名消息Sig=Sign(SK i,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P *)),其中Sign(.)表示签名算法; Node i first obtains Y n-1 and P n-1 , t, P k in the Nx_P* field in the block header of Block n-1 , and then converts Y n-1 and P n-1 , t, P k Fill in the Pr_P field of Block n . Then it fills its own public key certificate Cert_i into the field Cu_Cert in the block header of Block n , and B fills the calculated Y n * , P n * , t * , and P k into the Nx_P* field in the block n block header. Then use the Merkle tree to calculate the value of P_Hash. Finally calculate the signature message Sig=Sign(SK i , H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P * )), wherein Sign(.) represents the signature algorithm;
步骤五,节点i将生成的新区块Block n广播至其余的Q-1个节点,然后他等 待其他节点的反馈,统计收到的接受节点的数量,只有收到超过整个区块链网络中共识节点的数量的三分之二才把区块写入本地区块链; Step 5: Node i broadcasts the generated new block Block n to the remaining Q-1 nodes, and then waits for feedback from other nodes, counts the number of received nodes, and only receives more than the consensus in the entire blockchain network. Only two-thirds of the number of nodes write blocks into the local blockchain;
步骤六,收到Block n的其他节点,验证前后的哈希链式关系,然后验证区块头中的签名字段Sig是否成立,保证区块的完整性; Step 6: Receive other nodes of Block n , verify the hash chain relationship before and after, and then verify whether the signature field Sig in the block header is valid to ensure the integrity of the block;
步骤七,获取Block n区块头中的Pr_P字段中的Y n-1和P n-1,t,P k,进行身份信息的真实性验证; Step 7: Obtain Y n-1 and P n-1 , t, P k in the Pr_P field in the block header of Block n , and verify the authenticity of the identity information;
计算t是否等于Y n-1%Q,如果成立,则运行可验证随机函数中的验证函数VRF_Verify:True/False=VRF_Verify(P k,n-1,Y n-1,P n-1),验证者输入VRF证明者的公钥P k,消息n-1,以及VRF输出的随机值Y n-1和证明P n-1进行验证。输出为False/True。如果证明P n-1是根据n-1产生的、且由P n-1可以推导出Y n-1,则验证通过输出为True,否则验证失败、输出为False; Calculate whether t is equal to Y n-1 %Q, and if so, run the verification function VRF_Verify in the verifiable random function: True/False=VRF_Verify(P k , n-1, Y n-1 , P n-1 ), The verifier inputs the public key P k of the VRF prover, the message n-1, and the random value Y n-1 and the proof P n-1 output by the VRF for verification. The output is False/True. If it is proved that P n-1 is generated according to n-1 and Y n- 1 can be deduced from P n- 1, the output is True if the verification passes, otherwise the verification fails and the output is False;
步骤八,如果验证全部通过,节点向当前打包节点发送一个接受信息true,否则发送不接受信息false同时把区块Block n写入本地区块链。 Step 8: If all the verifications pass, the node sends an acceptance message true to the current packaging node, otherwise it sends a non-acceptance message false and writes the block Block n to the local blockchain.
本发明提出了一种基于可验证随机函数和Raft的高效安全区块链构建方法,通过结合可验证随机函数和Raft共识协议,构建了不完全可信环境下区块链系统记账节点的高效安全选取机制,解决传统区块链共识协议存在的安全和效率难以兼顾的问题。The invention proposes an efficient and secure blockchain construction method based on verifiable random function and Raft. By combining the verifiable random function and Raft consensus protocol, an efficient and secure blockchain system accounting node is constructed in an incompletely trusted environment. The security selection mechanism solves the problem that the security and efficiency of the traditional blockchain consensus protocol are difficult to balance.
证明部分(具体实施例/实验/仿真/能够证明本发明创造性的正面实验数据等)Proof part (specific examples/experiments/simulations/positive experimental data that can prove the inventiveness of the present invention, etc.)
表1 不同共识机制比较Table 1 Comparison of different consensus mechanisms
Figure PCTCN2020107592-appb-000001
Figure PCTCN2020107592-appb-000001
Figure PCTCN2020107592-appb-000002
Figure PCTCN2020107592-appb-000002
本发明对共识协议与传统经典共识进行了对比如表1所示。本发明的共识协议实现了不完全可信环境下区块链系统记账节点的高效安全选取机制,解决传统区块链共识协议存在的安全和效率难以兼顾的问题。The present invention compares the consensus protocol with the traditional classical consensus as shown in Table 1. The consensus protocol of the present invention realizes an efficient and safe selection mechanism for the accounting nodes of the blockchain system in an incompletely trusted environment, and solves the problem that the security and efficiency of the traditional blockchain consensus protocol are difficult to balance.
在并发量影响性能的实验方面,我们在服务器上部署了三个虚拟机(8核8G)进行了插入20000条数据的测试,测试了并发量和时间的关系,基本上写入性能受并发量的影响可以忽略不计,如图9所示。In the experiment that concurrency affects performance, we deployed three virtual machines (8 cores and 8G) on the server to test the insertion of 20,000 pieces of data, and tested the relationship between concurrency and time. Basically, write performance is affected by concurrency. The effect is negligible, as shown in Figure 9.
在节点数影响性能的实验方面,我们在服务器上分别部署了三个虚拟机(8核8G),六个虚拟机(8核8G),九个虚拟机(8核8G),十二个虚拟机(8核8G),十五个虚拟机(8核8G)分别进行了插入20000条数据的测试,测试了节点数和时间的关系,基本上写入性能受节点数的影响可以忽略不计,如图10所示。In the experiment that the number of nodes affects performance, we deployed three virtual machines (8 cores 8G), six virtual machines (8 cores 8G), nine virtual machines (8 cores 8G), and twelve virtual machines on the server. The test of inserting 20,000 pieces of data was carried out on fifteen virtual machines (8 cores and 8G) and fifteen virtual machines (8 cores and 8G) respectively, and the relationship between the number of nodes and time was tested. As shown in Figure 10.
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不 能理解为指示或暗示相对重要性。In the description of the present invention, unless otherwise stated, "plurality" means two or more; the terms "upper", "lower", "left", "right", "inner", "outer" The orientation or positional relationship indicated by , "front end", "rear end", "head", "tail", etc. are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, not An indication or implication that the referred device or element must have a particular orientation, be constructed and operate in a particular orientation, is not to be construed as a limitation of the invention. Furthermore, the terms "first," "second," "third," etc. are used for descriptive purposes only and should not be construed to indicate or imply relative importance.
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。It should be noted that the embodiments of the present invention may be implemented by hardware, software, or a combination of software and hardware. The hardware portion may be implemented using special purpose logic; the software portion may be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those of ordinary skill in the art will appreciate that the apparatus and methods described above may be implemented using computer-executable instructions and/or embodied in processor control code, for example on a carrier medium such as a disk, CD or DVD-ROM, such as a read-only memory Such code is provided on a programmable memory (firmware) or a data carrier such as an optical or electronic signal carrier. The device of the present invention and its modules can be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., It can also be implemented by software executed by various types of processors, or by a combination of the above-mentioned hardware circuits and software, such as firmware.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。The above are only specific embodiments of the present invention, but the protection scope of the present invention is not limited to this. Any person skilled in the art is within the technical scope disclosed by the present invention, and all within the spirit and principle of the present invention Any modifications, equivalent replacements and improvements made within the scope of the present invention should be included within the protection scope of the present invention.

Claims (10)

  1. 一种区块链构建方法,其特征在于,所述区块链构建方法包括:A blockchain construction method, characterized in that the blockchain construction method comprises:
    区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain. At the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
    基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
  2. 如权利要求1所述的区块链构建方法,其特征在于,所述区块链构建方法区块链的初始配置具体包括以下步骤:The blockchain construction method according to claim 1, wherein the initial configuration of the blockchain construction method specifically comprises the following steps:
    步骤一,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个参与共识的leader节点,参与区块链系统的共识;Step 1: At the beginning of the establishment of the blockchain, the CA first divides the network into Q domains, and assigns a leader node to participate in the consensus for each domain to participate in the consensus of the blockchain system;
    步骤二,生成创世区块,即Block 0Step 2, generate a genesis block, namely Block 0 ;
    步骤三,当有节点加入区块链网络时,首先在CA处注册身份信息并获取颁发的公钥证书,作为其参与区块链网络的准入凭证;同时还需为加入节点指定所属的域;Step 3: When a node joins the blockchain network, firstly register the identity information at the CA and obtain the issued public key certificate as the admission certificate for its participation in the blockchain network; at the same time, it is necessary to specify the domain to which the joining node belongs. ;
    步骤四,当有节点退出时,CA同样需要吊销其公钥证书。Step 4: When a node exits, the CA also needs to revoke its public key certificate.
  3. 如权利要求2所述的区块链构建方法,其特征在于,所述步骤一中CA首先将网络划分为Q个域,并为每个域指定一个leader节点其编号从1到Q,按如下步骤进行:The blockchain construction method according to claim 2, wherein in step 1, the CA first divides the network into Q domains, and assigns a leader node for each domain whose number is from 1 to Q, as follows Steps to proceed:
    (1)CA将网络中各个节点分别归属到不同的域;(1) CA assigns each node in the network to different domains;
    (2)各个域选择一个主节点用于区块链网络中与其他主节点进行通信。(2) Each domain selects a master node to communicate with other master nodes in the blockchain network.
  4. 如权利要求2所述的区块链构建方法,其特征在于,所述步骤二中生成创世区块具体包括:The method for constructing a blockchain according to claim 2, wherein generating the genesis block in the step 2 specifically includes:
    (1)前一区块链的哈希R_Hash,在Block 0中该字段初始为空; (1) The hash R_Hash of the previous blockchain, this field is initially empty in Block 0 ;
    (2)当前区块的编号Num,在Block 0中该字段初始为编号0; (2) The number Num of the current block, in Block 0 , the field is initially number 0;
    (3)Block 0中Tamp字段初始化,把当前时间戳s填入Tamp字段; (3) Initialize the Tamp field in Block 0 , and fill the current timestamp s into the Tamp field;
    (4)本轮记账节点的公钥证书Cu_Cert,在Block 0中该字段为CA的公钥证 书; (4) The public key certificate Cu_Cert of the accounting node in this round, in Block 0 , this field is the public key certificate of the CA;
    (5)本轮记账节点的信息Pr_P,在Block 0中该字段初始化为空; (5) The information Pr_P of the accounting node in this round, this field is initialized to be empty in Block 0 ;
    (6)将CA的公钥证书Cert 0以及参与区块链共识的初始Q个节点证书Cert_1…Cert_Q:存储到区块体; (6) Store the CA's public key certificate Cert 0 and the initial Q node certificates Cert_1...Cert_Q participating in the blockchain consensus into the block body;
    (7)计算哈希根P_Hash,将Block 0区块体的哈希根P_Hash填充为当前计算的哈希值; (7) Calculate the hash root P_Hash, and fill the hash root P_Hash of the Block 0 block body with the hash value of the current calculation;
    (8)下一轮记账节点的秘密信息Nx_P*,在Block 0中该字段填由CA生成的默认值即下一个打包节点的信息; (8) The secret information Nx_P* of the accounting node in the next round, in Block 0 , this field is filled with the default value generated by the CA, that is, the information of the next packing node;
    (9)本轮记账节点对整个区块信息的签名Sig,在Block 0中该字段为CA的对整个区块信息的签名; (9) The signature Sig of this round of bookkeeping nodes to the entire block information, in Block 0 , this field is the CA's signature to the entire block information;
    (10)生成初始区块Block 0(10) Generate an initial block Block 0 .
  5. 如权利要求1所述的区块链构建方法,其特征在于,所述基于可验证随机函数的Raft高效安全共识协议包括以下步骤:The blockchain construction method according to claim 1, wherein the Raft efficient and secure consensus protocol based on a verifiable random function comprises the following steps:
    步骤一,节点解密区块的Nx_P*字段,获取证明本轮打包节点的信息,判断自己是否是打包节点;Step 1, the node decrypts the Nx_P* field of the block, obtains the information proving the packaging node of this round, and determines whether it is a packaging node;
    步骤二,随机选取下一轮的记账节点j,节点i生成的区块是Block nStep 2, randomly select the next round of billing node j, and the block generated by node i is Block n ;
    步骤三,开始生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链; Step 3, start to generate block Block n , node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than one-third of the number of consensus nodes in the entire blockchain network The second is to write the block into the local blockchain;
    步骤四,其他节点对区块Block n进行验证,验证通过之后每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点。 In step 4, other nodes verify the block Block n . After the verification is passed, each master node redistributes the verified block Block n to each non-participating consensus node in its management domain.
  6. 如权利要求5所述的区块链构建方法,其特征在于,所述步骤二中随机选取下一轮的记账节点j包括以下步骤:The blockchain construction method according to claim 5, wherein in the step 2, randomly selecting the accounting node j of the next round comprises the following steps:
    (1)执行秘钥生成函数Key_Gen:(Sk,Pk)=Key_Gen(r).对任意的随机输入、产生VRF私钥Sk、和私钥Sk对应的公钥Pk;(1) Execute the key generation function Key_Gen: (Sk, Pk)=Key_Gen(r). For any random input, generate the VRF private key Sk and the public key Pk corresponding to the private key Sk;
    (2)VRF计算函数VRF_Hash:Y=VRF_Hash(Sk,M),对输入消息M,VRF 证明者使用其私钥Sk计算VRF哈希作为输出的随机数Y;(2) VRF calculation function VRF_Hash: Y=VRF_Hash(Sk, M), for the input message M, the VRF prover uses its private key Sk to calculate the VRF hash as the output random number Y;
    (3)VRF证明函数VRF_Proof:P=VRF_Proof(Sk,M).对输入消息M,以及私钥Sk,证明者计算VRF证明P;(3) VRF proof function VRF_Proof: P=VRF_Proof(Sk, M). For the input message M and the private key Sk, the prover calculates the VRF proof P;
    (4)对随机数Y进行哈希映射计算出下一个打包节点j;(4) Hash mapping the random number Y to calculate the next packing node j;
    所述步骤三中生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链,包括以下步骤: In the third step, the block Block n is generated, and the node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, and only receives more than one-third of the number of consensus nodes in the entire blockchain network. The second is to write the block to the local blockchain, including the following steps:
    (1)获取Block n-1中Nx_P*字段中的Y n-1和P n-1,M n-1,Pk n-1填入Block n的Pr_P字段; (1) Obtain Y n-1 and P n-1 , Mn -1 , Pk n- 1 in the Nx_P* field in Block n- 1 and fill in the Pr_P field of Block n ;
    (2)将自己的公钥证书Cert_i填入Block n区块头中的Cu_Cert字段中; (2) Fill in the Cu_Cert field in the Block n block header with own public key certificate Cert_i;
    (3)将计算的Y,P,M,Pk用下一个打包节点的公钥加密之后填入Block n区块头中的Nx_P*字段中; (3) Encrypt the calculated Y, P, M, and Pk with the public key of the next packing node and fill in the Nx_P* field in the Block n block header;
    (4)将交易信息写入区块体,计算当前哈希值P_Hash,并且填入区块Block n中的P_Hash字段; (4) Write the transaction information into the block body, calculate the current hash value P_Hash, and fill in the P_Hash field in the block Block n ;
    (5)计算签名消息Sig=Sign(SK i,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P *)),其中Sign(.)表示签名算法,填入区块Block n中的sig字段,P_Hash是对当前区块的哈希值,R_Hash是前一个区块的哈希值,Tamp指当前的时间戳,Num指当前的区块高度; (5) Calculate the signature message Sig=Sign(SK i ,H(P_Hash||Num||Tamp||Cu_Cert||Pr_P||R_Hash||Nx_P * )), where Sign(.) represents the signature algorithm, fill in the area In the sig field of Block n , P_Hash is the hash value of the current block, R_Hash is the hash value of the previous block, Tamp refers to the current timestamp, and Num refers to the current block height;
    (6)生成区块Block n,节点i将生成的新区块Block n广播至其余的节点,然后他等待其他节点的反馈,只有收到超过整个区块链网络中共识节点数量的三分之二才把区块写入本地区块链; (6) Generate block Block n , node i broadcasts the generated new block Block n to the rest of the nodes, and then he waits for feedback from other nodes, only if it receives more than two-thirds of the number of consensus nodes in the entire blockchain network Only write the block to the local blockchain;
    所述步骤四其他节点对区块Block n进行验证,每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点,包括以下步骤: In the fourth step, other nodes verify the block Block n , and each master node redistributes the verified block Block n to each non-consensus node in its management domain, including the following steps:
    (1)收到Block n的节点,首先验证前后的哈希链式关系,然后验证区块头中的签名字段Sig是否成立; (1) The node receiving Block n first verifies the hash chain relationship before and after, and then verifies whether the signature field Sig in the block header is established;
    (2)验证通之后,节点提取收到的区块Block n中的Pr_P字段中的数值Y,P, M,Pk; (2) After the verification is passed, the node extracts the values Y, P, M, Pk in the Pr_P field in the received block Block n ;
    (3)节点运行VRF验证函数VRF_Verify:True/False=VRF_Verify(Pk,M,Y,P),验证者输入VRF证明者的公钥Pk,消息M,以及VRF输出的随机值Y和证明P进行验证,输出为False/True,如果证明P是根据M产生的、且由P可以推导出Y,则验证通过输出为True,否则验证失败、输出为False,并且验证Y能否映射到当前打包节点,如果能映射到,验证通过,否则验证通不过;(3) The node runs the VRF verification function VRF_Verify: True/False=VRF_Verify(Pk,M,Y,P), the verifier inputs the VRF prover's public key Pk, the message M, and the VRF output random value Y and the proof P are performed Verification, the output is False/True, if it is proved that P is generated according to M, and Y can be deduced from P, then the verification passes and the output is True, otherwise the verification fails and the output is False, and it is verified whether Y can be mapped to the current packaging node , if it can be mapped to, the verification passes, otherwise the verification fails;
    (4)验证通过之后,主节点将区块写入本地区块链中,并且每个主节点将验证通过的区块Block n再分发给其管理域中的每个非参与共识的节点,向当前打包节点反馈一个接受信息。 (4) After the verification is passed, the master node writes the block into the local blockchain, and each master node redistributes the verified block Block n to each non-participating consensus node in its management domain. The current packaging node returns an acceptance message.
  7. 一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:A computer device, characterized in that the computer device includes a memory and a processor, the memory stores a computer program, and when the computer program is executed by the processor, the processor is caused to perform the following steps:
    区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain. At the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
    基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of this round randomly selects the billing node of the next round.
  8. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:A computer-readable storage medium storing a computer program, when the computer program is executed by a processor, the processor causes the processor to perform the following steps:
    区块链的初始配置,在区块链建立之初,CA首先将网络划分为Q个域,并为每个域指定一个leader节点参与区块链的构建,当有节点加入区块链网络时,在CA处注册身份信息;当有节点退出时,CA同样需要注销其身份信息;The initial configuration of the blockchain, at the beginning of the establishment of the blockchain, CA first divides the network into Q domains, and assigns a leader node to each domain to participate in the construction of the blockchain. When a node joins the blockchain network , register the identity information at the CA; when a node exits, the CA also needs to cancel its identity information;
    基于可验证随机函数的Raft共识协议,在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。Based on the Raft consensus protocol based on verifiable random function, when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
  9. 一种实施权利要求1~6任意一项所述区块链构建方法的区块链构建系统,其特征在于,所述区块链构建系统包括:A blockchain construction system for implementing the blockchain construction method according to any one of claims 1 to 6, wherein the blockchain construction system comprises:
    区块链初始配置模块,用于在区块链建立之初,网络被划分为Q个域,每个域指定一个leader节点参与区块链共识,域内其余节点被动同步Leader节点共识后的区块;The initial configuration module of the blockchain is used to divide the network into Q domains at the beginning of the establishment of the blockchain. Each domain designates a leader node to participate in the blockchain consensus, and the remaining nodes in the domain passively synchronize the blocks after the leader node consensus. ;
    Raft共识协议构建模块,用于基于可验证随机函数的Raft共识协议:在每轮生成新区块的同时,由该轮的记账节点随机选取下一轮的记账节点。The Raft consensus protocol building block is used for the Raft consensus protocol based on a verifiable random function: when a new block is generated in each round, the billing node of the round randomly selects the billing node of the next round.
  10. 一种区块链系统,其特征在于,所述区块链系统搭载权利要求9所述的区块链构建系统。A blockchain system, characterized in that the blockchain system is equipped with the blockchain construction system of claim 9 .
PCT/CN2020/107592 2020-08-03 2020-08-07 Blockchain construction method and system, and storage medium, computer device and application WO2022027531A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010769437.7A CN112118124B (en) 2020-08-03 2020-08-03 Block chain construction method, system, storage medium, computer equipment and application
CN202010769437.7 2020-08-03

Publications (1)

Publication Number Publication Date
WO2022027531A1 true WO2022027531A1 (en) 2022-02-10

Family

ID=73799192

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/107592 WO2022027531A1 (en) 2020-08-03 2020-08-07 Blockchain construction method and system, and storage medium, computer device and application

Country Status (2)

Country Link
CN (1) CN112118124B (en)
WO (1) WO2022027531A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650302A (en) * 2022-03-11 2022-06-21 南京邮电大学 Credible management method for Internet of things edge equipment based on block chain
CN114726533A (en) * 2022-03-23 2022-07-08 扬州大学 Block chain based redundant data detection and deletion method in edge computing environment
CN114760157A (en) * 2022-06-16 2022-07-15 天津市城市规划设计研究总院有限公司 Method and system for verifying validity of block link nodes in urban planning field
CN114826607A (en) * 2022-04-02 2022-07-29 中国科学院信息工程研究所 Block chain-based edge computing node compression method and lightweight storage system
CN115002221A (en) * 2022-06-06 2022-09-02 长春理工大学 Block chain consensus method and system suitable for Internet of things
CN115021945A (en) * 2022-08-08 2022-09-06 四块科技(深圳)有限公司 Block chain transaction processing method and system
CN115065468A (en) * 2022-07-15 2022-09-16 辽宁工程技术大学 PBFT consensus optimization method based on grouping reputation value
CN115086049A (en) * 2022-06-21 2022-09-20 天津理工大学 System and method for sharing block chain medical data based on verifiable delay function
CN115118435A (en) * 2022-06-29 2022-09-27 河北工业大学 Private data protection and authorization framework based on double-layer chain
CN115150246A (en) * 2022-04-14 2022-10-04 北京邮电大学 Mass real-time Internet of things-oriented chain loading method based on novel nested chain architecture
CN115499453A (en) * 2022-06-28 2022-12-20 重庆邮电大学 Sharding storage method facing alliance chain
CN115632791A (en) * 2022-10-12 2023-01-20 南京航空航天大学 Dynamic cross-chain data consistency decentralized verification method
CN115664684A (en) * 2022-12-27 2023-01-31 湖南工商大学 Consensus protocol operation method and device fusing digital evidence and related equipment
CN115664714A (en) * 2022-09-22 2023-01-31 中国人民解放军国防科技大学 TEE-based anonymous selection committee method, system and medium on block chain
CN116074328A (en) * 2023-03-01 2023-05-05 中国信息通信研究院 Block transmission method, device, equipment and medium in block chain network
CN116932656A (en) * 2023-09-18 2023-10-24 中孚安全技术有限公司 Data blood edge storage method, system, equipment and medium based on block chain
CN117692128A (en) * 2024-02-02 2024-03-12 波维希数字科技有限公司 Three-level dense chain architecture

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112600945B (en) * 2021-03-04 2021-06-04 暗链科技(深圳)有限公司 Distributed block chain service system, construction method thereof and storage medium
CN114281887B (en) * 2021-04-07 2022-08-05 暗链科技(深圳)有限公司 Data storage method based on block distributed block chain and electronic equipment
CN112769963B (en) * 2021-04-07 2021-07-09 暗链科技(深圳)有限公司 Node communication method based on block distributed block chain and electronic equipment
CN113672987B (en) * 2021-09-06 2023-09-05 上海万向区块链股份公司 Method and system for selecting packet type billing node under PoW mechanism
CN113965566A (en) * 2021-10-11 2022-01-21 浪潮云信息技术股份公司 BFT consensus algorithm implementation method and system based on Header-Sig flow
CN114362930A (en) * 2021-12-09 2022-04-15 重庆海尔制冷电器有限公司 Block chain consensus method and computer-readable storage medium
CN114465887B (en) * 2021-12-23 2024-01-23 杭州溪塔科技有限公司 Block chain configuration management method and device based on git
CN114938380B (en) * 2022-06-23 2023-08-22 成都质数斯达克科技有限公司 Data sharing system and method suitable for block chain
CN115314374B (en) * 2022-07-06 2024-02-06 京东科技信息技术有限公司 Block chain node deployment method, device, storage medium and program product
CN115378715A (en) * 2022-08-24 2022-11-22 河北中废通网络技术有限公司 Block chain-based chain type information encryption transmission method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717630A (en) * 2018-05-19 2018-10-30 上海分布信息科技有限公司 One kind going out block method and its realizes system
CN109726229A (en) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 A kind of block chain date storage method and device
US20190158470A1 (en) * 2016-04-29 2019-05-23 nChain Holdings Limited Operating system for blockchain iot devices
CN111476548A (en) * 2020-04-16 2020-07-31 山东师范大学 Title review method and system based on block chain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528886B (en) * 2017-07-25 2020-07-31 中国科学院计算技术研究所 Block chain full-network splitting method and system
EP3707858A4 (en) * 2017-11-06 2021-07-21 Velo Holdings Limited Blockchain system
CN109698753B (en) * 2018-12-17 2022-05-03 成都四方伟业软件股份有限公司 Block chain-based uplink consensus algorithm matching method and device
CN109714447B (en) * 2018-12-20 2021-09-10 全链通有限公司 Domain name generation method and system based on block chain domain name system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190158470A1 (en) * 2016-04-29 2019-05-23 nChain Holdings Limited Operating system for blockchain iot devices
CN108717630A (en) * 2018-05-19 2018-10-30 上海分布信息科技有限公司 One kind going out block method and its realizes system
CN109726229A (en) * 2018-11-30 2019-05-07 深圳市元征科技股份有限公司 A kind of block chain date storage method and device
CN111476548A (en) * 2020-04-16 2020-07-31 山东师范大学 Title review method and system based on block chain

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI YAN, MA HAIYING;WANG ZHANJU: "Research Progress on Key Technologies of Blockchain", COMPUTER ENGINEERING AND APPLICATIONS, HUABEI JISUAN JISHU YANJIUSUO, CN, vol. 55, no. 20, 23 August 2019 (2019-08-23), CN , XP055895282, ISSN: 1002-8331, DOI: 10.3778/j.issn.1002-8331.1906-0013 *
XUE TENGFEI: "Research on Several Issues in Blockchain Applications", CHINA MASTER’S THESES FULL-TEXT DATABASE, 15 August 2019 (2019-08-15), XP055895286, ISBN: 978-7-111-60788-5 *

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650302A (en) * 2022-03-11 2022-06-21 南京邮电大学 Credible management method for Internet of things edge equipment based on block chain
CN114650302B (en) * 2022-03-11 2024-03-12 南京邮电大学 Block chain-based internet of things edge equipment trusted management method
CN114726533A (en) * 2022-03-23 2022-07-08 扬州大学 Block chain based redundant data detection and deletion method in edge computing environment
CN114726533B (en) * 2022-03-23 2023-12-01 扬州大学 Method for detecting and deleting redundant data in edge computing environment based on block chain
CN114826607B (en) * 2022-04-02 2024-04-19 中国科学院信息工程研究所 Edge computing node compression method based on block chain and lightweight storage system
CN114826607A (en) * 2022-04-02 2022-07-29 中国科学院信息工程研究所 Block chain-based edge computing node compression method and lightweight storage system
CN115150246B (en) * 2022-04-14 2023-06-30 北京邮电大学 Novel nested chain architecture-based massive real-time Internet of things-oriented uplink method
CN115150246A (en) * 2022-04-14 2022-10-04 北京邮电大学 Mass real-time Internet of things-oriented chain loading method based on novel nested chain architecture
CN115002221B (en) * 2022-06-06 2023-06-23 长春理工大学 Block chain consensus method and system suitable for Internet of things
CN115002221A (en) * 2022-06-06 2022-09-02 长春理工大学 Block chain consensus method and system suitable for Internet of things
CN114760157B (en) * 2022-06-16 2022-09-16 天津市城市规划设计研究总院有限公司 Method and system for verifying validity of block chain node in urban planning field
CN114760157A (en) * 2022-06-16 2022-07-15 天津市城市规划设计研究总院有限公司 Method and system for verifying validity of block link nodes in urban planning field
CN115086049A (en) * 2022-06-21 2022-09-20 天津理工大学 System and method for sharing block chain medical data based on verifiable delay function
CN115086049B (en) * 2022-06-21 2023-09-08 天津理工大学 Block chain medical data sharing system and method based on verifiable delay function
CN115499453A (en) * 2022-06-28 2022-12-20 重庆邮电大学 Sharding storage method facing alliance chain
CN115499453B (en) * 2022-06-28 2024-03-12 重庆邮电大学 Fragment storage method oriented to alliance chain
CN115118435B (en) * 2022-06-29 2024-03-22 河北工业大学 Privacy data protection and authorization framework based on double-layer chain
CN115118435A (en) * 2022-06-29 2022-09-27 河北工业大学 Private data protection and authorization framework based on double-layer chain
CN115065468B (en) * 2022-07-15 2024-04-30 辽宁工程技术大学 PBFT consensus optimization method based on group reputation value
CN115065468A (en) * 2022-07-15 2022-09-16 辽宁工程技术大学 PBFT consensus optimization method based on grouping reputation value
CN115021945B (en) * 2022-08-08 2022-11-08 四块科技(深圳)有限公司 Block chain transaction processing method and system
CN115021945A (en) * 2022-08-08 2022-09-06 四块科技(深圳)有限公司 Block chain transaction processing method and system
CN115664714A (en) * 2022-09-22 2023-01-31 中国人民解放军国防科技大学 TEE-based anonymous selection committee method, system and medium on block chain
CN115632791A (en) * 2022-10-12 2023-01-20 南京航空航天大学 Dynamic cross-chain data consistency decentralized verification method
CN115632791B (en) * 2022-10-12 2024-03-19 南京航空航天大学 Dynamic cross-chain data consistency decentration verification method
CN115664684B (en) * 2022-12-27 2023-04-18 湖南工商大学 Consensus protocol operation method and device fusing digital evidence and related equipment
CN115664684A (en) * 2022-12-27 2023-01-31 湖南工商大学 Consensus protocol operation method and device fusing digital evidence and related equipment
CN116074328B (en) * 2023-03-01 2023-06-27 中国信息通信研究院 Block transmission method, device, equipment and medium in block chain network
CN116074328A (en) * 2023-03-01 2023-05-05 中国信息通信研究院 Block transmission method, device, equipment and medium in block chain network
CN116932656B (en) * 2023-09-18 2024-01-09 中孚安全技术有限公司 Data blood edge storage method, system, equipment and medium based on block chain
CN116932656A (en) * 2023-09-18 2023-10-24 中孚安全技术有限公司 Data blood edge storage method, system, equipment and medium based on block chain
CN117692128A (en) * 2024-02-02 2024-03-12 波维希数字科技有限公司 Three-level dense chain architecture
CN117692128B (en) * 2024-02-02 2024-04-16 波维希数字科技有限公司 Three-stage chain sealing system

Also Published As

Publication number Publication date
CN112118124A (en) 2020-12-22
CN112118124B (en) 2022-05-03

Similar Documents

Publication Publication Date Title
WO2022027531A1 (en) Blockchain construction method and system, and storage medium, computer device and application
JP7289298B2 (en) Computer-implemented system and method for authorizing blockchain transactions using low-entropy passwords
US11050762B2 (en) High throughput secure multi-party computation with identifiable abort
CN113301022B (en) Internet of things equipment identity security authentication method based on block chain and fog calculation
WO2021258549A1 (en) Assembly line friendly signing and signature verifying methods, device, and storage medium
CN113079132B (en) Mass Internet of things equipment authentication method, storage medium and information data processing terminal
CN114463009B (en) Method for improving transaction security of large-scale energy nodes
CN110910139A (en) Trusted hardware based on block chain and high-performance decentralized anonymous encryption algorithm
Wu et al. Distributed Timestamp Mechanism Based on Verifiable Delay Functions.
CN116346357A (en) Identity authentication method for cross-queue data access based on blockchain
Meng et al. Fast secure and anonymous key agreement against bad randomness for cloud computing
Irshad et al. A low-cost privacy preserving user access in mobile edge computing framework
Xie et al. A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices
JP2002529778A (en) Incorporating shared randomness into distributed encryption
Wang et al. Lightweight zero-knowledge authentication scheme for IoT embedded devices
US11782758B2 (en) Distributed computing system and method of operation thereof
Li et al. An efficient certificateless aggregate signature scheme designed for VANET
CN116170144B (en) Smart power grid anonymous authentication method, electronic equipment and storage medium
Sakho et al. Privacy protection issues in blockchain technology
Jiang et al. Security Analysis of “SMAKA: Secure Many-to-Many Authentication and Key Agreement Scheme for Vehicular Networks”
CN112231731A (en) Loosely coupled blockchain transaction method and blockchain link point
Yuan et al. A PUF-based lightweight broadcast authentication protocol for multi-server systems using blockchain
Duan et al. Lightweight key management system for inter-node communication in IoT
CN114026586A (en) Zero knowledge or pay protocol for granting access to encrypted assets
Chen et al. A New Identity Authentication and Key Agreement Protocol Based on Multi-Layer Blockchain in Edge Computing

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20948349

Country of ref document: EP

Kind code of ref document: A1