WO2019024500A1 - 用于配置局部共识的方法和装置及计算机可读存储介质 - Google Patents
用于配置局部共识的方法和装置及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019024500A1 WO2019024500A1 PCT/CN2018/078301 CN2018078301W WO2019024500A1 WO 2019024500 A1 WO2019024500 A1 WO 2019024500A1 CN 2018078301 W CN2018078301 W CN 2018078301W WO 2019024500 A1 WO2019024500 A1 WO 2019024500A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- nodes
- consensus
- local
- instance
- local consensus
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
Definitions
- the present disclosure belongs to the field of blockchain technology, and in particular, to a method for configuring a local consensus based on a blockchain, a device for configuring a local consensus based on a blockchain, and a corresponding tangible computer. Read the storage medium.
- the Block Chain technology is a technology based on decentralized peer-to-peer network. It combines the principle of cryptography with the consensus mechanism to ensure data coherence and persistence of distributed nodes, thus realizing instant verification of information. Traceable, difficult to tamper with and unblockable, creating a shared, efficient, and secure shared value system.
- Blockchains are usually divided into public chains, federated chains, and private chains based on access rights.
- the public chain refers to the blockchain that anyone can access according to the agreement and participate in the consensus
- the alliance chain refers to the blockchain whose consensus process is controlled by the pre-selected nodes
- the private chain means that all the rights are in one organization.
- a blockchain that is arbitrarily controlled by the organization.
- a consensus algorithm refers to a set of protocols that are commonly operated and adhered to by multiple nodes participating in a blockchain to ensure that multiple request operations (and sometimes execution results) submitted to the blockchain can be in the blockchain. Agree between the nodes.
- the consensus algorithms for different blockchain platforms are different, and different from the technical indicators, the different consensus algorithms are in terms of system availability, scalability, and consensus confirmation speed. There is also a big difference, there is no consensus algorithm that satisfies all scenarios. Therefore, in the actual blockchain practice, it is often necessary to select a suitable consensus algorithm according to the actual usage scenarios and technical indicators.
- the existing blockchain platform Since the blockchain platform currently on the market basically supports a single consensus algorithm, even if the pluggable consensus module is allowed to run only one consensus algorithm at the same time, the existing blockchain platform is less flexible and Multiple different business scenarios cannot be met at the same time. In addition, in some scenarios, it is also necessary to select a subset of nodes to form a sub-chain to run a particular blockchain service, and other unrelated nodes are not allowed to receive messages. This is the case in the existing blockchain. It is still not possible on the platform.
- a first aspect of the present disclosure proposes a method for configuring a local consensus based on a blockchain, the method comprising:
- a local consensus instance is created for a group of nodes selected from the plurality of nodes.
- a method for configuring a blockchain-based local consensus can select a portion of related nodes from a plurality of nodes constituting the blockchain, thereby establishing a local consensus instance between the selected nodes, and further It can be ensured that this local consensus instance can be selected by its desired consensus algorithm to optimize the network and improve the network service quality.
- creating a local consensus instance for a group of nodes selected from the plurality of nodes further comprises:
- All nodes in the blockchain create the local consensus instance in response to the first transaction command.
- the administrator of the blockchain can select the set of nodes from the plurality of nodes based on the business requirements running on the local consensus instance that is to be created, thereby selecting a set of nodes A local consensus instance is established between them, and other unrelated nodes do not need or participate in the local consensus instance, which will ensure the security and privacy of communication between the nodes on the one hand, and ensure the security on the other hand.
- the created local consensus instance is able to relatively freely choose its desired consensus algorithm.
- the first transaction command includes information indicating a node list of the set of nodes, and a local consensus identifier specified by an administrator of the blockchain. Information and information about the consensus algorithm used by the created local consensus instance.
- the consensus algorithm includes at least one of the following: a workload proof consensus algorithm; an equity proof consensus algorithm; a trusted equity proof consensus algorithm; a practical Byzantine fault tolerant consensus algorithm; and/or BFT-RAFT consensus algorithm.
- the information about the consensus algorithm used by the created local consensus instance is based on the business requirements running on the local consensus instance that are to be created and the blockchain Supported consensus algorithms to determine.
- the method further includes the local consensus instance creating one or more communication channels based on a type of consensus algorithm used by the local consensus instance. In an embodiment in accordance with the present disclosure, the method further includes the created local consensus instance initiating a message processing thread for receiving and processing messages sent by other nodes.
- the method further includes:
- a second transaction command for deleting the local consensus instance is broadcast to all nodes in the blockchain;
- All nodes in the blockchain delete the local consensus instance in response to the second transaction command.
- the administrator of the blockchain can delete the local consensus instance in time, thereby releasing the corresponding network resources, thereby optimally optimizing Utilize the blockchain network resources.
- implementing initialization of the plurality of nodes further includes:
- a second aspect of the present disclosure is directed to a tangible computer readable storage medium, the storage medium comprising instructions that, when executed, cause a processor of the computer to at least:
- a local consensus instance is created for a group of nodes selected from the plurality of nodes.
- creating a local consensus instance for a group of nodes selected from the plurality of nodes further comprises:
- All nodes in the blockchain create the local consensus instance in response to the first transaction command.
- the processor of the computer when the instructions are executed, the processor of the computer is further configured to:
- a second transaction command for deleting the local consensus instance is broadcast to all nodes in the blockchain;
- All nodes in the blockchain delete the local consensus instance in response to the second transaction command.
- a third aspect of the present disclosure proposes an apparatus for configuring a local consensus based on a blockchain, the apparatus comprising:
- An initialization module configured to implement initialization of a plurality of nodes
- a local consensus configuration module configured to create a local consensus instance for a group of nodes selected from the plurality of nodes.
- the local consensus configuration module is further configured to:
- All nodes in the blockchain create the local consensus instance in response to the first transaction command.
- the first transaction command includes information indicating a node list of the set of nodes, and a local consensus identifier specified by an administrator of the blockchain. Information and information about the consensus algorithm used by the created local consensus instance.
- the consensus algorithm includes at least one of the following algorithms:
- the information about the consensus algorithm used by the created local consensus instance is based on the business requirements running on the local consensus instance that are to be created and the blockchain Supported consensus algorithms to determine.
- the local consensus configuration module is further configured to:
- a second transaction command for deleting the local consensus instance is broadcast to all nodes in the blockchain;
- All nodes in the blockchain delete the local consensus instance in response to the second transaction command.
- a method, apparatus, and corresponding computer readable storage medium for configuring a blockchain-based local consensus are capable of selecting a portion of related nodes from a plurality of nodes constituting the blockchain, thereby A local consensus instance is established between the selected nodes, thereby ensuring that the local consensus instance can select its desired consensus algorithm to optimize the network and improve network service quality.
- FIG. 1 is a schematic diagram of a network structure 100 of a blockchain in the prior art
- FIG. 2 is a schematic diagram of a network structure 200 of a blockchain in accordance with the present disclosure
- FIG. 3 is a flow diagram of a method 300 for configuring a blockchain-based local consensus in accordance with the present disclosure
- FIG. 4 is a schematic diagram of an apparatus 400 for configuring a blockchain-based local consensus in accordance with the present disclosure
- FIG. 5 illustrates a schematic diagram of an embodiment 500 of a plurality of local consensus implementations in accordance with the present disclosure.
- each block of the flowchart or block diagram may represent a module, a program segment, or a portion of code, which may include one or more for implementing various embodiments. Executable instructions for the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two blocks shown in succession may in fact be executed substantially in parallel, or they can sometimes be executed in the reverse order, depending upon the functionality involved.
- each block of the flowcharts and/or block diagrams, and combinations of blocks in the flowcharts and/or block diagrams can be implemented using a dedicated hardware-based system that performs the specified functions or operations. Or can be implemented using a combination of dedicated hardware and computer instructions.
- the blockchain platform 100 includes, but is not limited to, terminals 101, 102, 103, 104, 105, 106, 107, 108, and 109 connected by a network, wherein the terminals 101, 103, and 104 The terminals are connected to other blockchain terminals via a wireless network, and the terminals 102, 105, 106, 107, 108, and 109 are connected by a wired network and other blockchain terminals.
- the blockchain platform currently on the market basically supports a single consensus algorithm, and even a supportable pluggable consensus module can only run a consensus algorithm at the same time. Therefore, the existing blockchain platform has poor flexibility and cannot simultaneously satisfy multiple different business scenarios.
- the corresponding real demand is that in some scenarios, it is also necessary to select a subset of nodes to form a sub-chain to run a particular blockchain service. Other unrelated nodes are not allowed to receive messages.
- the existing blockchain platform is still not implemented.
- consensus algorithms selected for the specific blockchain platform are also different, and different from the technical indicators, different consensus algorithms also have larger indicators such as system availability, scalability, and consensus confirmation speed. Differences, there is no consensus algorithm that satisfies all scenarios. Therefore, in the actual blockchain practice, it is often necessary to select a suitable consensus algorithm according to the actual usage scenarios and technical indicators.
- FIG. 2 such as in the blockchain platform illustrated in FIG. 1, now required for bank customer A (ie, node 201 as illustrated), insurance customer B (illustrated node 206) And the insurance client C (the illustrated node 208) establishes a sub-chain, that is, a local consensus instance.
- the administrator of the blockchain can specify an identifier of the local consensus instance (for example, "reporting platform"), and select, from the nodes, the relevant nodes (ie, nodes) that need to participate in a specific service according to business requirements.
- the blockchain administrator broadcasts a first transaction command for creating the local consensus instance to all nodes in the blockchain through any one node and all nodes in the blockchain are responsive to the The first transaction command creates the local consensus instance.
- the first transaction command includes information indicating a list of nodes of the set of nodes (ie, the indication includes node 201 Information of 206, 208), information about the local consensus identifier specified by the administrator of the blockchain (ie, information about, for example, the "reporting platform") and the use of the local consensus instance created Information about the consensus algorithm (ie, for example, information about a practical Byzantine fault-tolerant consensus algorithm).
- a method for configuring a blockchain-based local consensus can select a portion of related nodes from a plurality of nodes constituting the blockchain, thereby establishing a local consensus instance between the selected nodes, and further It can be ensured that this local consensus instance can be selected by its desired consensus algorithm to optimize the network and improve the network service quality.
- the local consensus instance creates one or more communication channels based on the type of consensus algorithm used by the local consensus instance (eg, a practical Byzantine fault tolerant consensus algorithm).
- the local consensus instance created then initiates a message processing thread for receiving and processing messages sent by other nodes.
- a second transaction command for deleting the local consensus instance is broadcast to all nodes in the blockchain and all nodes in the block chain are responsive And deleting the local consensus instance in the second transaction command.
- the administrator of the blockchain can delete the local consensus instance in time, thereby releasing the corresponding network resources, thereby optimally optimizing Utilize the blockchain network resources.
- a method 300 for configuring a blockchain-based local consensus in accordance with the present disclosure is further described below with reference to FIG. 3, the method 300 comprising the steps of first implementing initialization of a plurality of nodes in method step 310; A local consensus instance is created in 320 for a group of nodes selected from a plurality of nodes.
- method step 320 further includes selecting the set of nodes from the plurality of nodes according to a business requirement run on the local consensus instance that is to be created; via one of the plurality of nodes A node broadcasts a first transaction command for creating the local consensus instance to all nodes in the blockchain; and all nodes in the blockchain create the local consensus instance in response to the first transaction command .
- the first transaction command includes information for indicating a node list of the set of nodes, information about a local consensus identifier specified by an administrator of the blockchain, and regarding the created local consensus instance Information about the consensus algorithm used.
- the method step 310 further includes configuring a network address and a port for the plurality of nodes; generating a node public private key; and starting and running the node blockchain program.
- the above consensus algorithm includes at least one of the following algorithms: a workload proof consensus algorithm; an equity proof consensus algorithm; a trusted equity proof consensus algorithm; a practical Byzantine fault tolerant consensus algorithm; and/or a BFT-RAFT consensus algorithm.
- a workload proof consensus algorithm for example, used by Bitcoin, mostly used in the public chain
- POS Proof Of Stake
- POS Proof Of Stake
- POS consensus algorithm Ethereum is trying to use, mostly in the public chain
- the Delegated Proof of Stake::DPOS consensus algorithm is a variant of the POS consensus algorithm, mostly used in the public chain
- the Practical Byzantine Fault Tolerance (PBFT) consensus algorithm is mostly used in the alliance chain
- the newly proposed distributed consensus algorithm-BFT-RAFT consensus algorithm is similar to PBFT, and is mostly used in distributed systems and alliance chains.
- the information about the consensus algorithm used by the created local consensus instance is determined according to the business requirements running on the local consensus instance to be created and the consensus algorithm supported by the blockchain. .
- the above described configuration method can be implemented by a tangible computer readable storage medium, the storage medium including instructions that, when executed, cause a processor of the computer to at least implement initialization of a plurality of nodes and A selected one of the plurality of nodes creates a local consensus instance.
- the processor of the computer can also be caused to select the set of nodes from the plurality of nodes according to the business requirements running on the local consensus instance that is required to be created, via the One of the plurality of nodes broadcasts a first transaction command for creating the local consensus instance to all nodes in the blockchain and all nodes in the blockchain are created in response to the first transaction command The local consensus example.
- the above described configuration method can be implemented by a computer program product.
- the computer program product can include a computer readable storage medium having computer readable program instructions for performing various aspects of the present disclosure.
- the computer readable storage medium can be a tangible device that can hold and store the instructions used by the instruction execution device.
- the computer readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- Non-exhaustive list of computer readable storage media include: portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM) Or flash memory), static random access memory (SRAM), portable compact disk read only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device, for example, with instructions stored thereon A raised structure in the hole card or groove, and any suitable combination of the above.
- a computer readable storage medium as used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (eg, a light pulse through a fiber optic cable), or through a wire The electrical signal transmitted.
- the apparatus 400 for configuring a blockchain based local consensus includes an initialization module 410 that is configured to implement initialization of a plurality of nodes.
- apparatus 400 for configuring a blockchain-based local consensus further includes a local consensus configuration module 420 configured to create a local consensus instance for a group of nodes selected from a plurality of nodes.
- the local consensus configuration module 420 can be further configured to select the group of nodes from the plurality of nodes according to the service requirements running on the local consensus instance to be created, and to send the node to the node through the node.
- All nodes in the blockchain broadcast a first transaction command for creating a local consensus instance and all nodes in the blockchain create the local consensus instance in response to the first transaction command.
- the first transaction command includes information for indicating a node list of a group of nodes, information about a local consensus identifier specified by an administrator of the blockchain, and information about a consensus algorithm used by the created local consensus instance.
- the consensus algorithm includes at least one of the following algorithms: a workload proof consensus algorithm, an equity proof consensus algorithm, a trusted equity proof consensus algorithm, a practical Byzantine fault tolerant consensus algorithm, and/or a BFT-RAFT consensus algorithm.
- the local consensus configuration module is further configured to: broadcast to all nodes in the blockchain after completion of a service requirement run on the local consensus instance And deleting the second transaction command of the local consensus instance; and all nodes in the blockchain deleting the local consensus instance in response to the second transaction command.
- a method, apparatus, and corresponding computer readable storage medium for configuring a blockchain-based local consensus are capable of selecting a portion of related nodes from a plurality of nodes constituting the blockchain, thereby A local consensus instance is established between the selected nodes, thereby ensuring that the local consensus instance can select its desired consensus algorithm to optimize the network and improve network service quality.
- Embodiment 500 of a plurality of local consensus implemented in accordance with the method proposed by the present disclosure will be further described below in conjunction with FIG.
- the transport layer 510 is a peer-to-peer network connection layer that is responsible for maintaining the physical connections between the nodes.
- the node layer 520 is used to maintain the network address, port, and public and private key information of each node and complete the handshake, signature, and check processing.
- multiple channels can be created on the channel layer 530. Only the channels with the same ID can communicate with each other among the multiple nodes.
- Each local consensus instance can dynamically create and delete channels, and the ID of each channel cannot be repeated. That is to say, the ID of each channel is unique.
- each consensus algorithm specifies a set of nodes, creates one or more channels to communicate with corresponding channels of other nodes, and processes the received channel messages.
- the created consensus algorithms eg, first partial consensus 541, second partial consensus 542, third partial consensus 543, and fourth local consensus 544 may be dynamically created, modified, and/or deleted.
- the establishment of a local consensus instance consists of two phases, in which multiple node initializations are implemented in the first phase.
- Implementing multiple node initialization includes configuring the node network address and port; generating the node public and private key and starting and running the node blockchain program.
- a local consensus will be initiated.
- the initiation of the local consensus includes determining the string ID of the local consensus, and the ID cannot be repeated; next, the local consensus consensus node set and the consensus algorithm are determined, and the consensus algorithm must be the platform-supported algorithm; then, an administrator is initiated to create a A local consensus transaction command, which simultaneously submits a local consensus string ID, a node set, and a consensus algorithm.
- the local consensus instance is automatically created and started on the selected node; the newly created local consensus instance creates one or more communication channel channels for communicating with each other and the newly created local consensus start message processing thread Receive and process messages from other nodes. Finally, if the local consensus completion task needs to be stopped, it is only necessary to initiate a delete local consensus transaction command as an administrator.
- the method can start/stop a new local consensus without re-deployment and restart, as long as the node joining the local consensus is selected, and the appropriate consensus algorithm is selected, and the new local consensus command provided by the platform is dynamically created. , use in a timely manner.
- the specified local consensus is stopped by the stop local consensus command provided by the platform.
- the method can simultaneously support multiple local consensus operations at the same time, and the local consensus is completely completely isolated from each other and does not affect each other: that is, the local consensus is invisible to each other, so different local consensus can choose completely different consensus at random. Algorithm with greater flexibility.
- the local consensus supported by the method can freely choose a completely different set of nodes.
- Each local consensus message is strictly restricted to be passed between specified node sets.
- Other unrelated nodes will not receive consensus messages and have better privacy. . It can well meet the scenario where some nodes need to run a small range of blockchain applications, and the data privacy and security are strong.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Logic Circuits (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (18)
- 一种用于配置基于区块链的局部共识的方法,所述方法包括:实现多个节点的初始化;以及为从所述多个节点中选择的一组节点创建局部共识实例。
- 根据权利要求1所述的方法,其中,为从所述多个节点中选择的一组节点创建局部共识实例进一步包括:根据所需创建的所述局部共识实例上所运行的业务需求从所述多个节点中选择所述一组节点;经由所述多个节点中的一个节点向所述区块链中的所有节点广播用于创建所述局部共识实例的第一交易命令;以及所述区块链中的所有节点响应于所述第一交易命令创建所述局部共识实例。
- 根据权利要求2所述的方法,其中,所述第一交易命令中包括用于指示所述一组节点的节点列表的信息、关于由所述区块链的管理员指定的局部共识标识符的信息以及关于所创建的所述局部共识实例所使用的共识算法的信息。
- 根据权利要求3所述的方法,其中,所述共识算法包括以下算法中的至少一种:工作量证明共识算法;权益证明共识算法;委托权益证明共识算法;实用拜占庭容错共识算法;和/或BFT-RAFT共识算法。
- 根据权利要求3所述的方法,其中,关于所创建的所述局部共识实例所使用的共识算法的信息根据所需创建的所述局部共识实例上所运行的业务需求以及所述区块链所支持的共识算法来确定。
- 根据权利要求1所述的方法,其中,所述方法还包括:所述局部共识实例根据所述局部共识实例所使用的共识算法的类型创建一个或多个通信信道。
- 根据权利要求1所述的方法,其中,所述方法还包括:所创建的所述局部共识实例启动用于接收并处理其他节点发来的消息的消息处理线程。
- 根据权利要求1所述的方法,其中,所述方法还包括:在所述局部共识实例上所运行的业务需求完成后,向所述区块链中的所有节点广播用于删除所述局部共识实例的第二交易命令;以及所述区块链中的所有节点响应于所述第二交易命令删除所述局部共识实例。
- 根据权利要求1所述的方法,其中,实现多个节点的初始化进一步包括:为所述多个节点配置网络地址和端口;生成节点公私钥;以及启动并运行节点区块链程序。
- 一种有形的计算机可读存储介质,所述存储介质包括指令,当所述指令被执行时,使得所述计算机的处理器至少用于:实现多个节点的初始化;以及为从所述多个节点中选择的一组节点创建局部共识实例。
- 根据权利要求10所述的计算机可读存储介质,其中,为从所述多个节点中选择的一组节点创建局部共识实例进一步包括:根据所需创建的所述局部共识实例上所运行的业务需求从所述多个节点中选择所述一组节点;经由所述多个节点中的一个节点向所述区块链中的所有节点广播用于 创建所述局部共识实例的第一交易命令;以及所述区块链中的所有节点响应于所述第一交易命令创建所述局部共识实例。
- 根据权利要求10所述的计算机可读存储介质,其中,当所述指令被执行时,使得所述计算机的处理器还用于:在所述局部共识实例上所运行的业务需求完成后,向所述区块链中的所有节点广播用于删除所述局部共识实例的第二交易命令;以及所述区块链中的所有节点响应于所述第二交易命令删除所述局部共识实例。
- 一种用于配置基于区块链的局部共识的装置,所述装置包括:初始化模块,所述初始化模块被配置用于实现多个节点的初始化;以及局部共识配置模块,所述局部共识配置模块被配置用于为从所述多个节点中选择的一组节点创建局部共识实例。
- 根据权利要求13所述的装置,其中,所述局部共识配置模块进一步被配置用于:根据所需创建的所述局部共识实例上所运行的业务需求从所述多个节点中选择所述一组节点;经由所述多个节点中的一个节点向所述区块链中的所有节点广播用于创建所述局部共识实例的第一交易命令;以及所述区块链中的所有节点响应于所述第一交易命令创建所述局部共识实例。
- 根据权利要求14所述的装置,其中,所述第一交易命令中包括用于指示所述一组节点的节点列表的信息、关于由所述区块链的管理员指定的局部共识标识符的信息以及关于所创建的所述局部共识实例所使用的共识算法的信息。
- 根据权利要求15所述的装置,其中,所述共识算法包括以下算法中的至少一种:工作量证明共识算法;权益证明共识算法;委托权益证明共识算法;实用拜占庭容错共识算法;和/或BFT-RAFT共识算法。
- 根据权利要求15所述的装置,其中,关于所创建的所述局部共识实例所使用的共识算法的信息根据所需创建的所述局部共识实例上所运行的业务需求以及所述区块链所支持的共识算法来确定。
- 根据权利要求13所述的装置,其中,所述局部共识配置模块进一步被配置用于:在所述局部共识实例上所运行的业务需求完成后,向所述区块链中的所有节点广播用于删除所述局部共识实例的第二交易命令;以及所述区块链中的所有节点响应于所述第二交易命令删除所述局部共识实例。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
MYPI2018703952A MY197399A (en) | 2017-07-31 | 2018-03-07 | Method and apparatus for configuring local consensus and computer-readable storage medium |
US16/311,670 US11310047B2 (en) | 2017-07-31 | 2018-03-07 | Method and apparatus for configuring local consensus and computer-readable storage medium |
SG11201807918PA SG11201807918PA (en) | 2017-07-31 | 2018-03-07 | Method and apparatus for configuring local consensus and computer-readable storage medium |
JP2018548114A JP6720463B2 (ja) | 2017-07-31 | 2018-03-07 | ローカルコンセンサスを設定するための方法と装置およびコンピュータ可読記憶媒体 |
AU2018233013A AU2018233013B2 (en) | 2017-07-31 | 2018-03-07 | Method and apparatus for configuring local consensus and computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710638187.1A CN107360248B (zh) | 2017-07-31 | 2017-07-31 | 用于配置局部共识的方法和装置及计算机可读存储介质 |
CN201710638187.1 | 2017-07-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019024500A1 true WO2019024500A1 (zh) | 2019-02-07 |
Family
ID=60285961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/078301 WO2019024500A1 (zh) | 2017-07-31 | 2018-03-07 | 用于配置局部共识的方法和装置及计算机可读存储介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11310047B2 (zh) |
JP (1) | JP6720463B2 (zh) |
CN (1) | CN107360248B (zh) |
AU (1) | AU2018233013B2 (zh) |
MY (1) | MY197399A (zh) |
SG (1) | SG11201807918PA (zh) |
TW (1) | TWI705680B (zh) |
WO (1) | WO2019024500A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
US11310047B2 (en) | 2017-07-31 | 2022-04-19 | Zhongan Information Technology Services Co., Ltd. | Method and apparatus for configuring local consensus and computer-readable storage medium |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009824A (zh) * | 2017-11-28 | 2018-05-08 | 北京博晨技术有限公司 | 数据共识方法、装置及电子设备 |
US20190238316A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment |
CN108810077A (zh) * | 2018-04-19 | 2018-11-13 | 深圳市网心科技有限公司 | 区块链共识处理方法、电子装置及计算机可读存储介质 |
CN108596623B (zh) * | 2018-05-09 | 2021-02-02 | 合肥达朴汇联科技有限公司 | 一种区块链共识达成方法 |
CN108647967B (zh) * | 2018-05-10 | 2021-09-14 | 北京京东尚科信息技术有限公司 | 选择区块链共识机制的方法、装置以及共识节点 |
CN108848125B (zh) * | 2018-05-22 | 2021-08-17 | 北京京东尚科信息技术有限公司 | 区块链中提供共识服务的方法和装置及存储介质 |
CN109002297B (zh) * | 2018-07-16 | 2020-08-11 | 百度在线网络技术(北京)有限公司 | 共识机制的部署方法、装置、设备和存储介质 |
CN109039750B (zh) * | 2018-08-13 | 2021-06-15 | 浙商银行股份有限公司 | 一种提升区块链应用系统多城多园区部署灾备能力的方法 |
CN109214795A (zh) * | 2018-09-18 | 2019-01-15 | 北京物链互联科技有限公司 | 一种基于dag算法的区块链混合共识方法 |
CN109377364A (zh) * | 2018-09-27 | 2019-02-22 | 中国联合网络通信集团有限公司 | 一种建组方法和装置、交易方法和系统 |
CN109995850B (zh) * | 2019-03-05 | 2022-04-26 | 深圳前海微众银行股份有限公司 | 一种区块链系统及区块链系统的交易处理方法 |
CN110011814B (zh) * | 2019-04-16 | 2019-10-15 | 北京艾摩瑞策科技有限公司 | 一种可验证的DPoS共识方法及其系统 |
CN110365695A (zh) * | 2019-07-24 | 2019-10-22 | 中国工商银行股份有限公司 | 可切换共识算法的区块链数据交互方法及装置 |
KR20220084356A (ko) | 2019-10-18 | 2022-06-21 | 디피니티 스티프텅 | 분산 네트워크에서의 메시징 |
CN111163084B (zh) * | 2019-12-27 | 2021-11-09 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储方法 |
CN111340491B (zh) * | 2020-02-25 | 2023-08-29 | 中国工商银行股份有限公司 | 一种松散耦合的区块链自主交易方法、装置和系统 |
CN111311415B (zh) * | 2020-02-28 | 2023-11-24 | 中国工商银行股份有限公司 | 松散耦合的区块链交易方法、交易节点 |
US11461312B2 (en) * | 2020-03-28 | 2022-10-04 | Wipro Limited | Method and system for performing adaptive consensus in a distributed ledger network |
CN111669267B (zh) * | 2020-05-15 | 2024-02-20 | 西安纸贵互联网科技有限公司 | 区块链的共识机制配置及背书策略配置方法 |
CN113691569A (zh) * | 2020-05-18 | 2021-11-23 | 顺丰科技有限公司 | 一种基于联盟链的动态扩展的记账方法及装置 |
CN111402058B (zh) * | 2020-05-29 | 2021-05-04 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
CN111861469A (zh) * | 2020-07-27 | 2020-10-30 | 北京金山云网络技术有限公司 | 区块链中共识机制的处理方法、装置和电子设备 |
CN112565448A (zh) * | 2020-12-16 | 2021-03-26 | 宁波云麟信息科技有限公司 | 基于区块链的电子存证节点选择方法和电子设备 |
CN113256297B (zh) * | 2021-07-02 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN114143021B (zh) * | 2021-09-27 | 2022-12-06 | 电子科技大学 | 一种基于区块链的新闻信息信用积分系统 |
CN115118737B (zh) * | 2022-08-25 | 2022-11-18 | 南京信息工程大学 | 一种基于节点分组的联盟链区块存储方法 |
CN115115458B (zh) * | 2022-08-30 | 2022-11-18 | 国网区块链科技(北京)有限公司 | 一种基于区块链的近零碳排放园区的能源交易系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
US20170053002A1 (en) * | 2015-08-18 | 2017-02-23 | Fiserv, Inc. | Generating integrated data records by correlating source data records from disparate data sources |
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN107360248A (zh) * | 2017-07-31 | 2017-11-17 | 众安信息技术服务有限公司 | 用于配置局部共识的方法和装置及计算机可读存储介质 |
CN107450981A (zh) * | 2017-05-31 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8874776B2 (en) | 2010-03-08 | 2014-10-28 | Telcordia Technologies, Inc. | Virtual ad hoc network testbeds for network-aware applications |
US8874769B2 (en) * | 2011-06-30 | 2014-10-28 | Qualcomm Incorporated | Facilitating group access control to data objects in peer-to-peer overlay networks |
US9785697B2 (en) * | 2012-06-29 | 2017-10-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for implementing a distributed database |
US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US20160260091A1 (en) | 2015-03-04 | 2016-09-08 | THC Farmaceuticals, Inc. | Universal wallet for digital currency |
CN106209947B (zh) | 2015-05-07 | 2020-08-04 | 中兴通讯股份有限公司 | 一种去中心化自治组织的数据处理方法及系统 |
US10402792B2 (en) * | 2015-08-13 | 2019-09-03 | The Toronto-Dominion Bank | Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers |
WO2017173099A1 (en) * | 2016-03-30 | 2017-10-05 | Ping Identity Corporation | Methods and apparatus for assessing authentication risk and implementing single sign on (sso) using a distributed consensus database |
CN106656974B (zh) * | 2016-10-17 | 2019-07-16 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN106850536B (zh) | 2016-11-30 | 2020-01-07 | 北京瑞卓喜投科技发展有限公司 | 区块链共识方法及系统 |
TWM543413U (zh) * | 2016-12-05 | 2017-06-11 | Taiwan United Financial Technology Co Ltd | 利用區塊鏈技術進行交易的網路借貸平台 |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN106878071B (zh) * | 2017-01-25 | 2020-09-15 | 上海钜真金融信息服务有限公司 | 一种基于Raft算法的区块链共识机制 |
CN106874087A (zh) * | 2017-01-25 | 2017-06-20 | 上海钜真金融信息服务有限公司 | 一种区块链智能合约定时任务调度方法 |
CN107018125B (zh) * | 2017-02-17 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 一种区块链系统、数据存储方法及装置 |
CN106789089B (zh) * | 2017-02-23 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 管理证书的方法、装置、和系统以及服务器 |
WO2018154713A1 (ja) * | 2017-02-24 | 2018-08-30 | 日本電気株式会社 | 情報検証システム、情報検証装置、方法およびプログラム |
WO2018220709A1 (ja) * | 2017-05-30 | 2018-12-06 | 日本電気株式会社 | 資源管理システム、管理装置、方法およびプログラム |
CN107733651B (zh) | 2017-09-11 | 2020-06-19 | 联动优势科技有限公司 | 一种区块链生成方法、节点及系统 |
-
2017
- 2017-07-31 CN CN201710638187.1A patent/CN107360248B/zh active Active
-
2018
- 2018-03-07 WO PCT/CN2018/078301 patent/WO2019024500A1/zh active Application Filing
- 2018-03-07 JP JP2018548114A patent/JP6720463B2/ja active Active
- 2018-03-07 AU AU2018233013A patent/AU2018233013B2/en active Active
- 2018-03-07 SG SG11201807918PA patent/SG11201807918PA/en unknown
- 2018-03-07 US US16/311,670 patent/US11310047B2/en active Active
- 2018-03-07 MY MYPI2018703952A patent/MY197399A/en unknown
- 2018-07-23 TW TW107125335A patent/TWI705680B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170053002A1 (en) * | 2015-08-18 | 2017-02-23 | Fiserv, Inc. | Generating integrated data records by correlating source data records from disparate data sources |
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN107450981A (zh) * | 2017-05-31 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及设备 |
CN107360248A (zh) * | 2017-07-31 | 2017-11-17 | 众安信息技术服务有限公司 | 用于配置局部共识的方法和装置及计算机可读存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11310047B2 (en) | 2017-07-31 | 2022-04-19 | Zhongan Information Technology Services Co., Ltd. | Method and apparatus for configuring local consensus and computer-readable storage medium |
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
CN112511312B (zh) * | 2020-11-23 | 2023-10-17 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11310047B2 (en) | 2022-04-19 |
US20210234698A1 (en) | 2021-07-29 |
TW201911837A (zh) | 2019-03-16 |
TWI705680B (zh) | 2020-09-21 |
CN107360248A (zh) | 2017-11-17 |
JP6720463B2 (ja) | 2020-07-08 |
CN107360248B (zh) | 2020-08-25 |
SG11201807918PA (en) | 2019-03-28 |
JP2019526945A (ja) | 2019-09-19 |
AU2018233013A1 (en) | 2019-02-14 |
AU2018233013B2 (en) | 2019-12-05 |
MY197399A (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019024500A1 (zh) | 用于配置局部共识的方法和装置及计算机可读存储介质 | |
CN111045690B (zh) | 区块链节点服务部署方法、装置、系统、计算设备及介质 | |
KR102369647B1 (ko) | 두 장치 간의 신뢰 확립 기법 | |
US20210328816A1 (en) | Blockchain integrated stations and automatic node adding methods and apparatuses | |
US11451404B2 (en) | Blockchain integrated stations and automatic node adding methods and apparatuses | |
TW202023238A (zh) | 基於區塊鏈網路的可信節點確定方法和裝置 | |
US9917740B2 (en) | Reducing internodal communications in a clustered system | |
US20210194890A1 (en) | In a distributed computing system with untrusted entities method and apparatus for enabling coordinated executions of actions | |
JP6920442B2 (ja) | ブロックチェーンシステムのノード間の通信を確立するための方法及びデバイス | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
US11595475B2 (en) | Self-replicating management services for distributed computing architectures | |
US10218659B1 (en) | Persistent connections for email web applications | |
JP2012507076A (ja) | フェデレーションを集合させるブートストラップ | |
CN110992031A (zh) | 数据处理方法及装置 | |
US9906370B2 (en) | Trust relationship management amongst racks in a data center | |
CN113259464B (zh) | 组建区块链子网的方法和区块链系统 | |
KR102294569B1 (ko) | 블록체인 네트워크를 구축할 수 있는 블록체인 관리시스템 | |
WO2023207076A1 (zh) | 区块链子网的组建方法及装置 | |
WO2023207087A1 (zh) | 用于区块链的最优链路选择方法及装置和电子设备 | |
CN110659264B (zh) | 用于计算系统的业务处理方法、装置和计算系统 | |
US20240012680A1 (en) | Techniques for inter-cloud federated learning | |
KR102398380B1 (ko) | 키 교환 방법 및 시스템 | |
US20240171391A1 (en) | Secure data ingestion with edge computing | |
KR20200074572A (ko) | 네트워크 인터페이스 장치 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018548114 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2018233013 Country of ref document: AU Date of ref document: 20180307 Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18842021 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29.05.2020) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18842021 Country of ref document: EP Kind code of ref document: A1 |