WO2018112940A1 - 区块链节点的业务执行方法、装置及节点设备 - Google Patents

区块链节点的业务执行方法、装置及节点设备 Download PDF

Info

Publication number
WO2018112940A1
WO2018112940A1 PCT/CN2016/111850 CN2016111850W WO2018112940A1 WO 2018112940 A1 WO2018112940 A1 WO 2018112940A1 CN 2016111850 W CN2016111850 W CN 2016111850W WO 2018112940 A1 WO2018112940 A1 WO 2018112940A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
target service
transaction
nodes
thin
Prior art date
Application number
PCT/CN2016/111850
Other languages
English (en)
French (fr)
Inventor
王健
谢辉
Original Assignee
深圳前海达闼云端智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海达闼云端智能科技有限公司 filed Critical 深圳前海达闼云端智能科技有限公司
Priority to CN201680003222.6A priority Critical patent/CN107079058B/zh
Priority to PCT/CN2016/111850 priority patent/WO2018112940A1/zh
Publication of WO2018112940A1 publication Critical patent/WO2018112940A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the present disclosure relates to the field of information technology, and in particular, to a service execution method, apparatus, and node device of a blockchain node.
  • a blockchain is a decentralized distributed database system in which all nodes in a blockchain network participate in maintenance. It is composed of a series of data blocks generated by cryptography, and each block is a blockchain. One block. According to the order of the generation time, the blocks are linked together in an orderly manner to form a data chain, which is aptly called a blockchain.
  • Blockchain has its own unique block generation, transaction generation and verification protocols, with security features such as unchangeable, unforgeable and fully traceable.
  • the blockchain network is based on a P2P network, and each P2P network node participating in transaction and block storage, verification, and forwarding is a node in a blockchain network.
  • the node writes data to the blockchain by issuing a transaction to the blockchain network.
  • the transaction issued by the node includes: a transaction data packet generated by the node according to a preset transaction data format, and a digital signature of the transaction data packet by using the node's own private key. A digital signature is used to prove the identity of the node.
  • the transactions issued by the node are broadcast to all nodes in the blockchain network.
  • a mining node with a "miner" function in the blockchain network constructs a new empty block as a candidate block. After the field filling of the block header is completed, the mining machine starts mining, and the goal is to find a random number (nonce) that makes the block head hash value smaller than the difficulty target. The mining machine that solves the problem, puts the result into the block header and sends it to all its neighbors. These nodes will continue to pass this block after receiving and verifying this new block. Each node adds the block to the blockchain copy of its own node.
  • each node forwards it to other nodes. Before, a series of tests will be performed to verify it. If it is not verified, the block will be rejected; when the transaction contained in the block is valid, all nodes accept the block.
  • a block is a container data structure that is aggregated with transaction information contained in a blockchain.
  • Each block includes a block header and a block body.
  • the block body records all transaction information for a period of time before the record.
  • the block header includes: version number (4 bytes for tracking software/protocol updates), parent block hash value (32 bytes, reference to the hash of the parent block in the blockchain) Value), merkle root (32 bytes, hash of the merkle root of the transaction in the block, merkle_root_hash), timestamp (4 bytes, approximate time generated by the block), difficulty target (4 bytes, The difficulty of the block power proof algorithm), the random number (4 bytes, the counter of the workload proof algorithm).
  • a node that needs to synchronize all block data (including a block header and a block body) of a blockchain is a full node, and only a node that needs to synchronize the block header information is an SPV node (spv) Node). Since all nodes need to synchronize all block data, it will occupy a large storage space. Therefore, compared with the full node, the SPV node can avoid synchronizing a large amount of block data and save storage space because only the block header needs to be synchronized.
  • the advantage of the SPV node relative to the whole node is that the storage space is saved, but whether it is an SPV node or a full node, the block header or block data needs to be downloaded, and thus the blockchain in the related art has at least the following problems:
  • the node For battery-powered node devices, the node keeps the connection with other nodes in the blockchain and continuously synchronizes new block headers or blocks, resulting in a large amount of power consumption and network traffic consumption, making the standby time of the node devices greatly reduce.
  • the present disclosure provides a service execution method, apparatus, and node device of a blockchain node.
  • a first aspect of the disclosure provides a method for performing a service of a blockchain node, where the method includes:
  • a second aspect of the present disclosure provides a method for performing a service of a blockchain node, where the method includes:
  • the thin node Responding to the connection request of the thin node, establishing a connection with the thin node, where the thin node is a node in the blockchain network that does not need to store the block and the block header;
  • a third aspect of the present disclosure provides a service execution apparatus for a blockchain node, where the apparatus includes:
  • connection module configured to establish a connection with one or more discovered supervisor nodes, the supervisor node being a full node in the blockchain network;
  • a target service execution module configured to, when a target service needs to be executed, invoke a function interface provided by the one or more supervisor nodes corresponding to the target service or send a request to the one or more supervisor nodes to pass The one or more supervisor nodes execute the target service, wherein the request includes information required to execute the target service.
  • a fourth aspect of the present disclosure provides a service execution apparatus for a blockchain node, the device package include:
  • connection module configured to establish a connection with the thin node in response to a connection request of the thin node, where the thin node is a node in the blockchain network that does not need to store a block and a block header;
  • the target service execution module is configured to provide a function interface for executing the target service of the thin node or a request for performing target service execution sent by the thin node to execute the target service for the thin node.
  • a fifth aspect of the present disclosure provides a node device, including:
  • a memory for storing processor executable instructions
  • the processor is configured to establish a connection with the discovered one or more supervisory nodes, the supervisory node being a full node in the blockchain network; and when the target service needs to be executed, calling the one or more a function interface provided by the supervisor node corresponding to the target service or sending a request to the one or more supervisory nodes to perform the target service by the one or more supervisor nodes, wherein the request includes execution The information required for the target business.
  • a sixth aspect of the present disclosure provides a node device, including:
  • a memory for storing processor executable instructions
  • the processor is configured to establish a connection with the thin node in response to a connection request of the thin node, where the thin node is a node in the blockchain network that does not need to store a block and a block header; a function interface of the target service of the thin node or a request for execution of the target service sent by the thin node, to perform the target service for the thin node.
  • a computer program product characterized in that the computer program product comprises a computer program executable by a programmable device, the computer program having when executed by the programmable device A code portion of a service execution method for the blockchain node of the first aspect described above.
  • An eighth aspect of the present disclosure provides a non-transitory computer readable storage medium including one or more programs for performing the second The business execution method of the blockchain node.
  • a ninth aspect of the present disclosure provides a node device, including:
  • One or more processors for executing a program in the non-transitory computer readable storage medium.
  • a computer program product characterized in that the computer program product comprises a computer program executable by a programmable device, the computer program having when executed by the programmable device A code portion of a service execution method for the blockchain node of the second aspect above.
  • An eleventh aspect of the present disclosure provides a non-transitory computer readable storage medium, wherein the non-transitory computer readable storage medium includes one or more programs for the one or more programs The method for performing a service of a blockchain node described in the second aspect above.
  • a node device including:
  • One or more processors for executing a program in the non-transitory computer readable storage medium.
  • the embodiment of the present disclosure implements a corresponding function for the thin node by the supervisor node, so that the thin node does not need to synchronize any block header or block data, no matter when the node is started, once the startup is started, the corresponding service can be performed without waiting for the block synchronization, thereby improving Efficiency, saves time; and does not require constant block synchronization, saving power and network traffic and improving user experience.
  • FIG. 1 is a schematic diagram of a blockchain network in accordance with an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of a service execution method of a blockchain node according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a thin node directly establishing a connection with a supervisor node according to an embodiment of the present disclosure
  • FIG. 4 is a schematic diagram of establishing a connection between a thin node and a supervisor node according to another embodiment of the present disclosure
  • FIG. 5 is a schematic flowchart of a service execution method of a blockchain node according to an embodiment of the present disclosure
  • FIG. 6 is a schematic flowchart of a target service when a transaction is issued according to an embodiment of the present disclosure
  • FIG. 7 is a schematic flow chart of transaction verification according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart of information query according to an embodiment of the present disclosure.
  • FIG. 9 is a block diagram of a service execution apparatus of a blockchain node according to an embodiment of the present disclosure.
  • FIG. 10 is a block diagram of a service execution apparatus of a blockchain node according to another embodiment of the present disclosure.
  • FIG. 11 is a block diagram of an apparatus for a service execution method of a block chain node, according to an exemplary embodiment.
  • the node of the embodiment of the present disclosure implements the corresponding function through the supervisor node, and does not need to synchronize any block header or block data, no matter when the thin node is started, the corresponding service can be performed once started, without waiting for the block synchronization, improving efficiency. , saving time; and does not require constant block synchronization, Save power and network traffic and enhance the user experience.
  • the blockchain network 100 includes: a plurality of nodes. These nodes may be implemented in various forms, for example, may include, for example, a cell phone, a smart phone, a notebook computer, a digital broadcast receiver, a PDA (Personal Digital Assistant), a PAD (Tablet), a PMP (Portable Multimedia Player), a server, Mining machine (a device that can perform PoW (Proof Of Work) consensus competition mechanism).
  • a cell phone a smart phone
  • a notebook computer a digital broadcast receiver
  • PDA Personal Digital Assistant
  • PAD Tablett
  • PMP Portable Multimedia Player
  • server Mining machine (a device that can perform PoW (Proof Of Work) consensus competition mechanism).
  • the node 101, the node 103, the node 105, ..., etc. are all nodes, and the node 102, the node 104, the node 106, ..., etc. are thin nodes.
  • the nodes in the whole node that can provide corresponding functions for the thin nodes may include query information, publish transactions, perform transaction verification, and the like.
  • Each thin node is connected to one or more supervisor nodes.
  • one or more supervisor nodes connected by the thin node in addition to having the attributes of a common full node (storing a complete blockchain, capable of independently verifying all transactions), also providing corresponding nodes for the thin nodes Features.
  • the thin node does not need to store the block header or block data, but the corresponding function can be realized by the competent node connected thereto.
  • the thin node establishes a connection with one or more supervisor nodes through a protocol discovered by the P2P network.
  • the supervisor nodes existing in the network are discovered, and one or more supervisor nodes existing in the network are randomly selected to establish a connection with them.
  • the new thin node discovers the supervisor node and establishes a connection with the supervisor node by the following methods:
  • Each thin node maintains a list of the competent nodes that are running stably for a long time.
  • the list may include the IP address of the supervisor node, the device name, the node status (for example, the number of new blocks generated, the network bandwidth, etc.), the computing power, and the like.
  • these supervisor nodes can be discovered according to the IP address in the list, and a connection is established with one or more of the supervisor nodes.
  • the new thin node provides at least one host node's IP address when it starts up (for example) For example, it is provided by the designated node to the new thin node, or is actively acquired by the new thin node from the designated node, whereby the new thin node can establish a connection with at least one supervisor node through the IP address.
  • FIG. 2 is a schematic flowchart of a service execution method of a blockchain node according to an embodiment of the present disclosure. The method is applied to a thin node device, and includes the following steps:
  • step 201 the thin node establishes a connection with the discovered one or more supervisory nodes, which are all nodes in the blockchain network.
  • the thin node and the supervisor node directly establish a connection with the host node.
  • the thin node can use the TCP protocol to establish a connection with the supervisor node using the corresponding port (for example, port 8333).
  • the thin node initiates a "handshake" communication process by sending a version message containing the basic identification information.
  • the Version message includes the IP address of the thin node.
  • the supervisor node that receives the version message responds with a verack message and establishes a connection.
  • the blockchain network is a license chain network
  • the license chain network is a private chain, which refers to the operation authority restriction on the account in the license chain
  • the network access, transfer, deployment contract, and call contract of the node are controlled. Therefore, when the thin node finds the supervisor node and establishes a connection with the supervisor node, the supervisor node needs to authenticate the thin node.
  • the thin node sends an authentication request to the discovered supervisor node, where the authentication request includes information such as account information and public key of the thin node itself.
  • step 402 the supervisor node queries whether the account corresponding to the public key exists in the blockchain according to the received authentication request, and if so, generates a challenge code.
  • step 403 the authentication request reply information is sent to the thin node, where the challenge request reply information includes a challenge code.
  • step 404 the thin node signs the challenge code using its own account private key.
  • step 405 the thin node sends the authentication information to the supervisor node, and the authentication information includes the challenge code after the private key signature.
  • step 406 the supervisor node verifies that the signature is correct using the account public key, and if correct, establishes a connection with the thin node.
  • the one or more supervisor nodes when a newly activated thin node is connected to any one or more supervisor nodes After that, the one or more supervisor nodes can also provide information of other supervisor nodes, thereby realizing that the thin node can establish a connection with a certain number of supervisor nodes.
  • a certain number may be fixed n or may be adjusted according to the number of nodes in the blockchain network to ensure the security of the thin node when performing corresponding services through the supervisor node.
  • the supervisor node provides a functional interface for the thin node connected thereto through the web service, so that the thin node can implement the corresponding function.
  • Web services are a kind of remote calling technology across programming languages and cross-operating system platforms.
  • the supervisor node provides an API that can be called by the thin node through the web, and the thin node performs a remote call through the Remote Call Protocol (RPC) to implement the corresponding function.
  • RPC Remote Call Protocol
  • information exchange between the thin node and the supervisor node is performed through a network protocol, such as an HTTP protocol, a scoket protocol, and the like.
  • step 202 when the target service needs to be executed, a function interface corresponding to the target service provided by one or more supervisor nodes is invoked or a request is sent to one or more supervisor nodes to perform the target service through one or more supervisor nodes. , wherein the request includes information required to perform the target business.
  • the supervisor node may provide at least a function of performing the following target services: information query, information acquisition required for the transaction, transaction issuance, and verification of whether a transaction is valid.
  • the functions of the thin node include: discovering the supervisor node, connecting the supervisor node, generating and signing the transaction, sending the transaction, querying the information, and managing the account.
  • FIG. 5 is a schematic flowchart of a service execution method of a blockchain node according to an embodiment of the present disclosure. The method is applied to a master node device, corresponding to a thin node, and the method includes the following steps:
  • step 501 the supervisor node establishes a connection with the thin node in response to the connection request of the thin node, and the thin node is a node in the blockchain network that does not need to store the block and the block header.
  • the supervisor node provides a functional interface for performing the target service of the thin node or a request for the target service execution sent by the thin node to perform the target service for the thin node.
  • FIG. 6 a schematic diagram of a process when a target service is a release transaction according to an embodiment of the present disclosure.
  • step 601 when the thin node needs to publish a transaction, the information required to generate the transaction is obtained from the supervisor node connected thereto.
  • the information necessary to generate a transaction is different.
  • the Bitcoin blockchain requires UXTO information
  • the Ethereum blockchain requires nonce, gas and other information.
  • the thin node can obtain the corresponding information according to the blockchain involved in the transaction by calling the function interface provided by the supervisor node.
  • the thin node invokes the corresponding functional interface of the supervisor node to obtain the information necessary to generate the transaction.
  • the thin node generates a transaction, and the corresponding function interface that needs to be called is "the information required for transaction acquisition”.
  • the supervisor node provides a function interface through the web service, the thin node can call the function interface of "required information acquisition" through the remote call protocol (RPC), thereby obtaining the information necessary for generating the transaction.
  • RPC remote call protocol
  • the thin node can request the information necessary for the transaction from the supervisor node by means of "sending a request".
  • step 602 the thin node generates a transaction based on the acquired information.
  • step 603 the thin node decrypts the encrypted private key ciphertext to obtain a private key.
  • the thin node can encrypt and store the private key.
  • the encryption storage includes, but is not limited to, using a password to generate a seed for the encryption key, and using a Secure Element (SE) secure storage.
  • SE Secure Element
  • step 604 the generated transaction is signed with the private key.
  • step 605 the transaction signed by the private key is sent to the supervisor node.
  • the thin node can send the transaction signed by the private key to the competent node by calling the transaction sending function interface of the supervisor node, and the master node issues the transaction to the blockchain network.
  • the transaction signed by the private key can be sent to all the supervisory nodes having the connection relationship to ensure The security and success rate of the transaction.
  • step 606 the supervisor node verifies the legality of the transaction, and if the transaction is legal, the transaction signed by the private key is sent to the blockchain network.
  • the transaction after the thin node private key is signed may indicate the identity of the transaction publisher.
  • the supervisor node can verify the account identity and transaction content in the transaction information to determine the legality of the transaction. If the transaction is legal, the transaction issued by the thin node is sent to each node in the blockchain.
  • the transaction is recorded by the “miner” (block chain node performing the PoW consensus competition mechanism) into the generated new block, and then released to the blockchain network, and verified and passed by other blockchain nodes, the transaction data is written.
  • the blockchain that is, the transaction issued by the thin node, is recorded in a block of the blockchain.
  • the supervisor node returns information to the thin node after the transaction is written to the blockchain, ie, after the transaction takes effect.
  • the thin node can check whether the transaction is valid through the competent node connected thereto, that is, the target service is to verify the validity of the transaction, and the verification thereof.
  • the process includes the following steps:
  • step 701 when the thin node needs to verify the validity of a transaction, it sends an authentication request to each of the supervisor nodes connected thereto or invokes a corresponding function interface (ie, a transaction verification function interface) provided by the supervisor node.
  • a corresponding function interface ie, a transaction verification function interface
  • the thin node can verify whether a transaction has been mined (that is, recorded in a certain block) by calling the function interface of the "transaction verification" provided by the supervisor node.
  • each of the supervisor nodes performs verification based on the information of the thin nodes.
  • the supervisor node searches for a blockchain based on the information (hash value) of the transaction issued by the thin node, and determines whether the transaction is recorded in a certain block. And based on the location of the block in the blockchain, determine how much confirmation the block gets.
  • each supervisor node sends the verification result to the thin node.
  • step 704 the thin node determines whether the number of supervisory nodes whose verification results are consistent exceeds a preset threshold according to the verification result of the return of each of the supervisor nodes.
  • step 705 if the number of supervisor nodes whose verification results are consistent exceeds a preset threshold, the verification result is confirmed.
  • step 706 if the number of supervisory nodes whose verification results are consistent does not exceed the preset threshold, the verification request is resent or the selection of the supervisor node is re-executed.
  • the thin node in order to ensure security, after receiving the verification result, the thin node needs to perform a judgment. When the number of the competent nodes whose verification result is consistent exceeds a preset threshold, the verification result returned by the supervisor node is trusted. Otherwise, you need to re-verify, or re-select the supervisor node before verifying.
  • the thin node may select a certain number of highly trusted supervisor nodes according to the credibility of the supervisory node, and the returned verification result is the result of the transaction validity verification. If the verification result returned by these nodes is that the transaction is invalid, the thin node can re-issue the transaction.
  • the credibility of the supervisory node may be determined based on the information of the owner of the supervisor node (eg, whether it is a reliable organization, etc.), the number of blocks generated by the supervisory node, the computing power of the supervisory node, the network stability status of the supervisory node, and the like.
  • the thin node in order to ensure that the thin node performs security of the target service, when the thin node receives feedback information of at least two supervisor nodes, and the number of the supervisory nodes whose feedback information is consistent exceeds a preset threshold, , trust the feedback received.
  • the supervisor node is reselected for connection.
  • the feedback information of the trusted node with high trustworthiness is selected.
  • the feedback information includes, but is not limited to, the above-mentioned transaction verification result, the information query result, the challenge code, and the like, and all the feedbacks sent by the supervisory stage to the thin node.
  • a thin node when a thin node needs to perform a target service, it is a letter.
  • For information query for example, when querying account balance and other information, send a query request to the supervisor node or call the corresponding function interface provided by the supervisor node (ie, the query function interface).
  • the thin node can manage its own account information, generate, delete, etc., and encrypt the storage.
  • the manner of encrypting storage includes, but is not limited to, using a password to generate a seed for an encryption key, using a secure element (SE, cryptographic module), secure storage, and the like.
  • SE secure element
  • secure storage and the like.
  • the supervisor node performs a query according to the account information in the query request and returns the query result to the thin node. It should be understood that, in the embodiment of the present disclosure, when the thin node performs transaction publishing, transaction validity verification, or information query by calling a function interface, the verification result, the query result, and the like may be directly obtained, and the supervisor node is not required to perform feedback. When the thin node uses the "send request" method for transaction publishing, transaction validity verification or information query, the supervisor node feeds back the query result and the verification result.
  • an embodiment of the present disclosure further provides a service execution apparatus of a blockchain node.
  • the apparatus 900 is applied to nodes that do not require storage blocks and block headers, and the apparatus 800 includes:
  • the connection module 901 is configured to establish a connection with the discovered one or more supervisory nodes, where the supervisor node is a full node in the blockchain network;
  • the target service execution module 902 is configured to, when the target service needs to be executed, invoke a function interface provided by the one or more supervisor nodes corresponding to the target service or send a request to the one or more supervisor nodes, to Executing the target service by the one or more supervisor nodes, wherein the request includes information required to execute the target service.
  • the target service execution device 902 includes:
  • a transaction information obtaining submodule configured to, when the target service is a publishing transaction, invoke a function interface obtained by the one or more supervisor nodes for obtaining information required by the transaction, and acquire the generating station from the one or more supervisor nodes The information required for the transaction;
  • a first transaction generating sub-module configured to generate a transaction based on the acquired information
  • a first transaction signature sub-module configured to use the private key to sign the generated transaction
  • a first transaction sending submodule configured to invoke a transaction sending function interface provided by the one or more supervisor nodes to send the private key signed transaction to the one or more supervisor nodes for the one or more After verifying that the transaction of the private key is legal, the plurality of supervisor nodes publish the transaction signed by the private key to the blockchain network.
  • the target service execution device 902 includes:
  • the first transaction verification submodule is configured to invoke a transaction verification function interface of the one or more supervisor nodes to obtain a transaction verification result when the target service is to verify transaction validity.
  • the target service execution device 902 includes:
  • the first information query sub-module is configured to invoke the information query function interface of the one or more supervisor nodes to obtain the query result when the target service is an information query.
  • the target service execution device 902 includes:
  • a transaction request issuance sub-module configured to, when the target service is a publishing transaction, send a request to the one or more supervisory nodes to include blockchain information related to the transaction, from the one or more supervisor nodes Obtaining the information needed to generate the transaction;
  • a second transaction generating sub-module configured to generate a transaction based on the acquired information
  • a second transaction signature sub-module configured to use the private key to sign the generated transaction
  • a second transaction sending submodule configured to send the private key signed transaction to the one or more supervisor nodes for subsequent verification by the one or more supervisor nodes after verifying that the private key signature is valid And publishing the transaction signed by the private key to the blockchain network.
  • the target service execution device 902 includes:
  • the second transaction verification sub-module is configured to, when the target service is to verify the validity of the transaction, send an verification request to the one or more supervisory nodes to obtain a transaction verification result of the transaction that is published by itself.
  • the target service execution device 902 includes:
  • a second information query submodule configured to: when the target service is an information query, to the The one or more supervisor nodes send a query request to obtain a query result, where the query request includes information required for the query.
  • the apparatus 900 further includes:
  • the information determining module 903 is configured to trust the received feedback information when the feedback information of the at least two supervisory nodes is received, and the number of the supervisory nodes whose feedback information is consistent exceeds a preset threshold.
  • the apparatus 900 further includes:
  • the supervisor node reselection module 904 is configured to reselect the supervisor node to connect when receiving feedback information of at least two supervisor nodes and the number of supervisor nodes whose feedback information is consistent does not exceed a preset threshold.
  • connection module 901 includes:
  • An authentication request sending submodule configured to send an authentication request to the one or more supervisor nodes
  • a challenge code receiving submodule configured to receive a challenge code generated by the one or more supervisor nodes according to the authentication request
  • a challenge code sending submodule configured to send authentication information to the one or more supervisor nodes, the authentication information being information signed by the challenge code using a private key
  • a connection establishment sub-module configured to establish a connection with the one or more supervisory nodes after the authentication information is verified by the one or more supervisory nodes.
  • the corresponding disclosure further provides a service execution apparatus for a blockchain node.
  • the apparatus 1000 is applied to a supervisor node, which includes:
  • the connection module 1001 is configured to establish a connection with the thin node in response to a connection request of the thin node, where the thin node is a node in the blockchain network that does not need to store the block and the block header;
  • the target service execution module 1002 is configured to provide a function interface for performing a target service of the thin node or a request for performing target service execution sent by the thin node, to be the thin node Perform the target business.
  • the target service execution module 1002 includes:
  • a first transaction required information providing submodule configured to provide the thin node with information required to generate the transaction when the target service is a publishing transaction, through a function interface acquired by the required information of the transaction;
  • the first transaction issuance sub-module is configured to post the legal transaction generated by the thin node according to the information required by the transaction and signed by the private key to the blockchain network through the transaction sending function interface.
  • the target service execution module 1002 includes:
  • the first transaction verification result obtaining submodule is configured to obtain a transaction verification result for the thin node through the transaction verification function interface when the target service is validating the transaction validity.
  • the target service execution module 1002 includes:
  • the first query result obtaining sub-module is configured to obtain a query result for the thin node through the information query function interface when the target service is an information query.
  • the target service execution module 1002 includes:
  • the request receiving submodule is configured to receive, when the target service is a publishing transaction, a request sent by the thin node, including blockchain information related to the transaction;
  • Transaction required information sending submodule configured to send information required to generate the transaction to the thin node according to the request
  • a transaction receiving submodule configured to receive a transaction generated by the thin node according to information required by the transaction and signed by a private key
  • the second transaction issuance sub-module is configured to post the transaction signed by the private key to the blockchain network after verifying that the transaction after the signature of the private key is legal.
  • the target service execution module 1002 includes:
  • the verification request receiving submodule is configured to receive the verification request sent by the thin node when the target service is validating the transaction transaction;
  • a verification result obtaining submodule configured to acquire a transaction verification result of the transaction issued by the thin node according to the verification request
  • the verification result transmission submodule is configured to send the transaction verification result to the thin node.
  • the target service execution module 1002 includes:
  • the query request receiving submodule is configured to receive a query request sent by the thin node when the target service is an information query, where the query request includes information required for the query;
  • the query result obtaining submodule is configured to obtain a query result according to the query request
  • the query result sending submodule is configured to send the query result to the thin node.
  • connection module 1001 includes:
  • An authentication request receiving submodule configured to receive an authentication request sent by the thin node
  • a challenge code generation submodule configured to generate a challenge code according to the authentication request
  • a challenge code sending submodule configured to send the challenge code to the thin node
  • the authentication information receiving submodule is configured to receive the authentication information sent by the thin node, where the authentication information is information that is signed by the private key to the challenge code;
  • An authentication information verification submodule configured to verify the authentication information
  • connection submodule is configured to establish a connection with the thin node when the verification passes.
  • FIG. 11 is a block diagram of an apparatus 1100 for a service execution method of a blockchain node, which may be a thin node device or a supervisor node device, according to an exemplary embodiment.
  • the apparatus 1100 can include a processor 1101, a memory 1102, a multimedia component 1103, an input/output (I/O) interface 1104, and a communication component 1105.
  • the processor 1101 is configured to control the overall operation of the apparatus 1100 to complete all or part of the service execution method of the blockchain node applied to the thin node device or the host node device. Step by step.
  • the memory 1102 is for storing operating systems, various types of data to support operations at the device 1100, such as instructions for any application or method for operation on the device 1100, and application-related data.
  • the memory 1102 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read only memory ( Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read Only Read-Only Memory (ROM), magnetic memory, flash memory, disk or optical disk.
  • SRAM static random access memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • PROM Programmable Read-Only Memory
  • ROM Read Only Read-Only Memory
  • the multimedia component 1103 can include a screen and an audio component.
  • the screen may be, for example, a touch screen, and the audio component is used to output and/or input an audio signal.
  • the audio component can include a microphone for receiving an external audio signal.
  • the received audio signal may be further stored in memory 1102 or transmitted via communication component 1105.
  • the audio component also includes at least one speaker for outputting an audio signal.
  • the I/O interface 1104 provides an interface between the processor 1101 and other interface modules.
  • the other interface modules may be keyboards, mice, buttons, and the like. These buttons can be virtual buttons or physical buttons.
  • Communication component 1105 is used for wired or wireless communication between the device 1100 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G or 4G, or a combination of one or more of them, so the corresponding communication component 1105 can include: Wi-Fi module, Bluetooth module, NFC module.
  • the device 1100 may be configured by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), and digital signal processing devices (Digital Signal Processors).
  • ASICs Application Specific Integrated Circuits
  • DSPs Digital Signal Processors
  • Digital Signal Processors Digital Signal Processors
  • Processing Device DSPD
  • Programmable Logic Device Programmable Logic Device, referred to as PLD
  • Field Programmable Gate Array FPGA
  • controller microcontroller, microprocessor or other electronic component implementation for performing the above-mentioned area applied to the thin node device or the host node device
  • microcontroller microprocessor or other electronic component implementation for performing the above-mentioned area applied to the thin node device or the host node device
  • microcontroller microprocessor or other electronic component implementation for performing the above-mentioned area applied to the thin node device or the host node device
  • microcontroller microprocessor or other electronic component implementation for performing the above-mentioned area applied to the thin node device
  • a computer program product comprising a computer program executable by a programmable device, the computer program having when executed by the programmable device A code portion of a service execution method for performing the above-described blockchain node applied to a thin node device or a host node device.
  • non-transitory computer readable storage medium comprising instructions, such as a memory 1102 comprising instructions executable by processor 1101 of apparatus 1100 to perform the above-described application to thin The service execution method of the node chain or the blockchain node of the master node device.
  • the non-transitory computer readable storage medium can be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device.
  • Any process or method description in a flowchart or otherwise described in the embodiments of the present disclosure may be understood to represent code that includes one or more executable instructions for implementing the steps of a particular logical function or process. Modules, segments or portions, and the scope of the embodiments of the present disclosure includes additional implementations, in which the functions may be performed in a substantially simultaneous manner or in an inverse order depending on the functions involved, not in the order shown or discussed. This should be understood by those skilled in the art of the embodiments of the present disclosure.

Abstract

一种区块链节点的业务执行方法、装置及节点设备,所述方法包括:瘦节点与发现的一个或多个主管节点建立连接,主管节点为区块链网络中的全节点(201);当需要执行目标业务时,调用一个或多个主管节点提供的与目标业务对应的功能接口或向一个或多个主管节点发送请求,以通过一个或多个主管节点执行目标业务(202),其中,所述请求中包括执行所述目标业务所需的信息。该方法通过主管节点为瘦节点实现相应的功能,使得瘦节点不需要同步任何区块头或区块数据,无论节点何时启动,一旦启动就可进行相应业务,无需等待区块同步,提高效率,节省时间;且不需要不断的进行区块同步,可节省电量和网络流量,提升用户体验。

Description

区块链节点的业务执行方法、装置及节点设备 技术领域
本公开涉及信息技术领域,尤其涉及一种区块链节点的业务执行方法、装置及节点设备。
背景技术
区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链有其特有的区块产生、交易产生和验证协议,具有不可更改、不可伪造和完全可追溯等安全特性。
区块链网络基于P2P网络,每个参与交易和区块存储、验证、转发的P2P网络节点都是一个区块链网络中的节点。节点通过向区块链网络发布交易(Transaction)实现向区块链写入数据。节点发布的交易包括:节点按照预设的交易数据格式生成的交易数据包,以及利用该节点自己的私钥对该交易数据包进行的数字签名。数字签名用于证明该节点的身份。
节点发布的交易,被广播到区块链网络中的所有节点。区块链网络中的具有“矿工”功能的挖矿节点,构建新的空区块,作为候选区块。区块头的字段填充完成后,矿机开始挖矿,目标是找到一个使区块头哈希值小于难度目标的随机数(nonce)。求得解的矿机,将结果放进区块头,发送给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传递此区块。每个节点将该区块加到自身节点的区块链副本中。
当新区块在区块链网络中传递时,每一个节点在将它转发到其它节点之 前,会进行一系列的测试去验证它,若没有通过验证,该区块将被拒绝;当该区块所包含的交易有效时,所有节点接受该区块。
区块是一种被包含在区块链里的聚合了交易信息的容器数据结构。每个区块包括区块头和区块主体。区块主体记录前一段时间内的所有交易信息。
对于比特币区块链,区块头包括:版本号(4字节,用于跟踪软件/协议的更新)、父区块哈希值(32字节,引用区块链中父区块的哈希值)、merkle根(32字节,该区块中交易的merkle树根的哈希值,merkle_root_hash)、时间戳(4字节,该区块产生的近似时间)、难度目标(4字节,该区块功率证明算法的难度目标)、随机数(4字节,工作量证明算法的计数器)。
区块链节点中,需要同步区块链所有区块数据(包括区块头和区块主体)的节点为全节点(full node),而仅需同步区块头部信息的节点为SPV节点(spv node)。由于全节点需要同步所有区块数据,会占用较大的存储空间,因此,相比于全节点,SPV节点由于仅需要同步区块头,可避免同步大量的区块数据,节省存储空间。
SPV节点相对于全节点的优势是节约了存储空间,但无论是SPV节点还是全节点,均需要下载区块头或区块数据,由此相关技术中的区块链,至少存在如下问题:
当节点长时间未启动或网络连接中断时,节点启动或网络恢复后,需要同步大量的区块头或区块数据,才能进行正常的工作和业务。因此,需要等待较长的时间,降低了用户体验。
对于使用电池供电的节点设备,节点一直保持与区块链中其它节点的连接,不断的同步新的区块头或区块,导致了大量的电量消耗和网络流量消耗,使得节点设备的待机时间大大降低。
发明内容
为克服相关技术中存在的问题,本公开提供一种区块链节点的业务执行方法、装置及节点设备。
本公开的第一方面,提供一种区块链节点的业务执行方法,所述方法包括:
与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;
当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
本公开的第二方面,提供一种区块链节点的业务执行方法,所述方法包括:
响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;
提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
本公开的第三方面,提供一种区块链节点的业务执行装置,所述装置包括:
连接模块,被配置为与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;
目标业务执行模块,被配置为当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
本公开的第四方面,提供一种区块链节点的业务执行装置,所述装置包 括:
连接模块,被配置为响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;
目标业务执行模块,被配置为提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
本公开的第五方面,提供一种节点设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器,被配置为与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
本公开的第六方面,提供一种节点设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器,被配置为响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
本公开的第七方面,提供一种计算机程序产品,其特征在于,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于上述第一方面所述的区块链节点的业务执行方法的代码部分。
本公开的第八方面,提供一种非临时性计算机可读存储介质,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行上述第二方面区块链节点的业务执行方法。
本公开的第九方面,提供一种节点设备,包括:
上述第八方面所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开的第十方面,提供一种计算机程序产品,其特征在于,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于上述第二方面的区块链节点的业务执行方法的代码部分。
本公开的第十一方面,提供一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于上述第二方面所述的执行区块链节点的业务执行方法。
本公开的第十二方面,提供一种节点设备,其特征在于,包括:
上述第十一方面所述的非临时性计算机可读存储介质;以及
一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
本公开实施例通过主管节点为瘦节点实现相应的功能,使得瘦节点不需要同步任何区块头或区块数据,无论节点何时启动,一旦启动就可进行相应业务,无需等待区块同步,提高效率,节省时间;且不需要不断的进行区块同步,可节省电量和网络流量,提升用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例的区块链网络的示意图;
图2是本公开一实施例的区块链节点的业务执行方法的流程示意图;
图3是本公开一实施例的瘦节点与主管节点直接建立连接的示意图;
图4是本公开一另实施例的瘦节点与主管节点建立连接的示意图;
图5是本公开一实施例的区块链节点的业务执行方法的流程示意图;
图6是本公开一实施例的目标业务为发布交易时的流程示意图;
图7是本公开一实施例的交易验证的流程示意图;
图8是本公开一实施例的信息查询的流程示意图;
图9是本公开一实施例的区块链节点的业务执行装置的框图;
图10是本公开另一实施例的区块链节点的业务执行装置的框图;
图11是根据一示例性实施例示出的一种用于区块链节点的业务执行方法的装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
本公开实施例的廋节点,通过主管节点实现相应的功能,不需要同步任何区块头或区块数据,无论瘦节点何时启动,一旦启动就可进行相应业务,无需等待区块同步,提高效率,节省时间;且不需要不断的进行区块同步, 可节省电量和网络流量,提升用户体验。
参见图1,为本公开实施例的区块链网络的示意图。区块链网络100中包括:多个节点。这些节点可以各种形式来实施,例如,可以包括诸如手机、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、服务器、矿机(即可执行PoW(Proof Of Work,工作证明)共识竞争机制的设备)等。
其中,节点101、节点103、节点105、……等为全节点,节点102、节点104、节点106、……等为瘦节点。全节点中可为瘦节点提供相应功能的为主管节点,这些功能可包括查询信息、发布交易、进行交易验证等。
每个瘦节点分别与一个或多个主管节点连接。在本公开的实施例中,瘦节点连接的一个或多个主管节点,除了具有普通全节点的属性(存储有完整区块链,能够独立地校验所有交易),还为瘦节点提供相应的功能。由此,瘦节点无需存储区块头或区块数据,而是通过与之相连接的主管节点即可实现相应的功能。
在本公开的一实施例中,瘦节点通过P2P网络发现的协议,与一个或多个主管节点建立连接。
当新的瘦节点启动后,发现网络中存在的主管节点,并随机选择网络中存在的一个或多个主管节点与之建立连接。
新瘦节点发现主管节点并与主管节点建立连接,可通过以下方式:
方式1:每个瘦节点维持一个列表,列出了那些长期稳定运行的主管节点。列表中可包括主管节点的IP地址、设备名、节点状况(例如,产生新区块的数量、网络带宽等)、算力等。由此,新的瘦节点启动时,可根据列表中的IP地址,发现这些主管节点,并与其中的一个或多个主管节点建立连接。
方式2:新瘦节点在启动时,为其提供至少一个主管节点的IP地址(例 如,由指定节点向新瘦节点提供,或由新瘦节点主动从指定节点获取),由此,新瘦节点可通过IP地址与至少一个主管节点建立连接。
参见图2,为本公开一实施例的区块链节点的业务执行方法的流程示意图,该方法应用于瘦节点设备,包括以下步骤:
在步骤201中,瘦节点与发现的一个或多个主管节点建立连接,主管节点为区块链网络中的全节点。
参见图3,在本公开的一实施例中,瘦节点与主管节点后,直接与其建立连接。瘦节点可采用TCP协议、使用相应的端口(例如,8333端口)与主管节点建立连接。在建立连接时,瘦节点会通过发送一条包含基本标识信息的version消息,开始“握手”通信过程。Version消息中包括瘦节点的IP地址等。接收到version消息的主管节点,通过verack消息进行响应确认并建立连接。
参见图4,在本公开的一实施例中,当区块链网络为许可链网络(许可链网络为一种私有链,是指对许可链中的账户进行操作权限限制)时,由于许可链对节点的网络接入、转账、部署合约、调用合约等进行了权限控制,因此,当瘦节点发现主管节点,与主管节点建立连接时,主管节点需要对瘦节点进行认证。在步骤401中,瘦节点向发现的主管节点发送认证请求,认证请求中包括瘦节点自身的账户信息和公钥等信息。在步骤402中,主管节点根据接收到的认证请求,查询公钥所对应账户是否存在于区块链中,若存在,则生成挑战码。在步骤403中,发送认证请求回复信息给瘦节点,其中,认证请求回复信息中包括挑战码。在步骤404中,瘦节点使用自身账户私钥对挑战码签名。在步骤405中,瘦节点向主管节点发送认证信息,认证信息中包括私钥签名后的挑战码。在步骤406中,主管节点使用账户公钥验证签名是否正确,若正确,则与瘦节点建立连接。
在本公开的一实施例中,当新启动的瘦节点与任一个或多个主管节点连 接后,这一个或多个主管节点,还可为其提供其它主管节点的信息,由此,实现瘦节点可与一定数量的主管节点之间建立连接。在一个实施例中,一定数量可为固定的n个或可根据区块链网络中的节点数进行调整,以保证瘦节点通过主管节点进行相应业务时的安全性。
在本公开一实施例中,主管节点通过web service为与之连接的瘦节点提供功能接口,以使得瘦节点可实现相应的功能。Web service是一种跨编程语言和跨操作系统平台的远程调用技术。主管节点提供可供瘦节点通过web进行调用的API,瘦节点通过远程调用协议(RPC)进行远程调用,实现相应的功能。
在另一实施例中,瘦节点和主管节点之间,通过网络协议进行信息交互,例如,HTTP协议、scoket协议等。
在步骤202中,当需要执行目标业务时,调用一个或多个主管节点提供的与目标业务对应的功能接口或向一个或多个主管节点发送请求,以通过一个或多个主管节点执行目标业务,其中,请求中包括执行目标业务所需的信息。
参见表1,在本公开的一实施例中,主管节点可至少提供执行以下目标业务的功能:信息查询,交易所需信息获取,交易发布,以及验证某个交易是否有效。
表1
Figure PCTCN2016111850-appb-000001
Figure PCTCN2016111850-appb-000002
参见表2,本公开一实施例中,瘦节点具有的功能包括:发现主管节点,连接主管节点,产生并签名交易,发送交易,查询信息,以及管理账户等。
表2
Figure PCTCN2016111850-appb-000003
参见图5,为本公开一实施例的区块链节点的业务执行方法的流程示意图,该方法应用于主管节点设备,与瘦节点相对应的,该方法包括以下步骤:
在步骤501中,主管节点响应瘦节点的连接请求,与瘦节点建立连接,瘦节点为区块链网络中无需存储区块和区块头的节点。
在步骤502中,主管节点提供用于执行瘦节点的目标业务的功能接口或响应瘦节点发送的目标业务执行的请求,以为瘦节点执行目标业务。
以下将详细介绍瘦节点通过主管节点进行相应业务的实现过程。参见图6,为本公开实施例的目标业务为发布交易时的流程示意图。
在步骤601中,当瘦节点需要发布交易时,从与其连接的主管节点处获取产生交易所需的信息。
根据不同区块链的交易实现不同,产生一个交易所必须的信息也是不同的,例如:比特币区块链需要UXTO信息,而以太坊区块链需要nonce、gas等信息。瘦节点通过调用主管节点提供的功能接口,可根据交易所涉及的区块链获取到相应的信息。
当主管节点通过提供功能接口的方式时,瘦节点调用主管节点的相应功能接口,获取产生交易所必须的信息。根据上述表1,瘦节点产生交易,需要调用的相应功能接口为“交易所需信息获取”。当主管节点通过web service提供功能接口时,瘦节点可通过远程调用协议(RPC)调用“交易所需信息获取”的功能接口,从而获取到产生交易所必须的信息。
当主管节点和瘦节点通过网络通信的方式时,瘦节点可通过“发送请求”的方式,从主管节点处请求产生交易所必须的信息。
在步骤602中,瘦节点根据获取的信息,产生交易。
在步骤603中,瘦节点对加密存储的私钥密文,进行解密获得私钥。
由于为了保证私钥的安全性,瘦节点可对私钥进行加密存储,加密存储的方式包括但不限于使用口令为加密秘钥产生种子,使用密码模块(Secure Element,SE)安全存储等。由此,当需要进行私钥签名时,通过口令或PIN码进行解密。
在步骤604中,利用私钥对产生的交易签名。
在步骤605中,将私钥签名后的交易发送给主管节点。
该步骤瘦节点可通过调用主管节点的交易发送功能接口,实现将私钥签名后的交易发送给主管节点,由主管节点发布到区块链网络。
在本公开的实施例中,由于一个瘦节点会同时与一个或多个主管节点连接,因此,私钥签名后的交易可发送至所有有连接关系的主管节点,以保证 交易的安全性和成功率。
在步骤606中,主管节点验证交易合法性,若交易合法,则将私钥签名后的交易发送到区块链网络中。
在本公开的实施例中,瘦节点私钥签名后的交易,可表明交易发布者的身份。主管节点可通过公钥解密私钥签名后的交易后,对交易信息中的账户身份、交易内容等进行验证,以确定交易的合法性。若交易合法,则瘦节点发布的交易被发送给区块链中的各个节点。交易被“矿工”(执行PoW共识竞争机制的区块链节点)记录入产生的新区块,然后发布到区块链网络,并被其它区块链节点验证通过和接受后,交易数据即被写入区块链,即瘦节点发布的交易被记录到区块链的一区块中。
在本公开的一实施例中,主管节点在交易被写入区块链,即交易生效后,返回信息给瘦节点。
参见图7,为本公开的另一实施例中,当瘦节点发布了交易后,瘦节点可通过与其连接的主管节点,对交易是否生效进行验,即目标业务为验证交易有效性,其验证过程包括以下步骤:
在步骤701中,当瘦节点需要验证一交易的有效性时,向与其连接的每一主管节点发送验证请求或调用主管节点提供的相应功能接口(即交易验证功能接口)。
根据上述表1,瘦节点可通过调用主管节点提供的“交易验证”的功能接口,验证某个交易是否已被挖矿(即记录到某个区块中)。
在步骤702中,每一个主管节点分别根据瘦节点的信息进行验证。
在本公开的实施例中,主管节点根据瘦节点发布的交易的信息(哈希值),查找区块链,判断交易是否被记录到某个区块中。并且根据区块在区块链中的位置,确定该区块得到了多少确认。
当瘦节点通过发送验证请求的方式,获取验证结果时,在步骤703中, 每一个主管节点将验证结果发送给瘦节点。
在步骤704中,瘦节点根据接收到每个主管节点的返回的验证结果,确定验证结果一致的主管节点的数量是否超过预设阈值。
在步骤705中,若验证结果一致的主管节点的数量超过预设阈值,则确认该验证结果。
在步骤706中,若验证结果一致的主管节点的数量未超过预设阈值,则重新发送验证请求或重新进行主管节点的选择。
在本公开的实施例中,为了保证安全性,瘦节点接收到验证结果后,需要进行判断,当验证结果一致的主管节点的数量超过预设阈值时,则信任主管节点返回的验证结果。否则,需要重新进行验证,或者重新进行主管节点的选择后再进行验证。
在一些实施例中,瘦节点可根据主管节点的可信度,选择一定数量可信度较高的主管节点,以其返回的验证结果为交易有效性验证的结果。若这些节点返回的验证结果为交易无效,则瘦节点可重新进行交易的发布。主管节点的可信度可根据主管节点的拥有者的信息(例如,是否为可靠组织等)、主管节点产生的区块数、主管节点的算力、主管节点的网络稳定状况等等确定。
应理解,在本公开的实施例中,为了保证瘦节点执行目标业务的安全性,当瘦节点接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量超过预设阈值时,信任所接收到的反馈信息。而当接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量未超过预设阈值时,重新选择主管节点进行连接。或者按照上述的方法选择信任可信度高的主管节点的反馈信息。这些反馈信息包括但不限于:上述交易验证结果、信息查询结果、挑战码等所有主管阶段反馈发送给瘦节点的信息。
参见图8,为本公开的一实施例中,当瘦节点需要进行的目标业务为信 息查询,例如,查询账户余额等信息时,向主管节点发送查询请求或调用主管节点提供的相应功能接口(即查询功能接口)。
在本公开的实施例中,瘦节点可管理自己的账户信息,进行产生、删除等,并加密存储。加密存储的方式包括但不限于使用口令为加密密钥产生种子、使用secure element(SE,密码模块)安全存储等。
主管节点根据查询请求中的账户信息,进行查询并将查询结果返回给瘦节点。应理解,在本公开的实施例中,当瘦节点通过调用功能接口的方式进行交易发布、交易有效性验证或信息查询时,可直接获得验证结果、查询结果等,不需要主管节点进行反馈。而当瘦节点采用“发送请求”的方式进行交易发布、交易有效性验证或信息查询时,主管节点将查询结果、验证结果等进行反馈。
参见图9,相应的,本公开实施例还提供一种区块链节点的业务执行装置。该装置900应用于无需存储区块和区块头的节点,该装置800包括:
连接模块901,被配置为与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;
目标业务执行模块902,被配置为当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
在一个实施例中,目标业务执行装置902包括:
交易信息获取子模块,被配置为在目标业务为发布交易时,调用所述一个或多个主管节点提供的交易所需信息获取的功能接口,从所述一个或多个主管节点处获取产生所述交易所需的信息;
第一交易产生子模块,被配置为根据获取的信息,产生交易;
第一交易签名子模块,被配置为利用私钥对产生的交易签名;
第一交易发送子模块,被配置为调用所述一个或多个主管节点提供的交易发送功能接口,将私钥签名后的交易发送给所述一个或多个主管节点,以由所述一个或多个主管节点在验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
在一个实施例中,目标业务执行装置902包括:
第一交易验证子模块,被配置为在所述目标业务为验证交易有效性时,调用所述一个或多个主管节点的交易验证功能接口,获取交易验证结果。
在一个实施例中,目标业务执行装置902包括:
第一信息查询子模块,被配置为在所述目标业务为信息查询时,调用所述一个或多个主管节点的信息查询功能接口,获取查询结果。
在一个实施例中,目标业务执行装置902包括:
交易请求发布子模块,被配置为在所述目标业务为发布交易时,向所述一个或多个主管节点发送包括交易所涉及的区块链信息的请求,从所述一个或多个主管节点处获取产生所述交易所需的信息;
第二交易产生子模块,被配置为根据获取的信息,产生交易;
第二交易签名子模块,被配置为利用私钥对产生的交易签名;
第二交易发送子模块,被配置为将私钥签名后的交易发送给所述一个或多个主管节点,以由所述一个或多个主管节点在验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
在一个实施例中,目标业务执行装置902包括:
第二交易验证子模块,被配置为当所述目标业务为验证交易有效性时,向所述一个或多个主管节点发送验证请求,获取自己所发布交易的交易验证结果。
在一个实施例中,目标业务执行装置902包括:
第二信息查询子模块,被配置为当所述目标业务为信息查询时,向所述 一个或多个主管节点发送查询请求,获取查询结果,所述查询请求中包括查询所需的信息。
在一个实施例中,装置900还包括:
信息确定模块903,被配置为当接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量超过预设阈值时,信任所接收到的反馈信息。
在一个实施例中,装置900还包括:
主管节点重新选择模块904,被配置为当接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量未超过预设阈值时,重新选择主管节点进行连接。
在一个实施例中,连接模块901包括:
认证请求发送子模块,被配置为向所述一个或多个主管节点发送认证请求;
挑战码接收子模块,被配置为接收所述一个或多个主管节点根据认证请求生成的挑战码;
挑战码发送子模块,被配置为向所述一个或多个主管节点发送认证信息,所述认证信息为利用私钥对所述挑战码签名后的信息;
连接建立子模块,被配置为当所述认证信息被所述一个或多个主管节点验证通过后,与所述一个或多个主管节点建立连接。
参见图10,相应的本公开还提供一种区块链节点的业务执行装置。该装置1000应用于主管节点,其包括:
连接模块1001,被配置为响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;
目标业务执行模块1002,被配置为提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点 执行所述目标业务。
在一个实施例中,目标业务执行模块1002包括:
第一交易所需信息提供子模块,被配置为在所述目标业务为发布交易时,通过交易所需信息获取的功能接口,为所述瘦节点提供产生所述交易所需的信息;
第一交易发布子模块,被配置为通过交易发送功能接口,将所述瘦节点根据交易所需的信息产生并私钥签名后的合法交易发布到区块链网络中。
在一个实施例中,目标业务执行模块1002包括:
第一交易验证结果获取子模块,被配置为在所述目标业务为验证交易有效性时,通过交易验证功能接口,为所述瘦节点获取交易验证结果。
在一个实施例中,目标业务执行模块1002包括:
第一查询结果获取子模块,被配置为在所述目标业务为信息查询时,通过信息查询功能接口,为所述瘦节点获取查询结果。
在一个实施例中,目标业务执行模块1002包括:
请求接收子模块,被配置为在所述目标业务为发布交易时,接收所述瘦节点发送的包括交易所涉及的区块链信息的请求;
交易所需信息发送子模块,被配置为根据所述请求,将产生所述交易所需的信息发送给所述瘦节点;
交易接收子模块,被配置为接收所述瘦节点根据所述交易所需的信息产生并私钥签名后的交易;
第二交易发布子模块,被配置为在验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
在一个实施例中,目标业务执行模块1002包括:
验证请求接收子模块,被配置为在所述目标业务为验证交易有效性时,接收所述瘦节点发送的验证请求;
验证结果获取子模块,被配置为根据所述验证请求获取所述瘦节点所发布交易的交易验证结果;
验证结果发送子模块,被配置为将所述交易验证结果发送给所述瘦节点。
在一个实施例中,目标业务执行模块1002包括:
查询请求接收子模块,被配置为在所述目标业务为信息查询时,接收所述瘦节点发送的查询请求,所述查询请求中包括查询所需的信息;
查询结果获取子模块,被配置为根据所述查询请求,获取查询结果;
查询结果发送子模块,被配置为将所述查询结果发送给所述瘦节点。
在一个实施例中,连接模块1001包括:
认证请求接收子模块,被配置为接收所述瘦节点发送的认证请求;
挑战码生成子模块,被配置为根据所述认证请求生成挑战码;
挑战码发送子模块,被配置为将所述挑战码发送给所述瘦节点;
认证信息接收子模块,被配置为接收所述瘦节点发送的认证信息,所述认证信息为利用私钥对所述挑战码签名后的信息;
认证信息验证子模块,被配置为对所述认证信息进行验证;
连接子模块,被配置为当验证通过时,与所述瘦节点建立连接。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是根据一示例性实施例示出的一种用于区块链节点的业务执行方法的装置1100的框图,该装置1100可以是瘦节点设备或主管节点设备。如图所示,该装置1100可以包括:处理器1101,存储器1102,多媒体组件1103,输入/输出(I/O)接口1104,以及通信组件1105。
其中,处理器1101用于控制该装置1100的整体操作,以完成上述应用于瘦节点设备或主管节点设备的区块链节点的业务执行方法中的全部或部 分步骤。存储器1102用于存储操作系统,各种类型的数据以支持在该装置1100的操作,这些数据的例如可以包括用于在该装置1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该装置1100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1105可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置1100可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称 PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于瘦节点设备或主管节点设备的区块链节点的业务执行方法。
在另一示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行上述的应用于瘦节点设备或主管节点设备的区块链节点的业务执行方法的代码部分。
在另一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1102,上述指令可由装置1100的处理器1101执行以完成上述的应用于瘦节点设备或主管节点设备的区块链节点的业务执行方法。示例地,该非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,简称RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
流程图中或在本公开的实施例中以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所述技术领域的技术人员所理解。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精 确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (28)

  1. 一种区块链节点的业务执行方法,其特征在于,所述方法包括:
    与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;
    当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
  2. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为发布交易时,调用所述一个或多个主管节点提供的交易所需信息获取的功能接口,从所述一个或多个主管节点处获取产生所述交易所需的信息;
    根据获取的信息,产生交易;
    利用私钥对产生的交易签名;
    调用所述一个或多个主管节点提供的交易发送功能接口,将私钥签名后的交易发送给所述一个或多个主管节点,以由所述一个或多个主管节点在验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
  3. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为验证交易有效性时,调用所述一个或多个主管节点的交易验证功能接口,获取交易验证结果。
  4. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为信息查询时,调用所述一个或多个主管节点的信息查询功能接口,获取查询结果。
  5. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为发布交易时,向所述一个或多个主管节点发送包括交易所涉及的区块链信息的请求,从所述一个或多个主管节点处获取产生所述交易所需的信息;
    根据获取的信息,产生交易;
    利用私钥对产生的交易签名;
    将私钥签名后的交易发送给所述一个或多个主管节点,以由所述一个或多个主管节点在验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
  6. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为验证交易有效性时,向所述一个或多个主管节点发送 验证请求,获取自己所发布交易的交易验证结果。
  7. 根据权利要求1所述的方法,其特征在于,所述当需要执行目标业务时,向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务的步骤包括:
    当所述目标业务为信息查询时,向所述一个或多个主管节点发送查询请求,获取查询结果,所述查询请求中包括查询所需的信息。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
    当接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量超过预设阈值时,信任所接收到的反馈信息。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    当接收到至少两个主管节点的反馈信息,且反馈信息一致的主管节点的数量未超过预设阈值时,重新选择主管节点进行连接。
  10. 根据权利要求1-7任一项所述的方法,其特征在于,所述与发现的一个或多个主管节点建立连接的步骤包括:
    向所述一个或多个主管节点发送认证请求;
    接收所述一个或多个主管节点根据认证请求生成的挑战码;
    向所述一个或多个主管节点发送认证信息,所述认证信息为利用私钥对所述挑战码签名后的信息;
    当所述认证信息被所述一个或多个主管节点验证通过后,与所述一个或多个主管节点建立连接。
  11. 一种区块链节点的业务执行方法,其特征在于,所述方法包括:
    响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;
    提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
  12. 根据权利要求11所述的方法,其特征在于,提供用于执行所述瘦节点的目标业务的功能接口,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为发布交易时,通过交易所需信息获取的功能接口,为所述瘦节点提供产生所述交易所需的信息;
    通过交易发送功能接口,将所述瘦节点根据交易所需的信息产生并私钥签名后的合法交易发布到区块链网络中。
  13. 根据权利要求11所述的方法,其特征在于,提供用于执行所述瘦节点的目标业务的功能接口,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为验证交易有效性时,通过交易验证功能接口,为所述瘦节点获取交易验证结果。
  14. 根据权利要求11所述的方法,其特征在于,提供用于执行所述瘦节点的目标业务的功能接口,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为信息查询时,通过信息查询功能接口,为所述瘦节点获取查询结果。
  15. 根据权利要求11所述的方法,其特征在于,响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为发布交易时,接收所述瘦节点发送的包括交易所涉及的区块链信息的请求;
    根据所述请求,将产生所述交易所需的信息发送给所述瘦节点;
    接收所述瘦节点根据所述交易所需的信息产生并私钥签名后的交易;
    当验证所述私钥签名后的交易合法后,将所述私钥签名后的交易发布到区块链网络中。
  16. 根据权利要求11所述的方法,其特征在于,响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为验证交易有效性时,接收所述瘦节点发送的验证请求;
    根据所述验证请求获取所述瘦节点所发布交易的交易验证结果;
    将所述交易验证结果发送给所述瘦节点。
  17. 根据权利要求11所述的方法,其特征在于,响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务的步骤包括:
    当所述目标业务为信息查询时,接收所述瘦节点发送的查询请求,所述查询请求中包括查询所需的信息;
    根据所述查询请求,获取查询结果;
    将所述查询结果发送给所述瘦节点。
  18. 根据权利要求11-17任一项所述的方法,其特征在于,响应瘦节点 的连接请求,与所述瘦节点建立连接的步骤包括:
    接收所述瘦节点发送的认证请求;
    根据所述认证请求生成挑战码;
    将所述挑战码发送给所述瘦节点;
    接收所述瘦节点发送的认证信息,所述认证信息为利用私钥对所述挑战码签名后的信息;
    对所述认证信息进行验证;以及
    当验证通过时,与所述瘦节点建立连接。
  19. 一种区块链节点的业务执行装置,其特征在于,所述装置包括:
    连接模块,被配置为与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;
    目标业务执行模块,被配置为当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
  20. 一种区块链节点的业务执行装置,其特征在于,所述装置包括:
    连接模块,被配置为响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;
    目标业务执行模块,被配置为提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
  21. 一种节点设备,其特征在于,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器,被配置为与发现的一个或多个主管节点建立连接,所述主管节点为区块链网络中的全节点;当需要执行目标业务时,调用所述一个或多个主管节点提供的与所述目标业务对应的功能接口或向所述一个或多个主管节点发送请求,以通过所述一个或多个主管节点执行所述目标业务,其中,所述请求中包括执行所述目标业务所需的信息。
  22. 一种节点设备,其特征在于,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器,被配置为响应瘦节点的连接请求,与所述瘦节点建立连接,所述瘦节点为区块链网络中无需存储区块和区块头的节点;提供用于执行所述瘦节点的目标业务的功能接口或响应所述瘦节点发送的目标业务执行的请求,以为所述瘦节点执行所述目标业务。
  23. 一种计算机程序产品,其特征在于,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行权利要求1至10中任一项所述的方法的代码部分。
  24. 一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求1至10中任一项所述的方法。
  25. 一种节点设备,其特征在于,包括:
    权利要求24中所述的非临时性计算机可读存储介质;以及
    一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
  26. 一种计算机程序产品,其特征在于,所述计算机程序产品包含能够由可编程的装置执行的计算机程序,所述计算机程序具有当由所述可编程的装置执行时用于执行权利要求11至18中任一项所述的方法的代码部分。
  27. 一种非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行权利要求11至18中任一项所述的方法。
  28. 一种节点设备,其特征在于,包括:
    权利要求27中所述的非临时性计算机可读存储介质;以及
    一个或者多个处理器,用于执行所述非临时性计算机可读存储介质中的程序。
PCT/CN2016/111850 2016-12-23 2016-12-23 区块链节点的业务执行方法、装置及节点设备 WO2018112940A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680003222.6A CN107079058B (zh) 2016-12-23 2016-12-23 区块链节点的业务执行方法、装置及节点设备
PCT/CN2016/111850 WO2018112940A1 (zh) 2016-12-23 2016-12-23 区块链节点的业务执行方法、装置及节点设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/111850 WO2018112940A1 (zh) 2016-12-23 2016-12-23 区块链节点的业务执行方法、装置及节点设备

Publications (1)

Publication Number Publication Date
WO2018112940A1 true WO2018112940A1 (zh) 2018-06-28

Family

ID=59624552

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/111850 WO2018112940A1 (zh) 2016-12-23 2016-12-23 区块链节点的业务执行方法、装置及节点设备

Country Status (2)

Country Link
CN (1) CN107079058B (zh)
WO (1) WO2018112940A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242405A (zh) * 2018-06-28 2019-01-18 平安科技(深圳)有限公司 政务处理方法及装置、计算机设备与可读存储介质
CN109636427A (zh) * 2019-01-29 2019-04-16 深圳市智税链科技有限公司 基于区块链系统的业务处理方法、装置、介质及电子设备
CN109921897A (zh) * 2019-03-13 2019-06-21 北京柏链基石科技有限公司 工作量证明计算的触发方法、装置、计算设备及存储介质
CN110291506A (zh) * 2018-11-30 2019-09-27 阿里巴巴集团控股有限公司 区块链网络测试平台
CN110381116A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 信息同步系统和信息同步方法
CN110443658A (zh) * 2018-12-07 2019-11-12 深圳市智税链科技有限公司 基于区块链系统的税务管理方法、装置、介质及电子设备
CN110515978A (zh) * 2019-08-30 2019-11-29 上海浦东发展银行股份有限公司信用卡中心 一种状态数据库交易验签实现方法
CN111177800A (zh) * 2018-09-30 2020-05-19 阿里巴巴集团控股有限公司 基于区块链的数据处理方法及装置、电子设备
CN111212074A (zh) * 2020-01-02 2020-05-29 腾讯科技(深圳)有限公司 基于区块链的资格认定方法、装置、设备及存储介质
CN111461718A (zh) * 2020-04-03 2020-07-28 中国建设银行股份有限公司 区块链节点的接入方法、装置及系统
CN111899103A (zh) * 2018-10-25 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN112039930A (zh) * 2019-06-03 2020-12-04 厦门本能管家科技有限公司 一种基于大节点构建移动区块链的方法及系统
CN112737916A (zh) * 2020-11-23 2021-04-30 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法及相关装置
CN112749969A (zh) * 2020-11-16 2021-05-04 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112769878A (zh) * 2019-11-01 2021-05-07 中国电信股份有限公司 基于区块链的业务实现系统和方法
CN112910633A (zh) * 2019-12-03 2021-06-04 微观(天津)科技发展有限公司 应用于区块链节点的数据处理方法、装置以及存储介质
CN113128998A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种区块链系统的业务处理方法、装置及系统

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108039948A (zh) * 2017-12-05 2018-05-15 北京博晨技术有限公司 节点维护方法、装置及电子设备
CN108037898A (zh) * 2017-12-15 2018-05-15 郑州云海信息技术有限公司 一种基于Ceph的dpdk通讯的方法、系统及装置
CN109962952A (zh) * 2017-12-25 2019-07-02 联易软件有限公司 食品药品信息传输方法及系统
CN108347483B (zh) * 2018-02-06 2021-04-09 北京奇虎科技有限公司 基于双层网络的去中心化计算系统
CN108282539A (zh) * 2018-02-06 2018-07-13 北京奇虎科技有限公司 基于双层网络的去中心化存储系统
CN110223169A (zh) * 2018-03-02 2019-09-10 松下电器(美国)知识产权公司 控制方法、控制器、数据构造以及电力交易系统
CN108305056B (zh) * 2018-03-27 2023-11-10 北京蓝亚盒子科技有限公司 基于区块链的数据处理方法、装置及区块链节点网络
CN110324285A (zh) * 2018-03-30 2019-10-11 武汉斗鱼网络科技有限公司 一种移动端身份验证方法及装置
CN110322239A (zh) * 2018-03-31 2019-10-11 华为技术有限公司 一种业务管理方法及相关设备
CN108769752A (zh) * 2018-05-02 2018-11-06 中广热点云科技有限公司 一种基于区块链技术的网络视听管理支撑系统
CN108960902B (zh) 2018-06-13 2021-04-27 创新先进技术有限公司 一种基于区块链的可用资源配额的集合兑换方法及装置
CN109215748B (zh) * 2018-06-29 2020-11-20 浙江省肿瘤医院 基于区块链的医院信息系统的使用方法
CN109165304B (zh) * 2018-07-03 2020-08-14 泰链(厦门)科技有限公司 区块链的构造方法、介质及系统
CN108924250B (zh) * 2018-07-27 2022-02-11 江西贪玩信息技术有限公司 基于区块链的业务请求处理方法、装置和计算机设备
CN109391612A (zh) * 2018-08-17 2019-02-26 杭州微链区块链科技有限公司 一种基于区块链的身份确认系统及方法
CN109063183B (zh) * 2018-08-27 2021-01-12 众安信息技术服务有限公司 在区块链节点处进行信息处理的方法及装置
CN108989465B (zh) * 2018-08-30 2021-03-12 交叉信息核心技术研究院(西安)有限公司 共识方法、服务器、存储介质及分布式系统
CN109447630A (zh) * 2018-09-10 2019-03-08 北京安易信科技有限公司 一种支持多行业多应用的区块链构建方法及系统
CN109325764B (zh) * 2018-09-12 2022-05-27 江苏南大数码科技有限公司 基于区块链的敏感数据交易系统及方法
CN109309671A (zh) * 2018-09-14 2019-02-05 爱立信(中国)通信有限公司 一种基于区块链的通信设备数据管理方法和装置
CN109639430B (zh) * 2018-11-09 2020-05-26 北京航空航天大学 安全高速轻量级的区块链系统及方法
CN109741068B (zh) * 2018-12-25 2021-04-27 银清科技有限公司 网银跨行签约方法、装置及系统
CN109525678B (zh) * 2018-12-25 2022-09-27 众安信息技术服务有限公司 区块链网络系统以及相应的节点设备发现方法
CN110059089B (zh) * 2019-03-27 2021-01-22 深圳前海达闼云端智能科技有限公司 数据同步方法、装置、存储介质及电子设备
CN110086856B (zh) * 2019-04-01 2022-02-01 达闼机器人有限公司 区块链节点的控制方法、装置、存储介质及电子设备
CN110245186B (zh) * 2019-05-21 2023-04-07 深圳壹账通智能科技有限公司 一种基于区块链的业务处理方法及相关设备
CN110458539B (zh) * 2019-07-09 2021-03-23 北京链上科技有限责任公司 一种加密货币自动提取方法及系统
CN111262901B (zh) * 2019-07-29 2021-03-26 深圳百灵声学有限公司 多对多通信系统及其运行方法
CN112202564B (zh) * 2020-09-14 2022-09-20 成都质数斯达克科技有限公司 交易传递方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
US20160191243A1 (en) * 2014-12-31 2016-06-30 William Manning Out-of-band validation of domain name system records
US9390154B1 (en) * 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739656A (zh) * 2012-06-12 2012-10-17 北京英华高科科技有限公司 一种控制非主节点类型和规模的方法和系统
CN105678182B (zh) * 2015-12-29 2019-04-12 布比(北京)网络技术有限公司 一种数据操作控制的方法及装置
CN106055597B (zh) * 2016-05-24 2022-05-20 布比(北京)网络技术有限公司 数字交易系统、及用于其的账户信息查询方法
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160191243A1 (en) * 2014-12-31 2016-06-30 William Manning Out-of-band validation of domain name system records
US9390154B1 (en) * 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUAN, YONG ET AL.: "Blockchain: the State of the Art and Future Trends", ACTA AUTOMATICA SINICA, vol. 42, no. 4, 30 April 2016 (2016-04-30), pages 481 - 494, XP055456936, Retrieved from the Internet <URL:DOI:10.16383/j.aas.2016.c160158> *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109242405A (zh) * 2018-06-28 2019-01-18 平安科技(深圳)有限公司 政务处理方法及装置、计算机设备与可读存储介质
CN111177800B (zh) * 2018-09-30 2023-06-30 创新先进技术有限公司 基于区块链的数据处理方法及装置、电子设备
CN111177800A (zh) * 2018-09-30 2020-05-19 阿里巴巴集团控股有限公司 基于区块链的数据处理方法及装置、电子设备
CN111899103A (zh) * 2018-10-25 2020-11-06 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN111899103B (zh) * 2018-10-25 2024-05-03 创新先进技术有限公司 基于区块链的交易处理方法及装置、电子设备
CN110291506A (zh) * 2018-11-30 2019-09-27 阿里巴巴集团控股有限公司 区块链网络测试平台
CN110291506B (zh) * 2018-11-30 2023-08-18 创新先进技术有限公司 区块链网络测试平台
CN110443658A (zh) * 2018-12-07 2019-11-12 深圳市智税链科技有限公司 基于区块链系统的税务管理方法、装置、介质及电子设备
CN109636427B (zh) * 2019-01-29 2024-03-01 深圳市智税链科技有限公司 基于区块链系统的业务处理方法、装置、介质及电子设备
CN109636427A (zh) * 2019-01-29 2019-04-16 深圳市智税链科技有限公司 基于区块链系统的业务处理方法、装置、介质及电子设备
CN109921897A (zh) * 2019-03-13 2019-06-21 北京柏链基石科技有限公司 工作量证明计算的触发方法、装置、计算设备及存储介质
CN112039930B (zh) * 2019-06-03 2023-04-07 本无链科技(深圳)有限公司 一种基于大节点构建移动区块链的方法及系统
CN112039930A (zh) * 2019-06-03 2020-12-04 厦门本能管家科技有限公司 一种基于大节点构建移动区块链的方法及系统
CN110381116A (zh) * 2019-06-19 2019-10-25 深圳壹账通智能科技有限公司 信息同步系统和信息同步方法
CN110515978A (zh) * 2019-08-30 2019-11-29 上海浦东发展银行股份有限公司信用卡中心 一种状态数据库交易验签实现方法
CN112769878B (zh) * 2019-11-01 2022-09-20 中国电信股份有限公司 基于区块链的业务实现系统和方法
CN112769878A (zh) * 2019-11-01 2021-05-07 中国电信股份有限公司 基于区块链的业务实现系统和方法
CN112910633A (zh) * 2019-12-03 2021-06-04 微观(天津)科技发展有限公司 应用于区块链节点的数据处理方法、装置以及存储介质
CN113128998A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种区块链系统的业务处理方法、装置及系统
CN113128998B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链系统的业务处理方法、装置及系统
CN111212074B (zh) * 2020-01-02 2024-03-01 腾讯科技(深圳)有限公司 基于区块链的资格认定方法、装置、设备及存储介质
CN111212074A (zh) * 2020-01-02 2020-05-29 腾讯科技(深圳)有限公司 基于区块链的资格认定方法、装置、设备及存储介质
CN111461718A (zh) * 2020-04-03 2020-07-28 中国建设银行股份有限公司 区块链节点的接入方法、装置及系统
CN112749969A (zh) * 2020-11-16 2021-05-04 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112737916A (zh) * 2020-11-23 2021-04-30 腾讯科技(深圳)有限公司 一种基于区块链网络的数据处理方法及相关装置

