CN113379420A - Block chain execution intelligent contract method, computer equipment and block chain system - Google Patents

Block chain execution intelligent contract method, computer equipment and block chain system Download PDF

Info

Publication number
CN113379420A
CN113379420A CN202110713258.6A CN202110713258A CN113379420A CN 113379420 A CN113379420 A CN 113379420A CN 202110713258 A CN202110713258 A CN 202110713258A CN 113379420 A CN113379420 A CN 113379420A
Authority
CN
China
Prior art keywords
transaction
node
information
transaction information
endorsement node
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202110713258.6A
Other languages
Chinese (zh)
Other versions
CN113379420B (en
Inventor
齐荣
鲁静
程晗蕾
代海鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software Co Ltd
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 Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN202110713258.6A priority Critical patent/CN113379420B/en
Publication of CN113379420A publication Critical patent/CN113379420A/en
Application granted granted Critical
Publication of CN113379420B publication Critical patent/CN113379420B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The application discloses a block chain execution intelligent contract method, computer equipment and a block chain system. The method comprises the following steps: the transaction initiating device sends a transaction proposal to at least one endorsement node; the endorsement node comprises an endorsement node and an endorsement module, wherein a trusted execution environment is arranged in the endorsement node, and an intelligent contract is stored in the trusted execution environment of the endorsement node; the endorsement node executes an intelligent contract based on a transaction proposal to obtain transaction information and sends the transaction information to transaction initiating equipment; the transaction initiating equipment receives the transaction information and sends the transaction information to the sequencing node so as to uplink the transaction information. By the scheme, the safety of the intelligent contract execution process in the transaction endorsement can be improved.

Description

Block chain execution intelligent contract method, computer equipment and block chain system
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a method for performing an intelligent contract on a blockchain, a computer device, and a blockchain system.
Background
The block chain is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism and an encryption algorithm, achieves decentralized center through the characteristics of collective maintenance and distributed storage, is guaranteed to be not falsified and forged in a cryptographic mode, has the characteristics of decentralized center, openness, information non-falsification and the like, and can be widely applied to various scenes.
The intelligent contract is a computer program running on a block chain, and the intelligent contract is a rule established by mutual participation of multiple parties. Currently, if the calling transaction meets the preset condition of the intelligent contract, the protocol defined in the intelligent contract can be automatically executed, and the execution result of the intelligent contract can be stored on the blockchain. Since the execution process of the intelligent contract can be disclosed, the privacy protection of the execution process of the intelligent contract is not facilitated.
Disclosure of Invention
The technical problem mainly solved by the application is to provide a method for executing an intelligent contract of a block chain, computer equipment and a block chain system, which can improve the safety of the intelligent contract execution process in a transaction endorsement.
In order to solve the above problem, a first aspect of the present application provides a method for performing intelligent contracts on a blockchain, the method including: the transaction initiating device sends a transaction proposal to at least one endorsement node; the endorsement node comprises an endorsement node and an endorsement module, wherein a trusted execution environment is arranged in the endorsement node, and an intelligent contract is stored in the trusted execution environment of the endorsement node; the endorsement node executes an intelligent contract based on a transaction proposal to obtain transaction information and sends the transaction information to transaction initiating equipment; the transaction initiating equipment receives the transaction information and sends the transaction information to the sequencing node so as to uplink the transaction information.
In order to solve the above problem, a second aspect of the present application provides a computer device, which includes a memory and a processor coupled to each other, wherein the memory stores program data, and the processor is configured to execute the program data to implement any step executed by a transaction initiation device, an endorsement node, or a sorting node in the above block chain execution intelligent contract method.
In order to solve the above problem, a third aspect of the present application provides a blockchain system, where the blockchain system includes an endorsement node and a sorting node, where the endorsement node and the sorting node are configured to execute any corresponding step in an execution intelligent contract method that implements the blockchain.
According to the scheme, the credible execution environment is arranged in the endorsement node, the credible execution environment of the endorsement node stores the intelligent contract, the transaction initiating device sends the transaction proposal to at least one endorsement node, the endorsement node executes the intelligent contract based on the transaction proposal to obtain transaction information, the transaction initiating device receives the transaction information and sends the transaction information to the sequencing node to chain the transaction information, the influence of the untrusted endorsement node on the execution of the intelligent contract can be avoided, the privacy of the execution process of the intelligent contract is protected, and the safety of the execution of the intelligent contract is improved.
Drawings
In order to more clearly illustrate the technical solutions in the present application, the drawings required in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings described below are only some embodiments of the present application, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive labor. Wherein:
FIG. 1 is a schematic flow chart diagram of a first embodiment of a method for performing intelligent contracts for blockchains according to the present application;
FIG. 2 is a schematic flow chart diagram illustrating a second embodiment of a method for performing intelligent contracts for blockchains according to the present application;
FIG. 3 is a block chain system according to an embodiment of the present invention;
FIG. 4 is a schematic flow chart diagram illustrating a third embodiment of a method for performing intelligent contracts for blockchains according to the present application;
FIG. 5 is a flowchart illustrating an embodiment of step S31 in FIG. 4;
FIG. 6 is a flowchart illustrating an embodiment of step S32 of FIG. 4;
FIG. 7 is a flowchart illustrating an embodiment of step S33 of FIG. 4;
FIG. 8 is a flowchart illustrating an embodiment of step S34 of FIG. 4;
FIG. 9 is a schematic flow chart diagram illustrating a first embodiment of a transaction information access method of the present application;
FIG. 10 is a schematic block diagram of an embodiment of a computer apparatus of the present application;
FIG. 11 is a schematic diagram of an embodiment of a system for accessing transaction information according to the present application;
FIG. 12 is a block chain system according to another embodiment of the present application;
FIG. 13 is a schematic structural diagram of an embodiment of a memory device according to the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first" and "second" in this application are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "plurality" means at least two, e.g., two, three, etc., unless explicitly specifically limited otherwise. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
Reference in the specification to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the specification. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The present application provides the following examples, each of which is specifically described below.
Referring to fig. 1, fig. 1 is a schematic flowchart of a first embodiment of a method for performing intelligent contracts for blockchains according to the present application. The method may comprise the steps of:
s11: the transaction initiating device sends a transaction proposal to at least one endorsement node; the endorsement node is provided with a trusted execution environment, and the trusted execution environment of the endorsement node stores an intelligent contract.
The transaction initiation device may be a user operated physical device and may be a client in communication with the tile nexus. The endorsement node can be a plurality of endorsement nodes, the endorsement nodes can be used for chain code execution work and endorsement work, a trusted execution environment is arranged in each endorsement node, and an intelligent contract is stored in the trusted execution environment in each endorsement node. The trusted execution environment may be an intelligent contract Enclave, and may represent a trusted execution environment for running an intelligent contract and protecting privacy thereof. The trusted execution environment may isolate it from other applications of the blockchain node and other intelligent contracts.
The transaction proposal comprises target intelligent contract addresses needing to be called and input data, wherein the input data can be used for being input into the intelligent contracts to trigger the execution of the intelligent contracts. The transaction initiating device may send the transaction proposal to at least one endorsement node.
S12: the endorsement node executes the intelligent contract based on the transaction proposal to obtain transaction information and sends the transaction information to the transaction initiating equipment.
After receiving the transaction proposal, the endorsement node can forward the transaction proposal to the trusted execution environment of the endorsement node, so that the endorsement node executes the intelligent contract of the trusted execution environment based on the transaction proposal to generate an execution result, thereby obtaining transaction information. The endorsement node may send the transaction information to the transaction initiating device.
S13: the transaction initiating equipment receives the transaction information and sends the transaction information to the sequencing node so as to uplink the transaction information.
After the transaction initiating device receives the transaction information, the transaction information can be sent to the sequencing node, so that the sequencing node sequences the transaction information, and the sequenced transaction information is linked up and stored.
In the embodiment, the credible execution environment is arranged in the endorsement node, the credible execution environment of the endorsement node stores the intelligent contract, the transaction initiating device sends the transaction proposal to at least one endorsement node, the endorsement node executes the intelligent contract based on the transaction proposal to obtain the transaction information, the transaction initiating device receives the transaction information and sends the transaction information to the sequencing node to chain the transaction information, so that the influence of the untrusted endorsement node on executing the intelligent contract can be avoided, the privacy of the execution process of the intelligent contract is protected, and the safety of executing the intelligent contract is improved.
In some embodiments, referring to fig. 2, before step S12 and/or step S11, the above embodiments may further include the following steps:
s21: the trusted execution environment of the endorsement node sends a registration request to the trusted environment registry so that the trusted environment registry authenticates the trusted execution environment of the endorsement node; the trusted environment registry is used for recording the authentication result of the endorsement node and the trusted execution environment thereof in the determination.
Referring to fig. 3, fig. 3 is a schematic diagram of an embodiment of a blockchain system according to the present application. The management node 101 in the blockchain system 100 may install the trusted execution environment 103 in the endorsement node 102, and the endorsement node 102 may launch the trusted execution environment 103 to generate a key pair of the trusted execution environment 103, that is, a trusted execution environment private key and a trusted execution environment public key.
A trusted environment registry 104 exists in all nodes of the blockchain system, and the trusted execution environment of the endorsement node 102 can send a registration request to the trusted environment registry 104, so that the trusted environment registry 104 authenticates the trusted execution environment 103 of the endorsement node 102; the trusted environment registry 104 is used for recording the authentication result of the endorsement node 102 and the trusted execution environment 103 thereof in the determination.
Specifically, an authentication report is generated by the trusted execution environment 103 to indicate that it is executing a particular smart contract and is authenticated by the trusted execution environment public key, where the authentication report includes the smart contract code and the trusted execution environment public key, and may be a hash of the smart contract code and the trusted execution environment public key. The trusted execution environment 103 may send a registration request to the trusted environment registry 104 with the authentication report as a parameter. The trusted environment registry 104 may verify whether the authentication report includes the smart contract code and a hash of the correct trusted execution environment public key. If the trusted environment registry 104 confirms that the authentication report includes the smart contract code and the hash value of the correct trusted execution environment public key, the authentication report is sent to an ISA (International Standards Authority, remote authentication service provided by intel) 105 for verification, and the ISA105 generates an authentication result, which may indicate whether the authentication report is valid. The ISA105 signs the authentication result, a signed verification key thereof is publicly available, and the ISA105 transmits the signed authentication result to the trusted environment registry 104. Upon receiving the authentication result sent by the ISA105, the trusted environment registry 104 sends the authentication result to the trusted execution environment 103.
S22: the endorsement node 102 obtains the authentication result from the trusted environment registry and sends the authentication result to the management node, so that the management node sends the authentication result to the sequencing node for uplink when confirming that the trusted execution environment of the endorsement node passes the authentication based on the authentication result.
Referring to fig. 3, the endorsement node 102 obtains the authentication result from the trusted environment registry 104, where the trusted execution environment 103 receives the authentication result sent by the ISA105, and the trusted execution environment 103 of the endorsement node 102 sends the authentication result to the management node 101. So that the management node 101 sends the authentication result to the sequencing node 106 for uplink when confirming that the trusted execution environment 103 of the endorsement node 102 is authenticated based on the authentication result. The sequencing node 106 may send the authentication result and the trusted execution environment public key to all block chain nodes to complete the storage of the certificate in the block chain ledger, so that all block chain nodes in the network may obtain the authentication result of the endorsement node 102 through the block chain ledger, and the authentication result may indicate that the trusted execution environment 103 runs a specific intelligent contract in the endorsement node 102.
If the management node 101 determines that the trusted execution environment 103 of the endorsement node 102 fails to perform the authentication based on the authentication result, it does not send the authentication result to the sorting node 106 for uplink storage.
Optionally, the trusted environment registry 104 records the endorsement node 102 provided with the trusted execution environment 103 and the authentication result of the trusted execution environment 103 in the endorsement node 102, and may maintain the endorsement node 102 provided with the trusted execution environment 103.
Referring to fig. 4, fig. 4 is a schematic flowchart of a third embodiment of a method for performing intelligent contracts for blockchains according to the present application. The method may comprise the steps of:
s31: the transaction initiating device sends a transaction proposal to at least one endorsement node; the endorsement node is provided with a trusted execution environment, and the trusted execution environment of the endorsement node stores an intelligent contract.
In some embodiments, referring to fig. 5, step S31 may further include the following steps:
s311: and inquiring in a trusted environment registry by the transaction initiating equipment to obtain the endorsement node and an authentication result corresponding to the endorsement node.
The transaction initiating device queries the information of the endorsement nodes in the trusted environment registry, and can query the authentication results corresponding to the endorsement nodes from the trusted environment registry, wherein the authentication results are the authentication results signed by the ISA.
S312: and the transaction initiating equipment verifies the trusted execution environment of the endorsement node by using the authentication result and sends a transaction proposal to the endorsement node when the verification is passed.
The transaction initiating device may verify the trusted execution environment of the endorsement node with the authentication result, wherein the authenticity of the authentication result may be verified using a verification key disclosed by the ISA, and check whether there is an intelligent contract code of the trusted execution environment in the authentication result that matches the trusted execution environment public key.
If the verification is passed, the transaction initiating device sends a transaction proposal to the endorsement node. Specifically, the transaction initiation device encrypts a transaction proposal using a trusted execution environment public key of the trusted execution environment, wherein the transaction proposal comprises a target intelligent contract address to be invoked and input data, which can be used for inputting into the intelligent contract to trigger execution of the intelligent contract. And then the encrypted transaction proposal is signed by using a private key of the transaction initiating equipment, and the transaction initiating equipment sends the encrypted and signed transaction proposal to at least one endorsement node.
S32: the endorsement node executes the intelligent contract based on the transaction proposal to obtain transaction information and sends the transaction information to the transaction initiating equipment.
In some embodiments, referring to fig. 6, step S32 may further include the following steps:
s321: and the endorsement node inputs the plaintext data of the transaction proposal into the intelligent contract to be executed, so as to obtain transaction information.
And after the endorsement node receives the transaction proposal, forwarding the transaction proposal to the trusted execution environment. In the trusted execution environment, the signature of the transaction proposal can be verified by using the public key of the transaction initiating device, and then the transaction proposal is decrypted by using the private key of the trusted execution environment, so as to obtain the plaintext data of the transaction proposal.
The endorsement node inputs plaintext data of the transaction proposal into the intelligent contract for execution, for example, the input data in the transaction proposal is used as an input parameter, and the trusted execution environment of the endorsement node is used for operating the intelligent contract to execute and generate an execution result, for example, a Docker container or a virtual machine (such as EVM and Wasm) deployed in the trusted execution environment of the endorsement node can be used for operating business logic in the intelligent contract to generate the execution result. The execution process of the intelligent contract is not disclosed, and privacy protection of the execution process of the intelligent contract can be improved.
The trusted execution environment can comprise an intelligent contract and an intelligent contract library, and the intelligent contract can transmit an execution result to the intelligent contract library after the execution input data of the intelligent contract generates the execution result. The intelligent contract base may create a response to the proposal, i.e., transaction information. The transaction information at least comprises a transaction proposal and a corresponding execution result.
S322: the endorsement node encrypts the transaction information and sends the encrypted transaction information to the transaction initiating equipment.
The endorsement node may send the transaction information to the transaction initiating device, and specifically, the endorsement node encrypts the transaction information, for example, the public key of the transaction initiating device may be used to encrypt the transaction information, then the trusted execution environment private key is used to sign the transaction information, and the encrypted and signed transaction information is sent to the transaction initiating device.
S33: and the transaction initiating equipment receives the transaction information and sends the transaction information to the sequencing node.
In some embodiments, referring to fig. 7, step S33 may include the following steps:
s331: and the transaction initiating equipment receives the encrypted transaction information and decrypts the encrypted transaction information.
And the transaction initiating device receives the transaction information, wherein the transaction initiating device can receive the encrypted transaction information and decrypt the encrypted transaction information. For example, the transaction initiation device may verify the signature of the execution result by using the trusted execution environment public key, and may decrypt the execution result by using its own private key, that is, may decrypt the transaction information to obtain the transaction proposal and the corresponding execution result.
S332: and the transaction initiating equipment determines that the received transaction information meets the transaction sending condition and sends the transaction information to the sequencing node.
The transaction initiating equipment receives transaction information sent by at least one endorsement node, determines whether the received transaction information meets a transaction sending condition, and sends the transaction information to the sequencing node if the transaction sending condition is met; otherwise, if the transaction sending condition is not met, the transaction information is not sent to the sequencing node, namely the transaction of the calling of the intelligent contract to the transaction proposal fails.
The transaction sending condition comprises that the number of the received transaction information accounts for more than a first proportion of the endorsement node number, and/or the number of the received same transaction information accounts for more than a second proportion of the endorsement node number, and the endorsement node number is the number of at least one endorsement node. For example, for each transaction message, when the number of transaction messages collected by the transaction initiation device is greater than 2/3 of endorsement node number and the signed and same transaction message sent by endorsement node greater than 2/3 of endorsement node number is received, it can be confirmed that the received transaction message satisfies the transaction sending condition. Otherwise, determining that the transaction sending condition is not met. In some embodiments, the first ratio and the second ratio may be the same. The first proportion and the second proportion may be set according to a specific application scenario, which is not limited in this application.
Optionally, in S33, after the transaction initiating device sends the transaction information to the sequencing node, the method may further include the following steps:
s34: and if the sequencing node detects that the uplink condition is met, the sequenced transaction information is used as the information to be stored, the information to be stored is stored in a trusted execution environment of the trusted equipment, and the hash value of the information to be stored is packaged into a block for uplink.
The sequencing node receives transaction information sent by the transaction initiating device, wherein the transaction information comprises a transaction proposal and an execution result. The sorting node sorts the transaction information.
Optionally, the sorting node may store plaintext data of the information to be stored into a trusted execution environment of the trusted device, and pack hash values of the information to be stored into blocks for uplink.
Optionally, when the number of the sorting nodes is one, after the sorting nodes receive the transaction information sent by the transaction initiating device, the transaction information is sorted in a sorting set; the sequencing node detects whether the uplink condition is met, if the uplink condition is met, the sequencing node takes the sequenced transaction information as information to be stored, plaintext data of the information to be stored is stored in a trusted execution environment of trusted storage equipment, meanwhile, hash values of the information to be stored are packaged into blocks for uplink, and the blocks are broadcasted to all block chain nodes in a block chain network. Wherein, the uplink condition may include that the time for putting the transaction information into the sorted set is greater than a threshold value or that the transaction information in the sorted set exceeds a certain threshold quantity; the hash value may be obtained by performing a hash operation on the transaction information in the information to be stored.
Optionally, the number of the sorting nodes is multiple, and the information to be stored is obtained by commonly recognizing the sorted transaction information by multiple sorting nodes. The number of the sequencing nodes is multiple, and one of the sequencing nodes can be used as a main sequencing node. The transaction information which is obtained through the plurality of sequencing nodes through sequencing consensus and is in consistent sequencing is more reliable.
The master sequencing node may be selected by the management node according to the comprehensive scores of the block chain nodes, the block chain node with the highest comprehensive score may be used as the master sequencing node, or the sequencing node with the highest comprehensive score may be used as the master sequencing node in the plurality of sequencing nodes, which is not limited in this application. Specifically, the composite score may be obtained by calculating the computation force and the reaction speed of the block chain node and corresponding weights, and the weight corresponding to the computation force may be the same as or different from the weight corresponding to the reaction speed. The computation power may refer to the speed of the computer processor computing the hash function output, and the reaction speed may represent the reaction speed of sending or receiving information. In addition, if the block link point goes down or malicious behavior occurs, the block link point cannot be selected as the sorting node or the main sorting node.
In some embodiments, referring to fig. 8, in the step S34, if it is detected that the uplink condition is satisfied, the step of using the sorted transaction information as the information to be stored may further include the steps of:
s341: and if each sequencing node detects that the uplink condition is met, sending the sequenced transaction information to other sequencing nodes.
Each sequencing node receives transaction information sent by the transaction initiating device, wherein the transaction information comprises a transaction proposal and an execution result. And after the detection band of each sequencing node meets the uplink condition, each sequencing node sends the respective sequencing information, namely the sequenced transaction information to other sequencing nodes. The uplink condition may include that the time for putting the transaction information into the sorted set is greater than a threshold or that the transaction information in the sorted set exceeds a certain threshold amount.
S342: the sequencing nodes compare the sequenced transaction information of all the sequencing nodes based on the received transaction information to obtain commonly recognized initial sequencing transaction information, and feed back the initial sequencing transaction information to the main sequencing node.
The sequencing nodes compare the sequenced transaction information of all the sequencing nodes based on the received transaction information, and if the quantity of the sequencing nodes with consistent sequenced transaction information reaches a first proportion, the consistent sequenced transaction information is used as initial sequencing transaction information and the initial sequencing transaction information is fed back to the main sequencing node. For example, when the sorting node receives the ordered transaction information which is up to the first order, for example, 2/3, and is consistent with the ordered transaction information sent by the sorting node, the consistent ordered transaction information is used as the initial ordered transaction information, and the sorting node sends the consistent ordered transaction information as the initial ordered transaction information to the main sorting node.
S343: and the main sequencing node compares the initial sequencing transaction information of each sequencing node to obtain the commonly recognized final sequencing transaction information, and the final sequencing transaction information is used as the information to be stored.
And the main sequencing node compares the initial sequencing transaction information of each sequencing node, and if the number of the sequencing nodes with consistent initial sequencing transaction information reaches a second proportion, the consistent initial sequencing transaction information is used as final sequencing transaction information. Wherein, for example, the second ratio may be 2/3. If the number of the sorting nodes with the same initial sorting transaction information reaches the second proportion, the fact that all the sorting nodes reach the same order of the transaction information can be shown, and the sorting of the transaction information is commonly known.
Optionally, the final sorted transaction information may be used as the information to be stored, and the master sorting node stores plaintext data of the information to be stored into a trusted execution environment of the trusted device.
In the step S34, the step of packing the hash values of the information to be stored into blocks for uplink may further include the following steps:
s344: and the main sequencing node packs the hash value of the information to be stored into a block and sends the block to other sequencing nodes.
The master sequencing node packs the hash values of the information to be stored into blocks, for example, hash operations are respectively performed on the transaction information in the information to be stored, and the information to be stored after the hash operations are performed is packed into blocks. The master ordering node broadcasts the tile to all of the ordering nodes such that each ordering node broadcasts the tile to all nodes in the blockchain network, wherein all nodes are also verification nodes.
S345: other sequencing nodes broadcast the blocks to verification nodes related to other sequencing nodes in the block chain network so that the verification nodes verify the blocks and chain the blocks after the verification is successful; wherein different sequencing nodes are associated with different verification nodes.
Other sequencing nodes broadcast the blocks to verification nodes associated with other sequencing nodes in the block chain network, where different sequencing nodes are associated with different verification nodes, and the verification nodes may also be all block chain nodes, which is not limited in the present application.
Specifically, each sorting node may be associated with a block link point, respectively, to implement a transaction block broadcast. For example, there are 3 total sequencing nodes, there are 30 block link points in the block chain network, where the 30 block link points include 3 sequencing nodes and 27 block link points, each sequencing node may perform transaction block broadcast on the associated 9 block link points, so that the 3 sequencing nodes individually send transaction blocks to the associated 9 block link points, and each sequencing node may be fixedly associated with 9 block link points, or may be associated with 9 block link points by means of random matching at each round of intelligent contract invocation. For example, there are 30 blockchain nodes in the blockchain network, where 3 sorting nodes are order 1, order 2, and order 3, respectively, and the remaining 27 blockchain nodes are Peer1, Peer2,.. and Peer27, respectively, and if each sorting node is associated with 9 blockchain nodes, for example, the sorting node order 1 may send the transaction block to the blockchain nodes Peer1, Peer2,.. and Peer 9; the ordering node Orderer2 may send the transaction block to block chain nodes Peer10, Peer 11. The ordering node Orderer3 may send the transaction block to block chain nodes Peer19, Peer 20. In addition, if the method is a random matching method, the association mapping relationship between the sequencing node and the block chain node is not fixed, and the method is not limited in this application.
Broadcasting the block to verification nodes related to other sequencing nodes in the block chain network through other sequencing nodes so that the verification nodes verify the block, and chaining the block after the verification is successful; the transmission pressure of the sequencing nodes can be reduced by associating different sequencing nodes with different broadcast modes of the verification nodes, the synchronization of transaction blocks is rapidly realized by a fragmentation broadcast mode, and the efficiency is improved.
In some embodiments, after the sorting node stores the plaintext information of the transaction information into the trusted execution environment of the trusted device, other blockchain nodes or devices may access the transaction information. In this regard, the present application provides a method for accessing transaction information, which can be referred to the following embodiments.
Referring to fig. 9, fig. 9 is a schematic flowchart illustrating a first embodiment of a transaction information access method according to the present application. The method may comprise the steps of:
s41: the transaction initiating device receives an access request of the access device for transaction information, wherein the transaction information is generated by the transaction initiating device in a triggering mode, and plaintext data of the transaction information is stored in a trusted device provided with a trusted execution environment.
If the block link point needs to access the plaintext data of the transaction information stored in the trusted device with the trusted execution environment, an access request can be submitted to the transaction initiating device corresponding to the transaction information. Wherein, the transaction information is generated by the trigger of the transaction initiating device.
The access device may be a blockchain node or a device that needs to access plaintext data of the transaction information, and the access device may send an access request for the transaction information to the transaction initiation device.
The transaction initiating device receives an access request of the access device for the transaction information. Wherein, the access request of the transaction information comprises at least one of the following: the label of the transaction information, the abstract information of the transaction information, the storage time of the transaction information and the access operation of the transaction information. The label of the transaction information may be a label set by the sorting node, for example, the label of the transaction information is set according to the sequence of the storage time of the transaction information, such as label 1, label 2, and label … …, respectively. For example, the tag of the transaction information is generated according to the data name of the transaction information, the data type of the transaction information, the memory size occupied by the data, and the like, which is not limited in the present application. The summary information of the transaction information may be a transaction hash value of the transaction information corresponding to the hash calculation. The transaction information access operation may include data operations such as downloading and consulting, and other information, such as identity information of the access device, may be included in the transaction information access request. This is not limited by the present application.
S42: the transaction initiating device judges whether the access device meets a preset access condition.
The transaction initiating device may determine whether the access device satisfies a preset access condition, specifically, may obtain the preset access condition matched with the tag of the transaction information from the access request, and determine whether the access device satisfies the obtained preset access condition. The transaction initiating equipment can set different access conditions for the labels of different transaction information in advance, and after the transaction initiating equipment sets the access conditions, the access conditions of the transaction information can be uplink stored, so that the access equipment can acquire the access conditions of the transaction information from a chain.
The preset access condition includes at least one of: the access equipment obtains the digital certificate issued by the certificate authority, the access equipment is a service related node of the transaction information, and the reputation score of the access equipment meets the reputation threshold.
If the access device obtains a digital Certificate issued by a CA (Certificate Authority), it is determined that the identity information of the access device is authorized to obtain the plaintext data of the transaction information, and if the digital Certificate issued by the CA is not obtained, it is not authorized to obtain the plaintext data of the transaction information. In addition, if the access device is a node related to the business of the transaction information, the access device has the right to acquire the plaintext data of the transaction information, and if the access device is a node unrelated to the business of the transaction information, the access device does not have the right to acquire the plaintext data of the transaction information. In addition, if the reputation score of the access equipment is lower than the reputation threshold or lower than the mean of the reputation scores of all the alternative endorsement nodes, the access equipment does not have the right to acquire the plaintext data of the transaction information, and otherwise, the access equipment has the right to acquire the plaintext data of the transaction information.
S43: if the preset access condition is met, the transaction initiating device sends the authorization information of the transaction information to the trusted device, so that the trusted device sends the transaction information to the access device based on the authorization information.
If the access device meets the preset access condition, the transaction initiating device may send authorization information for the transaction information to the trusted device. Specifically, the transaction initiating device generates authorization information based on the access request, and sends the authorization information to the trusted device, so that the trusted device obtains the transaction information from the trusted execution environment based on the authorization information, encrypts the transaction information, and sends the encrypted transaction information to the access device. For example, the trusted device receives the authorization information, retrieves transaction information in a trusted execution environment of the trusted device based on the authorization information and the access request, encrypts the transaction information after retrieving the transaction information, and sends the encrypted transaction information to the access device.
If the access device does not meet the preset access condition, the transaction initiating device does not send the authorization information of the transaction information to the trusted device, and the access device fails to access the transaction information.
Optionally, the sequencing node performs uplink storage on the authorization information and/or a shared record, wherein the shared record is used for recording that the trusted device sends the transaction information to the access device. For example, the authorization information of the transaction initiating device to the access device and the transaction information shared record of the trusted device to the access device may be uplink stored, so as to implement the non-tampering and traceable functions of the authorization information and the shared record.
In the embodiment, the clear text data of the transaction information is stored in the trusted device with the trusted execution environment, so that the privacy of the transaction initiating device and the transaction information can be protected; the transaction initiating device receives an access request of the access device for transaction information, judges whether the access device meets a preset access condition or not, and if the preset access condition is met, the transaction initiating device sends authorization information for the transaction information to the trusted device, so that the trusted device sends the transaction information to the access device based on the authorization information, the transaction initiating device has access control right of plaintext data of the transaction information, the plaintext data of the transaction information can be obtained only after the authorization of the transaction initiating device, and the security of transaction information access can be improved.
In some embodiments, before step S41, the method may further include: the transaction initiating equipment sends a transaction proposal to at least one endorsement node in the block chain network and receives transaction information sent by the endorsement node; the transaction information is obtained by the endorsement node executing an intelligent contract in the trusted execution environment to process a transaction proposal. And the transaction initiating device sends the transaction information to a sequencing node of the block chain network so as to send the transaction information to the trusted device for storage.
If the sequencing node in the block chain network detects that the uplink condition is met, the sequenced transaction information is used as information to be stored, plaintext data of the information to be stored is stored in a trusted execution environment of trusted equipment, and hash values of the information to be stored are packaged into blocks for uplink.
In some embodiments, the endorsement node is selected from the plurality of blockchain nodes based on reference information for the plurality of blockchain nodes, wherein the reference information comprises at least one of a behavior of the blockchain node participating in the consensus process, whether to execute the intelligent contract for the first time, and an evaluation index.
Specifically, the management node in the blockchain network may select an endorsement node among the blockchain link points. The management node may check all the blockchain nodes, and the behavior of the blockchain nodes participating in the consensus process may include whether the blockchain nodes in the blockchain network are down or not and whether malicious behavior occurs or not. If the block link point is out of order or has malicious behavior, the block link point cannot be selected as the alternative endorsement node, and if the block link point is not out of order and has no malicious behavior, the block link point can be selected as the alternative endorsement node.
The endorsement node can be selected from the alternative endorsement nodes, and whether the intelligent contract is executed for the first time in the block chain network or not is judged. If the situation that the intelligent contract is executed for the first time in the block chain network is judged, the block chain link points with the quantity threshold value or the proportion threshold value can be randomly selected from the alternative endorsement nodes to serve as the endorsement nodes.
If the intelligent contract is not executed for the first time in the block chain network, the block chain link points with the quantity threshold value or the proportion threshold value can be selected as endorsement nodes according to the evaluation indexes of the alternative endorsement nodes and the corresponding weights. Specifically, the evaluation index of the blockchain node may include at least one of the following: computing power, reaction speed, intelligent contract calling times of the nodes, external evaluation scores and increase numbers of the external evaluation scores. Wherein, the computational power refers to the speed of the computer processor computing the hash function output; the reaction speed represents the reaction speed of sending or receiving information; the intelligent contract calling times of the nodes refer to the times of actually executing the intelligent contracts by the nodes; the external evaluation score refers to an evaluation score performed by each of the other block link points for the block link point; the increment number of the external evaluation score refers to a difference value between the external evaluation score in the current round of intelligent contract invocation and the external evaluation score in the previous round of intelligent contract invocation, namely a difference value between the evaluation score of each block link point in the current round of intelligent contract invocation performed by the other block link points and the evaluation score of each block link point in the previous round of intelligent contract invocation performed by the other block link points, and the increment number of the external evaluation score can be a positive number, a negative number or zero.
And the management node calculates the comprehensive score of each current alternative endorsement node based on the evaluation indexes and the weights corresponding to the evaluation indexes, and selects the alternative endorsement nodes with the quantity threshold value or the proportion threshold value from the alternative endorsement nodes as the endorsement nodes for executing the intelligent contract.
The weight corresponding to the evaluation index of the block chain node, and the quantity threshold or the proportion threshold selected by the endorsement node may be set according to a specific application scenario, may also be preset by the transaction initiating device, may also be preset by the management node, and the present application is not limited thereto.
In the application, the management node can dynamically select part of the block chain nodes as endorsement nodes and execute intelligent contracts in the trusted execution environment of the endorsement nodes, so that the occurrence of the phenomenon of endorsement node solidification can be avoided, the possibility of attacking the endorsement nodes by malicious nodes is reduced, the reliability of endorsement results is prevented from being influenced, and the efficiency is improved. In addition, the consumption of computing resources for executing the intelligent contract in the trusted execution environment of all the blockchain nodes can be reduced, and the privacy of executing the intelligent contract is protected.
The specific implementation of this embodiment can refer to the implementation process of the above embodiment, and is not described herein again.
Referring to fig. 10, fig. 10 is a schematic structural diagram of an embodiment of a computer device according to the present application. The computer device 500 comprises a memory 501 and a processor 502, wherein the memory 501 and the processor 502 are coupled to each other, the memory 501 stores program data, and the processor 502 is configured to execute the program data to implement the steps performed by the transaction initiation device, endorsement node, or sequencing node in any of the above-described embodiments of the method.
In this embodiment, the processor 502 may also be referred to as a CPU (Central Processing Unit). The processor 502 may be an integrated circuit chip having signal processing capabilities. The processor 502 may also be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. A general purpose processor may be a microprocessor or the processor 502 may be any conventional processor or the like.
The specific implementation of this embodiment can refer to the implementation process of the above embodiment, and is not described herein again.
For the method of the above embodiment, the present application provides a system for accessing transaction information, please refer to fig. 11, and fig. 11 is a schematic structural diagram of an embodiment of the system for accessing transaction information of the present application. The access system 600 for transaction information comprises a transaction initiating device 601, and an access device 602, a trusted device 603 and a sequencing node 604 which are respectively connected with the transaction initiating device 601; the sequencing node 604 is configured to store the transaction information in the trusted device 603; the transaction initiating device 601, the access device 602 and the trusted device 603 and the sorting node 604 are adapted to perform corresponding steps in any of the embodiments of the method for accessing transaction information described above.
The specific implementation of this embodiment can refer to the implementation process of the above embodiment, and is not described herein again.
Referring to fig. 12, fig. 12 is a schematic structural diagram of another embodiment of the blockchain system of the present application. The blockchain system 700 comprises an endorsement node 701 and a sorting node 702, wherein the endorsement node 701 and the sorting node 702 are configured to perform corresponding steps in any of the embodiments of the method described above.
In some embodiments, the blockchain system 700 may further include a verification node (not shown), which may be connected to the endorsement node 701 and the sorting node 702, and the endorsement node 701, the sorting node 702 and the verification node are configured to perform corresponding steps in any of the embodiments of the method described above. The verification node is all nodes, and the verification node may also include an endorsement node 701 and a sorting node 702.
The specific implementation of this embodiment can refer to the implementation process of the above embodiment, and is not described herein again.
For the method of the above embodiment, it can be implemented in the form of a computer program, so that the present application provides a storage device, please refer to fig. 13, where fig. 13 is a schematic structural diagram of an embodiment of the storage device of the present application. The memory device 800 has stored therein program data 801 that can be executed by a processor, the program data being executable by the processor to perform the steps of any of the embodiments of any of the methods described above.
The specific implementation of this embodiment can refer to the implementation process of the above embodiment, and is not described herein again.
The storage device 800 of this embodiment may be a medium that can store program data, such as a usb disk, a portable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk, or may be a server that stores the program data, and the server may transmit the stored program data to other devices for operation, or may self-operate the stored program data.
In the several embodiments provided in the present application, it should be understood that the disclosed method and apparatus may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, a division of a module or a unit is merely a logical division, and an actual implementation may have another division, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some interfaces, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in a storage device, which is a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing an electronic device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application.
It will be apparent to those skilled in the art that the modules or steps of the present application described above may be implemented by a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and they may alternatively be implemented by program code executable by a computing device, such that they may be stored in a storage device and executed by a computing device, or fabricated separately as individual integrated circuit modules, or fabricated as a single integrated circuit module from multiple modules or steps. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only an example of the present application and is not intended to limit the scope of the present application, and all modifications of equivalent structures and equivalent processes, which are made by the contents of the specification and the drawings, or which are directly or indirectly applied to other related technical fields, are intended to be included within the scope of the present application.

Claims (10)

1. A method for performing intelligent contracts for blockchains, comprising:
the transaction initiating device sends a transaction proposal to at least one endorsement node; the endorsement node is provided with a trusted execution environment, and the trusted execution environment of the endorsement node stores an intelligent contract;
the endorsement node executes the intelligent contract based on the transaction proposal to obtain transaction information and sends the transaction information to the transaction initiating equipment;
and the transaction initiating equipment receives the transaction information and sends the transaction information to a sequencing node so as to uplink the transaction information.
2. The method of claim 1, wherein prior to the endorsement node executing the intelligent contract based on the transaction proposal to obtain transaction information, the method further comprises:
the trusted execution environment of the endorsement node sends a registration request to a trusted environment registry so that the trusted environment registry authenticates the trusted execution environment of the endorsement node; the trusted environment registry is used for recording the authentication result of the endorsement node and the trusted execution environment thereof in a determined manner;
and the endorsement node acquires the authentication result from the trusted environment registry and sends the authentication result to the management node, so that the management node sends the authentication result to the sequencing node for uplink when confirming that the trusted execution environment of the endorsement node passes the authentication based on the authentication result.
3. The method of claim 1, wherein the endorsement node executes the intelligent contract based on the transaction proposal to obtain transaction information, comprising:
the endorsement node inputs plaintext data of the transaction proposal into the intelligent contract to be executed, and transaction information is obtained;
and/or, the sending the transaction information to the transaction initiating device includes: the endorsement node encrypts the transaction information and sends the encrypted transaction information to the transaction initiating equipment; the transaction initiating device receives the transaction information, and the transaction information comprises: and the transaction initiating equipment receives the encrypted transaction information and decrypts the encrypted transaction information.
4. The method of claim 1, wherein the trusted environment registry records an endorsement node provided with the trusted execution environment and an authentication result of the trusted execution environment in the endorsement node;
the transaction initiation device sending a transaction proposal to at least one endorsement node, comprising:
the transaction initiating device queries the trusted environment registry to obtain the endorsement node and the authentication result corresponding to the endorsement node;
and the transaction initiating equipment verifies the trusted execution environment of the endorsement node by using the authentication result, and sends the transaction proposal to the endorsement node when the verification is passed.
5. The method of claim 1, wherein sending the transaction information to a sequencing node comprises:
the transaction initiating device determines that the received transaction information meets a transaction sending condition and sends the transaction information to a sequencing node;
the transaction sending condition comprises that the number of the received transaction information accounts for more than a first proportion of endorsement node numbers, and/or the number of the received and same transaction information accounts for more than a second proportion of the endorsement node numbers, and the endorsement node numbers are the number of the at least one endorsement node.
6. The method of claim 1, wherein after the transaction initiation device sends the transaction information to a sequencing node, the method further comprises:
and if the sequencing node detects that the uplink condition is met, the sequenced transaction information is used as information to be stored, the information to be stored is stored in a trusted execution environment of trusted equipment, and the hash value of the information to be stored is packaged into a block for uplink.
7. The method of claim 6, wherein storing the information to be stored in a trusted execution environment of a trusted device and packaging the information to be stored in blocks for uplink comprises: the sequencing node stores plaintext data of the information to be stored into a trusted execution environment of trusted equipment, and packs the hash value of the information to be stored into blocks for uplink;
and/or the number of the sequencing nodes is multiple, and the information to be stored is obtained by commonly recognizing the sequenced transaction information through the sequencing nodes;
and/or, after the sorting node stores plaintext information of the transaction information into a trusted execution environment of a trusted device, the method further comprises:
the transaction initiating equipment node receives an access request of access equipment to the transaction information;
the transaction initiating device judges whether the access request meets a preset access condition;
if the preset access condition is met, sending authorization information of the transaction information to the trusted device, so that the trusted device sends the transaction information to the access device based on the authorization information.
8. The method of claim 1, wherein the endorsement node is selected from a plurality of block link nodes based on reference information for the plurality of block link nodes, wherein the reference information comprises at least one of an activity of the block link nodes participating in a consensus process, whether to execute an intelligent contract for the first time, and an evaluation index.
9. A computer device comprising a memory and a processor coupled to each other, the memory having stored therein program data, the processor being configured to execute the program data to perform the steps performed by a transaction initiation device, endorsement node or ordering node in the method of any one of claims 1 to 8.
10. A blockchain system comprising an endorsement node and a sequencing node, wherein the endorsement node and the sequencing node are configured to perform corresponding steps in the method of any one of claims 1 to 8.
CN202110713258.6A 2021-06-25 2021-06-25 Block chain execution intelligent contract method, computer equipment and block chain system Active CN113379420B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110713258.6A CN113379420B (en) 2021-06-25 2021-06-25 Block chain execution intelligent contract method, computer equipment and block chain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110713258.6A CN113379420B (en) 2021-06-25 2021-06-25 Block chain execution intelligent contract method, computer equipment and block chain system

Publications (2)

Publication Number Publication Date
CN113379420A true CN113379420A (en) 2021-09-10
CN113379420B CN113379420B (en) 2023-03-31

Family

ID=77579226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110713258.6A Active CN113379420B (en) 2021-06-25 2021-06-25 Block chain execution intelligent contract method, computer equipment and block chain system

Country Status (1)

Country Link
CN (1) CN113379420B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070617A (en) * 2021-11-16 2022-02-18 上海柯林布瑞信息技术有限公司 Medical data sharing method and device based on block chain
CN114422535A (en) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 Method and device for deploying contracts in block chain, computer equipment and storage medium
CN114938706A (en) * 2022-01-28 2022-08-23 香港应用科技研究院有限公司 Method and equipment for data exchange between blockchain system and non-blockchain system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533429A (en) * 2019-08-30 2019-12-03 北京金山云网络技术有限公司 Transaction endorsement method, apparatus and block chain network in block chain
CN111046037A (en) * 2019-11-18 2020-04-21 远光软件股份有限公司 Transaction processing method of block chain, electronic device and storage medium
CN111047319A (en) * 2019-09-03 2020-04-21 腾讯科技(深圳)有限公司 Transaction processing method of block chain network and block chain network
CN111127005A (en) * 2019-11-18 2020-05-08 远光软件股份有限公司 Transaction endorsement method for block chain, electronic device and storage medium
CN111415153A (en) * 2020-03-17 2020-07-14 联想(北京)有限公司 Processing method, electronic equipment and transaction method based on block chain
CN111899107A (en) * 2020-08-20 2020-11-06 海南大学 Scientific and technological service transaction method based on block chain intelligent contract
CN112288435A (en) * 2020-11-20 2021-01-29 天翼电子商务有限公司 Intelligent contract execution method supporting trusted execution environment
CN112311735A (en) * 2019-07-30 2021-02-02 华为技术有限公司 Credible authentication method, network equipment, system and storage medium
CN112380565A (en) * 2020-11-20 2021-02-19 天翼电子商务有限公司 Secure multi-party computing method based on trusted hardware and block chain

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311735A (en) * 2019-07-30 2021-02-02 华为技术有限公司 Credible authentication method, network equipment, system and storage medium
CN110533429A (en) * 2019-08-30 2019-12-03 北京金山云网络技术有限公司 Transaction endorsement method, apparatus and block chain network in block chain
CN111047319A (en) * 2019-09-03 2020-04-21 腾讯科技(深圳)有限公司 Transaction processing method of block chain network and block chain network
CN111046037A (en) * 2019-11-18 2020-04-21 远光软件股份有限公司 Transaction processing method of block chain, electronic device and storage medium
CN111127005A (en) * 2019-11-18 2020-05-08 远光软件股份有限公司 Transaction endorsement method for block chain, electronic device and storage medium
CN111415153A (en) * 2020-03-17 2020-07-14 联想(北京)有限公司 Processing method, electronic equipment and transaction method based on block chain
CN111899107A (en) * 2020-08-20 2020-11-06 海南大学 Scientific and technological service transaction method based on block chain intelligent contract
CN112288435A (en) * 2020-11-20 2021-01-29 天翼电子商务有限公司 Intelligent contract execution method supporting trusted execution environment
CN112380565A (en) * 2020-11-20 2021-02-19 天翼电子商务有限公司 Secure multi-party computing method based on trusted hardware and block chain

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070617A (en) * 2021-11-16 2022-02-18 上海柯林布瑞信息技术有限公司 Medical data sharing method and device based on block chain
CN114070617B (en) * 2021-11-16 2022-11-08 上海柯林布瑞信息技术有限公司 Medical data sharing method and device based on block chain
CN114422535A (en) * 2022-01-18 2022-04-29 网易(杭州)网络有限公司 Method and device for deploying contracts in block chain, computer equipment and storage medium
CN114422535B (en) * 2022-01-18 2024-04-09 网易(杭州)网络有限公司 Method, apparatus, computer device and storage medium for distributing contracts in blockchain
CN114938706A (en) * 2022-01-28 2022-08-23 香港应用科技研究院有限公司 Method and equipment for data exchange between blockchain system and non-blockchain system
CN114938706B (en) * 2022-01-28 2024-05-03 香港应用科技研究院有限公司 Method and apparatus for exchanging data between a blockchain system and a non-blockchain system

Also Published As

Publication number Publication date
CN113379420B (en) 2023-03-31

Similar Documents

Publication Publication Date Title
CN113379420B (en) Block chain execution intelligent contract method, computer equipment and block chain system
CN110493261B (en) Verification code obtaining method based on block chain, client, server and storage medium
CN111914027B (en) Block chain transaction keyword searchable encryption method and system
CN112446785A (en) Cross-chain transaction method, system, device, equipment and storage medium
US20060156398A1 (en) System security event notification aggregation and non-repudiation
CN113301114B (en) Block chain consensus node selection method and device, computer equipment and storage medium
CN102780698A (en) User terminal safety communication method in platform of Internet of Things
CN109688098B (en) Method, device and equipment for secure communication of data and computer readable storage medium
EP3659060B1 (en) Consensus protocol for permissioned ledgers
CN110096894B (en) Data anonymous sharing system and method based on block chain
CN110677234B (en) Privacy protection method and system based on homomorphic encryption blockchain
CN109040060B (en) Terminal matching method and system and computer equipment
US11323883B2 (en) Pattern driven selective sensor authentication for internet of things
CN115001775B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN114884697A (en) Data encryption and decryption method based on state cryptographic algorithm and related equipment
CN106713256A (en) Method for authenticating software and hardware binding of computer special for tax control
CN113379419B (en) Transaction information access method and system and computer equipment
CN115865364A (en) Block chain transaction security evaluation method and system
CN114745115A (en) Information transmission method and device, computer equipment and storage medium
CN111651740B (en) Trusted platform sharing system for distributed intelligent embedded system
CN114065170A (en) Method and device for acquiring platform identity certificate and server
CN116361383A (en) Block generation method, block chain system, storage medium and related equipment
US20050108528A1 (en) Computer network and method for transmitting and authenticating data in the computer network
CN113592638A (en) Transaction request processing method and device and alliance chain
CN115242440B (en) Block chain-based internet of things equipment trusted calling method, device and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant