WO2020224239A1 - Block chain implementation method,device, system and storage medium - Google Patents
Block chain implementation method,device, system and storage medium Download PDFInfo
- Publication number
- WO2020224239A1 WO2020224239A1 PCT/CN2019/120679 CN2019120679W WO2020224239A1 WO 2020224239 A1 WO2020224239 A1 WO 2020224239A1 CN 2019120679 W CN2019120679 W CN 2019120679W WO 2020224239 A1 WO2020224239 A1 WO 2020224239A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- contract
- smart contract
- data node
- consensus
- request
- Prior art date
Links
Images
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- 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/3247—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 involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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
- H04L67/104—Peer-to-peer [P2P] networks
Definitions
- This application relates to the field of blockchain technology, in particular to blockchain implementation methods, devices, systems and storage media.
- Blockchain was originally a special distributed accounting technology designed for Bitcoin (a digital currency) by a person whose name is Satoshi Nakamoto. Bitcoin and the blockchain technology derived from it have introduced signature systems, consensus mechanisms, time stamps and other technologies. The mutual cooperation between the modules perfectly solves the security risks caused by decentralization. Therefore, the blockchain is not a new Internet technology, but a clever integration of a number of existing technologies, such as asymmetric key signatures, consensus mechanisms, time stamps, hash algorithms, and P2P communications. Generally, blockchain can be understood as a distributed ledger, or as a distributed computing and storage system.
- the blockchain client usually requests an endorsement from the data node and calls the smart contract, receives and verifies the contract execution result returned by the data node, and then submits the verified contract execution result to the consensus node.
- TPS Transaction Per Second
- the first aspect of this application provides a blockchain implementation method, which is applied to a blockchain system.
- the method includes: a receiving step: a data node receives a request sent by an application to execute a corresponding smart contract. Including execution parameters; endorsement and execution steps: the data node endorses the smart contract, after the smart contract passes the endorsement, executes the smart contract according to the execution parameters, and compares the contract execution result and the corresponding
- the request is sent to the consensus node group;
- the consensus step: the consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form a block, and send the formed block to the Data node; and returning step: the data node returns the contract execution result to the application side.
- the second aspect of the application provides a block chain implementation device, including: a receiving module for performing the receiving step: the data node receives the request sent by the application to execute the corresponding smart contract, the request includes execution parameters; endorsement and execution Module for receiving endorsement and execution steps: the data node endorses the smart contract, after the smart contract passes the endorsement, executes the smart contract according to the execution parameters, and compares the contract execution result and the corresponding
- the request is sent to the consensus node group;
- the consensus module is used to execute the consensus steps: the consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form a block, and the The block is sent to the data node; and a return module for performing a return step: the data node returns the contract execution result to the application side.
- the third aspect of the present application provides a blockchain implementation system.
- the system includes a memory and a processor.
- the memory stores computer-readable instructions, and the computer-readable instructions are executed by one or more of the processors. When executed, one or more of the processors are caused to execute the steps of the aforementioned concurrent processing method.
- the fourth aspect of the present application provides a computer-readable storage medium, the computer-readable storage medium stores computer instructions, and when the computer instructions run on a computer, the computer executes the method described in the first aspect above .
- the receiving step the data node receives a request sent by the application to execute the corresponding smart contract, the request includes execution parameters; endorsement and execution steps: the data node endorses the smart contract, and After the smart contract is endorsed, the smart contract is executed according to the execution parameters, and the contract execution result and the corresponding request are sent to the consensus node group; consensus step: the consensus node group adopts a predetermined consensus algorithm to receive The received contract execution results and corresponding requests are sorted by consensus to form a block, and the formed block is sent to the data node; and the step of returning: the data node returns the contract execution result to the application terminal .
- the consensus node group sorts the contract execution results and requests by consensus, and sends the formed block to the data node.
- the data node returns the contract execution result to the application terminal and Broadcast the block to all other data nodes so that each data node maintains the same blockchain.
- Figure 1 is a schematic diagram of an embodiment of a blockchain system in an embodiment of the application
- FIG. 2 is a schematic diagram of an embodiment of any data node in FIG. 1;
- FIG. 3 is a schematic flowchart of a first embodiment of a blockchain implementation method in an embodiment of the application
- Fig. 4 is a schematic flowchart of a second embodiment of a blockchain implementation method in an embodiment of the application.
- the embodiments of the present application provide a blockchain implementation method, device, system, and storage medium, which are used to reduce network interaction, reduce system delay, and improve the overall performance of the blockchain system.
- the blockchain system 1 includes a consensus node group 2 and multiple data nodes (only two data nodes, data node 3 and data node 4 are shown in the figure), and each data node is connected to each other and is connected to the The consensus node group 2 is connected.
- the consensus node group 2 includes a plurality of consensus nodes, and each consensus node is connected to each other. Any one of the multiple data nodes can establish a connection with an application terminal (not shown in the figure), and can also endorse the smart contract according to the endorsement strategy, and execute the smart contract through the endorsement.
- the consensus node group 2 can perform consensus sorting on the received data to form a block, and send the formed block to the data node.
- the data nodes and consensus nodes may be terminal devices with storage and computing functions such as servers, smart phones, tablet computers, portable computers, desktop computers and the like.
- the server when the data node or the consensus node is a server, the server may be one or more of a rack server, a blade server, a tower server, or a cabinet server.
- FIG. 2 is a schematic diagram of an embodiment of any data node in FIG. 1.
- the data node includes a memory 31, a processor 32, and a network interface 33.
- the memory 31 includes at least one type of readable storage medium.
- the at least one type of readable storage medium may be a non-volatile storage medium such as flash memory, hard disk, multimedia card, card-type memory, and the like.
- the readable storage medium may be an internal storage unit of the data node, such as a hard disk of the data node.
- the readable storage medium may also be an external memory of the data node, for example, a plug-in hard disk equipped on the data node, a smart memory card (Smart Media Card, SMC), and a secure digital (Secure Digital). Digital, SD) card, flash card (Flash Card), etc.
- the readable storage medium of the memory 31 is used to store the blockchain data node implementation program 30, the data stored in the blockchain, and the data node to communicate with the application end, other data nodes, and the consensus node group. Data generated in the process of information interaction, such as contract execution results and requests sent by the application to execute the corresponding smart contract.
- the memory 31 can also be used to temporarily store data that has been output or will be output.
- the processor 32 may be a central processing unit (CPU), microprocessor or other data processing chip, used to run the program code or processing data stored in the memory 31, such as executing the blockchain data node implementation Procedure 30.
- CPU central processing unit
- microprocessor or other data processing chip, used to run the program code or processing data stored in the memory 31, such as executing the blockchain data node implementation Procedure 30.
- the network interface 33 may include a standard wired interface and a wireless interface (such as a WI-FI interface). It is usually used to establish a communication connection between the data node and other electronic devices, such as establishing a communication connection with the application end, other data nodes, and consensus node groups.
- a wireless interface such as a WI-FI interface
- Fig. 2 only shows data nodes with components 31-33 and a data node implementation program 30, but it should be understood that it is not required to implement all the illustrated components, and more or fewer components may be implemented instead.
- a microservice call interface to the data node, including but not limited to Restful, grpc, thrift, ICE, SOAP, etc., so that the data node and the application end, other data nodes, and consensus node groups can be established
- the communication connection especially improves the universality of the data node to the application side.
- the data node may also include an input unit such as a keyboard (Keyboard), a voice input device such as a microphone (Microphone), a radio frequency (RF) circuit, a display, a sensor, an audio circuit, a wired interface and a wireless interface, etc. No longer.
- an input unit such as a keyboard (Keyboard)
- a voice input device such as a microphone (Microphone), a radio frequency (RF) circuit
- a display such as a keyboard (Keyboard), a microphone (Microphone), a radio frequency (RF) circuit, a display, a sensor, an audio circuit, a wired interface and a wireless interface, etc. No longer.
- RF radio frequency
- the data node integrates part of the functions of the original blockchain client node, and the processor 32 implements the following steps when executing the data node implementation program 30 stored in the memory 31:
- Request receiving step receiving a request from the application to execute the corresponding smart contract, the request including execution parameters;
- Endorsement and execution steps endorse the smart contract, execute the smart contract according to the execution parameters after the smart contract is endorsed, and send the contract execution result and the corresponding request to the consensus node group;
- Block receiving step receiving the block formed by the consensus node group according to the contract execution result and the corresponding request.
- Result returning step returning the contract execution result to the application terminal.
- FIG. 3 it is a schematic flowchart of the first embodiment of the blockchain implementation method of this application.
- the method includes the following steps:
- the data node receives the request for executing the corresponding smart contract sent by the application.
- the data node may be any data node that establishes a connection with the application end, such as the data node 3.
- the application end can be any electronic device with data transceiving function.
- the user can send a request to execute the corresponding smart contract on the application end to the blockchain system.
- the application end can select the nearest data node Make a connection and send a request.
- the smart contract is also called a "programmable contract", which is a collection of a piece of code and data, that is, a contract is defined by program coding, and execution conditions are preset, and the preset behavior is executed when the execution conditions are triggered.
- the "intelligence” is execution intelligence, that is, when a certain preset condition (for example, through endorsement) is reached, the contract is automatically executed.
- the essence of a smart contract is a collection of some execution tasks. When the preset conditions in the contract are met, the predefined execution tasks are executed.
- execution tasks can include operations and transactions, and execution requests for operations and transactions can be initiated by users.
- the content corresponding to the request may be " ⁇ "contract”: “ClearBank”, “param”: ⁇ "args”: ["100”] ⁇ ", where "ClearBank” represents a smart contract
- the name of "100” means the execution parameter.
- the request may also include user identity information, smart contract number, smart contract calling address, etc., which will not be repeated here.
- the smart contract can be a preset smart contract, or a determined smart contract generated according to the request.
- the smart contract can be written, compiled, and published, and can be broadcast in the blockchain system 1. , Can be stored on each node in the blockchain system 1.
- the endorsement strategy is determined, that is, the nodes that need to endorse the smart contract and the endorsement rules are determined.
- the application side usually chooses to establish a connection with the data node that needs to endorse the smart contract. Specifically, the application end may establish a connection with the data node through a Transport Layer Security (TLS). In order to ensure communication security, the data node and the application end may pass multiple handshake (Handshake) through TLS mutual authentication to establish a connection.
- TLS Transport Layer Security
- the application side sends a request to execute the corresponding smart contract to the data node through the established connection, and the data node receives the request to execute the corresponding smart contract sent by the application side.
- step S310 the data node endorses the smart contract. After the smart contract passes the endorsement, the smart contract is executed according to the execution parameters in the request, and the contract execution result and the corresponding request are sent to the consensus node group.
- the data node can endorse the smart contract by way of digital signature. If the smart contract is endorsed, Then the data node will execute the smart contract according to the execution parameters, and then send the contract execution result and the corresponding request to the consensus node group;
- the consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form a block, and send the formed block to the data node.
- the consensus algorithm may be a Proof of Work (PoW) algorithm, a Proof of Stake (PoS) algorithm, a Practical Byzantine Fault Tolerance (PBFT) algorithm, a commission Any of the Delegated Proof of Stake (DPoS) algorithm, Raft algorithm, or Ripple algorithm.
- the consensus node group After the consensus node group receives the contract execution result sent by the data node and the corresponding request, it can execute the smart contract according to the request, verify the validity of the contract execution result, and verify as The effective contract execution result and the corresponding request plus the serial number.
- the serial number reaches the preset serial number threshold or the preset time threshold, the contract execution result and the corresponding request are packaged to form a block, and the formed area The block is sent to the data node.
- Step S330 the data node broadcasts the block to all other data nodes, and returns the contract execution result to the application side.
- the block can be broadcast to all other data nodes, and each data node stores the block in the local blockchain In, to achieve data synchronization.
- the data node may also return the contract execution result to the application terminal, and then disconnect the application terminal.
- a second embodiment of the blockchain implementation method is proposed based on the above embodiment.
- FIG. 4 it is a schematic flowchart of the second embodiment of the blockchain implementation method of this application.
- the data node is only one of the endorsing nodes specified by the endorsement policy determined by the smart contract, and the data node needs to forward the request to other endorsing nodes specified by the endorsement policy, that is Other data nodes that need to endorse the smart contract, so step S310 will be replaced by steps S311-S313.
- Step S311 the data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract. Specifically, each data node holds a set of key pairs, the public key in the key pair is known by all data nodes in the blockchain system and the consensus node group, and the private key in the key pair is only Each data node itself holds.
- the data node forwards the request to other data nodes it first uses a predetermined hash function (such as SHA-256 or MD5) to hash the request, generates a first request digest, and uses its own private The key encrypts the first request digest, and the encrypted first request digest will be sent to other data nodes together with the request as the digital signature of the request.
- a predetermined hash function such as SHA-256 or MD5
- other data nodes After receiving the request, other data nodes first use the predetermined hash function to calculate the second request digest from the received request, and then use the public key of the digital node to decrypt the digital signature attached to the request If the decrypted request digest is the same as the second request digest, the data node that receives the request confirms that the digital signature belongs to the data node, and the received request comes from the data node and has not been tampered with.
- Data transmission within the blockchain system can usually use similar data signature technology to ensure data security, including data transmission between data nodes and consensus node groups. For the convenience of narrative and highlight the key points, this application does not emphasize this. Part.
- each consensus node in the consensus node group can also hold a key pair, and the data transmission between the consensus node group and the data node and the data transmission between the consensus nodes within the consensus node group can be adopted Data signature technology guarantees data security, so I won’t repeat it here.
- Step S312 The data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters.
- the endorsement strategy determined by the smart contract when the smart contract collects endorsements from a preset number of data nodes among the multiple data nodes specified by the endorsement strategy, the smart contract is deemed to be endorsed.
- the data nodes that endorse the smart contract can simulate the execution of the smart contract according to the execution parameters, and each data node will get a contract execution result.
- Step S313 verifying whether the contract execution results obtained by each data node executing the smart contract are consistent, if the contract execution results are consistent, then the contract execution results and the corresponding request are sent to the consensus node group, if the If the contract execution results are inconsistent, the data node that receives the application request will return error information to the application. It is understandable that for the same request, if the contract execution result obtained by each data node is consistent, the execution result and the corresponding request will be sent to the consensus node group. If the contract execution result obtained by each data node is inconsistent, then The error message is sent to the application end, and the application end can resend the request or give up executing the corresponding smart contract according to the received error information.
- the data node that receives the application request can determine whether the contract execution result is consistent, and the data node sends the execution result and corresponding request to the consensus node group or The application side returns an error message.
- the blockchain implementation method proposed in the above embodiment integrates part of the functions of the original blockchain client node by the data node, such as verifying whether the execution results of the contract for the same request are consistent, and the user does not need to install the blockchain client on the application side Software, and establishing a connection with relevant data nodes through TLS and completing information transmission not only meets the security requirements, but also reduces the cost of preventing illegal users and the risk of being attacked by Distributed Denial of Service (SSoS). And it helps to reduce network interaction, reduce system latency, and improve the overall performance of the blockchain system.
- SoS Distributed Denial of Service
- the block chain implementation method in the embodiment of the application is described above, and the block chain implementation device in the embodiment of the application is described below.
- the block chain implementation device in the embodiment of the application includes:
- the receiving module is used to perform the receiving step: the data node receives a request sent by the application to execute the corresponding smart contract, and the request includes execution parameters;
- the endorsement and execution module is used to perform the steps of receiving endorsement and execution: the data node endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters, and executes the contract The result and the corresponding request are sent to the consensus node group;
- the consensus module is used to perform the consensus steps: the consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests, form blocks, and send the formed blocks to the data Node; and
- the return module is used to perform the return step: the data node returns the contract execution result to the application side.
- block chain implementation device further includes:
- the data node establishes a connection with the application terminal through a secure transport layer protocol and completes information transmission;
- connection is disconnected after the returning step.
- endorsement and execution modules are specifically used for:
- the data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract;
- the data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters;
- the data node that receives the application request will return error information to the application.
- the consensus module is specifically used to:
- the consensus algorithm is PoW algorithm, PoS algorithm, PBFT algorithm, Raft algorithm, DPoS algorithm or Ripple algorithm.
- block chain implementation device further includes:
- the data node broadcasts the block to all other data nodes
- the present application also provides a computer-readable storage medium.
- the computer-readable storage medium may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium.
- the computer-readable storage medium stores computer instructions, and when the computer instructions are executed on the computer, the computer executes the following steps:
- Request receiving step receiving a request from the application to execute the corresponding smart contract, the request including execution parameters;
- Endorsement and execution steps endorse the smart contract, execute the smart contract according to the execution parameters after the smart contract is endorsed, and send the contract execution result and the corresponding request to the consensus node group;
- Block receiving step receiving the block formed by the consensus node group according to the contract execution result and the corresponding request.
- Result returning step returning the contract execution result to the application terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims (20)
- 一种区块链实现方法,所述区块链实现方法包括:A block chain realization method, the block chain realization method includes:接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;Receiving step: the data node receives a request sent by the application to execute the corresponding smart contract, and the request includes execution parameters;背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;Endorsement and execution steps: the data node endorses the smart contract, after the smart contract is endorsed, executes the smart contract according to the execution parameters, and sends the contract execution result and the corresponding request to the consensus node group;共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及Consensus step: The consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form blocks, and send the formed blocks to the data nodes; and返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。Return step: The data node returns the contract execution result to the application side.
- 如权利要求1所述的区块链实现方法,所述区块链实现方法还包括:The block chain realization method according to claim 1, the block chain realization method further comprises:所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;The data node establishes a connection with the application terminal through a secure transport layer protocol and completes information transmission;在所述返回步骤后断开该连接。The connection is disconnected after the returning step.
- 如权利要求1或2所述的区块链实现方法,所述背书和执行步骤被替换为:According to the block chain implementation method of claim 1 or 2, the endorsement and execution steps are replaced with:所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;The data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract;接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;The data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters;验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;Verify whether the contract execution results obtained by each data node executing the smart contract are consistent;若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;If the contract execution result is consistent, then the contract execution result and the corresponding request are sent to the consensus node group;若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。If the contract execution results are inconsistent, the data node that receives the application request will return error information to the application.
- 如权利要求1所述的区块链实现方法,所述区块链实现方法还包括:The block chain realization method according to claim 1, the block chain realization method further comprises:所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。The consensus algorithm is PoW algorithm, PoS algorithm, PBFT algorithm, Raft algorithm, DPoS algorithm or Ripple algorithm.
- 如权利要求1所述的区块链实现方法,所述区块链实现方法还包括:The block chain realization method according to claim 1, the block chain realization method further comprises:所述数据节点将所述区块广播至所有其他数据节点;The data node broadcasts the block to all other data nodes;所有数据节点将所述区块加入到本地区块链中。All data nodes add the block to the local blockchain.
- 一种区块链实现装置,所述区块链实现装置包括:A block chain realization device, the block chain realization device includes:接收模块,用于执行接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;The receiving module is used to perform the receiving step: the data node receives a request sent by the application to execute the corresponding smart contract, and the request includes execution parameters;背书和执行模块,用于执行接收背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;The endorsement and execution module is used to perform the steps of receiving endorsement and execution: the data node endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters, and executes the contract The result and the corresponding request are sent to the consensus node group;共识模块,用于执行共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及The consensus module is used to perform the consensus steps: the consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests, form blocks, and send the formed blocks to the data Node; and返回模块,用于执行返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。The return module is used to perform the return step: the data node returns the contract execution result to the application side.
- 如权利要求6所述的区块链实现装置,所述区块链实现装置还包括:The block chain realization device according to claim 6, the block chain realization device further comprising:所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;The data node establishes a connection with the application terminal through a secure transport layer protocol and completes information transmission;在所述返回步骤后断开该连接。The connection is disconnected after the returning step.
- 如权利要求6或7所述的区块链实现装置,所述背书和执行模块具体用于:According to the block chain implementation device of claim 6 or 7, the endorsement and execution module is specifically used for:所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;The data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract;接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;The data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters;验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;Verify whether the contract execution results obtained by each data node executing the smart contract are consistent;若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;If the contract execution result is consistent, then the contract execution result and the corresponding request are sent to the consensus node group;若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。If the contract execution results are inconsistent, the data node that receives the application request will return error information to the application.
- 如权利要求6所述的区块链实现装置,所述共识模块具体用于:According to the block chain implementation device of claim 6, the consensus module is specifically used for:所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。The consensus algorithm is PoW algorithm, PoS algorithm, PBFT algorithm, Raft algorithm, DPoS algorithm or Ripple algorithm.
- 如权利要求6所述的区块链实现装置,所述区块链实现装置还包括:The block chain realization device according to claim 6, the block chain realization device further comprising:所述数据节点将所述区块广播至所有其他数据节点;The data node broadcasts the block to all other data nodes;所有数据节点将所述区块加入到本地区块链中。All data nodes add the block to the local blockchain.
- 一种区块链实现***,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:A blockchain implementation system includes a memory, a processor, and a computer program stored on the memory and capable of running on the processor, and the processor implements the following steps when the processor executes the computer program:接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;Receiving step: the data node receives a request sent by the application to execute the corresponding smart contract, and the request includes execution parameters;背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;Endorsement and execution steps: the data node endorses the smart contract, after the smart contract is endorsed, executes the smart contract according to the execution parameters, and sends the contract execution result and the corresponding request to the consensus node group;共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及Consensus step: The consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form blocks, and send the formed blocks to the data nodes; and返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。Return step: The data node returns the contract execution result to the application side.
- 如权利要求11所述的区块链实现***,所述处理器执行所述计算机程序实现所述区块链实现方法时,还包括如下步骤:The blockchain implementation system according to claim 11, when the processor executes the computer program to implement the blockchain implementation method, it further comprises the following steps:所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;The data node establishes a connection with the application terminal through a secure transport layer protocol and completes information transmission;在所述返回步骤后断开该连接。The connection is disconnected after the returning step.
- 如权利要求11或12所述的区块链实现***,所述处理器执行所述计算机程序实现所述背书和执行步骤时,包括以下步骤:According to the blockchain implementation system of claim 11 or 12, when the processor executes the computer program to implement the endorsement and execution steps, it includes the following steps:所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;The data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract;接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;The data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters;验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;Verify whether the contract execution results obtained by each data node executing the smart contract are consistent;若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;If the contract execution result is consistent, then the contract execution result and the corresponding request are sent to the consensus node group;若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。If the contract execution results are inconsistent, the data node that receives the application request will return error information to the application.
- 如权利要求11所述的区块链实现***,所述处理器执行所述计算机程序实现所述区块链实现方法时,还包括如下步骤:The blockchain implementation system according to claim 11, when the processor executes the computer program to implement the blockchain implementation method, it further comprises the following steps:所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。The consensus algorithm is PoW algorithm, PoS algorithm, PBFT algorithm, Raft algorithm, DPoS algorithm or Ripple algorithm.
- 如权利要求11所述的区块链实现***,所述处理器执行所述计算机程序实现所述区块链实现方法时,还包括如下步骤:The blockchain implementation system according to claim 11, when the processor executes the computer program to implement the blockchain implementation method, it further comprises the following steps:所述数据节点将所述区块广播至所有其他数据节点;The data node broadcasts the block to all other data nodes;所有数据节点将所述区块加入到本地区块链中。All data nodes add the block to the local blockchain.
- 一种计算机可读存储介质,所述计算机可读存储介质中存储计算机指 令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:A computer-readable storage medium in which computer instructions are stored, and when the computer instructions are run on a computer, the computer is caused to perform the following steps:接收步骤:数据节点接收应用端发送的执行对应智能合约的请求,该请求中包括执行参数;Receiving step: the data node receives a request sent by the application to execute the corresponding smart contract, and the request includes execution parameters;背书和执行步骤:所述数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约,并将合约执行结果以及对应的请求发送至共识节点群;Endorsement and execution steps: the data node endorses the smart contract, after the smart contract is endorsed, executes the smart contract according to the execution parameters, and sends the contract execution result and the corresponding request to the consensus node group;共识步骤:所述共识节点群采用预先确定的共识算法对接收到的合约执行结果以及对应的请求进行共识排序,形成区块,并将形成的区块发送给所述数据节点;及Consensus step: The consensus node group uses a predetermined consensus algorithm to perform consensus sorting on the received contract execution results and corresponding requests to form blocks, and send the formed blocks to the data nodes; and返回步骤:所述数据节点将所述合约执行结果返回给所述应用端。Return step: The data node returns the contract execution result to the application side.
- 如权利要求16所述的计算机可读存储介质,当所述计算机指令在计算机上运行区块链实现方法的步骤时,使得计算机执行如下步骤:The computer-readable storage medium according to claim 16, when the computer instructions run the steps of the blockchain implementation method on the computer, the computer is caused to perform the following steps:所述数据节点通过安全传输层协议与所述应用端建立连接并完成信息传输;The data node establishes a connection with the application terminal through a secure transport layer protocol and completes information transmission;在所述返回步骤后断开该连接。The connection is disconnected after the returning step.
- 如权利要求16或17所述的计算机可读存储介质,当多数计算机指令在计算机上运行区块链实现方法的步骤时,使得计算机执行如下步骤:According to the computer-readable storage medium of claim 16 or 17, when most computer instructions run the steps of the blockchain implementation method on the computer, the computer is caused to perform the following steps:所述数据节点将所述请求转发给所述智能合约确定的背书策略指定的其他数据节点;The data node forwards the request to other data nodes specified by the endorsement policy determined by the smart contract;接收到所述请求的数据节点对所述智能合约进行背书,在所述智能合约通过背书后,根据所述执行参数执行所述智能合约;The data node that receives the request endorses the smart contract, and after the smart contract passes the endorsement, executes the smart contract according to the execution parameters;验证执行所述智能合约的各个数据节点得到的合约执行结果是否一致;Verify whether the contract execution results obtained by each data node executing the smart contract are consistent;若所述合约执行结果一致,则将该合约执行结果以及对应的请求发送至所述共识节点群;If the contract execution result is consistent, then the contract execution result and the corresponding request are sent to the consensus node group;若所述合约执行结果不一致,则由接收所述应用端请求的数据节点将错误信息返回给所述应用端。If the contract execution results are inconsistent, the data node that receives the application request will return error information to the application.
- 如权利要求16所述的计算机可读存储介质,当所述计算机指令在计算机上运行区块链实现方法的步骤时,使得计算机执行如下步骤:The computer-readable storage medium according to claim 16, when the computer instructions run the steps of the blockchain implementation method on the computer, the computer is caused to perform the following steps:所述共识算法为PoW算法、PoS算法、PBFT算法、Raft算法、DPoS算法或Ripple算法。The consensus algorithm is PoW algorithm, PoS algorithm, PBFT algorithm, Raft algorithm, DPoS algorithm or Ripple algorithm.
- 如权利要求16所述的计算机可读存储介质,当所述计算机指令在计算机上运行区块链实现方法的步骤时,使得计算机执行如下步骤:The computer-readable storage medium according to claim 16, when the computer instructions run the steps of the blockchain implementation method on the computer, the computer is caused to perform the following steps:所述数据节点将所述区块广播至所有其他数据节点;The data node broadcasts the block to all other data nodes;所有数据节点将所述区块加入到本地区块链中。All data nodes add the block to the local blockchain.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371484.3A CN110233823A (en) | 2019-05-06 | 2019-05-06 | Block chain implementation method, system and storage medium |
CN201910371484.3 | 2019-05-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020224239A1 true WO2020224239A1 (en) | 2020-11-12 |
Family
ID=67861076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/120679 WO2020224239A1 (en) | 2019-05-06 | 2019-11-25 | Block chain implementation method,device, system and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110233823A (en) |
WO (1) | WO2020224239A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233823A (en) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | Block chain implementation method, system and storage medium |
CN111224782B (en) * | 2019-11-22 | 2021-06-25 | 腾讯科技(深圳)有限公司 | Data verification method based on digital signature, intelligent device and storage medium |
CN110995825B (en) * | 2019-11-29 | 2022-08-26 | 腾讯科技(深圳)有限公司 | Intelligent contract issuing method, intelligent node equipment and storage medium |
CN111240732B (en) * | 2020-01-17 | 2021-05-14 | 腾讯科技(深圳)有限公司 | Method, device, equipment and storage medium for distributing distributed microservice |
CN111478804B (en) * | 2020-03-31 | 2023-04-07 | 上海墨珩网络科技有限公司 | Decentralized flow control method and system based on dynamic block chain |
CN111461722A (en) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | Intelligent contract deployment method, device and equipment |
CN111914299B (en) * | 2020-08-20 | 2021-11-02 | 深圳市腾盟技术有限公司 | Method, device and equipment for optimizing predictive machine interface and storage medium |
CN113592645B (en) * | 2021-07-02 | 2023-11-14 | 中国人民银行数字货币研究所 | Data verification method and device |
CN113542405B (en) * | 2021-07-14 | 2023-10-17 | 广东卓启云链科技有限公司 | Block chain-based network communication system, method, equipment and storage medium |
CN114225381B (en) * | 2022-01-07 | 2022-07-19 | 广州炫动信息科技有限公司 | Battle data processing method and system based on block chain distributed consensus algorithm |
CN117478302B (en) * | 2023-12-28 | 2024-03-01 | 湖南天河国云科技有限公司 | Block chain-based privacy node identity verification method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603698A (en) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | Block chain consensus method based on DPOS and nodes |
US20180299852A1 (en) * | 2015-10-13 | 2018-10-18 | LO3 Energy Inc. | Use of blockchain based distributed consensus control |
CN108805561A (en) * | 2017-04-27 | 2018-11-13 | 中思博安科技(北京)有限公司 | It may have access to the execution method and system of the intelligent contract of multiple block chains |
CN110233823A (en) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | Block chain implementation method, system and storage medium |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118214B (en) * | 2017-06-26 | 2020-11-17 | 华为技术有限公司 | Method and device for operating intelligent contract |
CN108595126B (en) * | 2018-04-27 | 2022-09-02 | 腾讯科技(深圳)有限公司 | Data storage system, query method, query device, server, and storage medium |
CN108648056A (en) * | 2018-05-10 | 2018-10-12 | 中链科技有限公司 | A kind of house lease contract processing method and system based on block chain |
CN108769173B (en) * | 2018-05-21 | 2021-11-09 | 阿里体育有限公司 | Block chain implementation method and equipment for running intelligent contracts |
CN108965468B (en) * | 2018-08-16 | 2021-04-30 | 北京京东尚科信息技术有限公司 | Block chain network service platform, chain code installation method thereof and storage medium |
CN109347941A (en) * | 2018-10-10 | 2019-02-15 | 南京简诺特智能科技有限公司 | A kind of data sharing platform and its implementation based on block chain |
CN109146490B (en) * | 2018-10-11 | 2023-04-07 | 北京京东尚科信息技术有限公司 | Block generation method, device and system |
CN109600366A (en) * | 2018-12-06 | 2019-04-09 | 中链科技有限公司 | The method and device of protection user data privacy based on block chain |
-
2019
- 2019-05-06 CN CN201910371484.3A patent/CN110233823A/en active Pending
- 2019-11-25 WO PCT/CN2019/120679 patent/WO2020224239A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180299852A1 (en) * | 2015-10-13 | 2018-10-18 | LO3 Energy Inc. | Use of blockchain based distributed consensus control |
CN106603698A (en) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | Block chain consensus method based on DPOS and nodes |
CN108805561A (en) * | 2017-04-27 | 2018-11-13 | 中思博安科技(北京)有限公司 | It may have access to the execution method and system of the intelligent contract of multiple block chains |
CN110233823A (en) * | 2019-05-06 | 2019-09-13 | 深圳壹账通智能科技有限公司 | Block chain implementation method, system and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN110233823A (en) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020224239A1 (en) | Block chain implementation method,device, system and storage medium | |
WO2020168937A1 (en) | Block chain multi-party witness method, apparatus and device, and computer-readable storage medium | |
Niruntasukrat et al. | Authorization mechanism for MQTT-based Internet of Things | |
CN106101258B (en) | Interface calling method, device and system of hybrid cloud | |
TWI587672B (en) | Login authentication method, client, server and system | |
US20220239496A1 (en) | Blockchain consensus method, device and system | |
US9363241B2 (en) | Cryptographic enforcement based on mutual attestation for cloud services | |
US8850185B1 (en) | Post attack man-in-the-middle detection | |
CN109347835A (en) | Information transferring method, client, server and computer readable storage medium | |
WO2019084578A1 (en) | Trusted remote proving method, apparatus and system | |
CN103037312A (en) | Message push method and message push device | |
CN109446788B (en) | Identity authentication method and device of equipment and computer storage medium | |
WO2013156531A1 (en) | Secure password-based authentication for cloud computing services | |
CN109981576B (en) | Key migration method and device | |
WO2022183998A1 (en) | Data processing method and apparatus, device, and storage medium | |
EP3598333B1 (en) | Electronic device update management | |
CN102752269A (en) | Cloud computing-based method and system for identity authentication and cloud server | |
Ashik et al. | Designing a fog-cloud architecture using blockchain and analyzing security improvements | |
CN113239375A (en) | Block chain-based privacy factor data sharing system, method, computer device, and medium | |
CN111461720A (en) | Identity verification method and device based on block chain, storage medium and electronic equipment | |
CN111901116B (en) | Identity authentication method and system based on EAP-MD5 improved protocol | |
Hussien et al. | Public auditing for secure data storage in cloud through a third party auditor using modern ciphertext | |
CN111769949A (en) | Management/execution method/system, medium, management/agent terminal for mutual authentication | |
CN112242979A (en) | IP address prefix authentication method and equipment based on block chain system | |
CN113225348B (en) | Request anti-replay verification method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19928237 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19928237 Country of ref document: EP Kind code of ref document: A1 |
|
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 18/03/2022) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19928237 Country of ref document: EP Kind code of ref document: A1 |