Also Published As

Publication number Publication date
CN107079058A (zh) 2017-08-18
CN107079058B (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
WO2018112940A1 (zh) 区块链节点的业务执行方法、装置及节点设备
TWI725655B (zh) 用於在可信執行環境中執行子邏輯代碼的程式執行和資料證明的方法、設備和系統
CN113438289B (zh) 基于云计算的区块链数据处理方法及装置
TWI672648B (zh) 業務處理方法、裝置、資料共享系統及儲存介質
WO2022042301A1 (zh) 一种数据处理方法、装置、智能设备及存储介质
US11196573B2 (en) Secure de-centralized domain name system
WO2022262078A1 (zh) 基于零信任安全的访问控制方法、设备及存储介质
US10263855B2 (en) Authenticating connections and program identity in a messaging system
CN107690798B (zh) 在安全同步系统中自动识别无效参与者
WO2020143431A1 (zh) 记账方法、矿池服务器、终端设备、挖矿节点及矿池
WO2018120121A1 (zh) 区块链权限控制方法、装置及节点设备
US11722316B2 (en) Cryptographic communication system and cryptographic communication method based on blockchain
US20230056432A1 (en) Service communication method, system, apparatus, electronic device, and storage medium
WO2018119930A1 (zh) 交易验证处理方法、装置及节点设备
US20230281607A1 (en) Method and system for mobile cryptocurrency wallet connectivity
CN113421097B (zh) 一种数据处理方法、装置、计算机设备及存储介质
KR20220006623A (ko) 블록체인 합의 방법, 디바이스 및 시스템
CN111597567B (zh) 数据处理方法、装置、节点设备及存储介质
JP2024505692A (ja) ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
WO2019110018A1 (zh) 通信网络系统的消息验证方法、通信方法和通信网络系统
US20230079672A1 (en) Cross-chain data transmission method and apparatus, computer device, storage medium, and computer program product
US20210397678A1 (en) Right-holder terminal, user terminal, right-holder program, user program, content usage system, and content usage method
WO2022088710A1 (zh) 一种镜像管理方法及装置
CN113497762A (zh) 数据报文的传输方法及装置
WO2020093609A1 (zh) 区块链的区块生成方法、装置、设备及非易失性可读存储介质

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

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 16/10/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 16924250

Country of ref document: EP

Kind code of ref document: A1