CN113379420B - 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
CN113379420B
CN113379420B CN202110713258.6A CN202110713258A CN113379420B CN 113379420 B CN113379420 B CN 113379420B CN 202110713258 A CN202110713258 A CN 202110713258A CN 113379420 B CN113379420 B CN 113379420B
Authority
CN
China
Prior art keywords
transaction
node
information
transaction information
trusted
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.)
Active
Application number
CN202110713258.6A
Other languages
Chinese (zh)
Other versions
CN113379420A (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 in 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 equipment 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 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 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 these drawings without creative efforts. Wherein:
FIG. 1 is a schematic flow chart diagram of a first embodiment of a method for performing intelligent contracts for blockchains in accordance with 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 in FIG. 4;
FIG. 7 is a flowchart illustrating an embodiment of step S33 in FIG. 4;
FIG. 8 is a flowchart illustrating an embodiment of step S34 in 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", "second" and "first" in this application are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or to implicitly indicate 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 may 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 node 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 this embodiment, a trusted execution environment is set in the endorsement node, and the trusted execution environment of the endorsement node stores an intelligent contract, the transaction initiation 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 initiation device receives the transaction information and sends the transaction information to the sequencing node to uplink 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 security 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 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 the determination.
Referring to fig. 3, fig. 3 is a schematic structural diagram of an embodiment of the present invention. 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. The trusted environment registry 104, upon receiving the authentication result sent by the ISA105, 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 after the intelligent contract executes input data to generate an execution result, the execution result can be sent to the intelligent contract library. 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: and 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 failure of the calling of the intelligent contract for the transaction proposal.
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 the transaction messages collected by the transaction initiating device accounts for more than 2/3 of the number of endorsement nodes, and the signed and same transaction messages sent by endorsement nodes which account for more than 2/3 of the number of endorsement nodes are received, the received transaction messages can be confirmed to meet the transaction sending conditions. 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 sorting 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 receiving the transaction information sent by the transaction initiating device, the sorting nodes sort the transaction information 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 hash operations 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 node of the block link 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, if it is detected that the uplink condition is satisfied in the step S34, 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 sequencing node receives that the sequenced transaction information sent by the sequencing node reaching the first ratio, for example, 2/3, is consistent, the consistent sequenced transaction information is used as initial sequencing transaction information, and then the sequencing node sends the consistent sequenced transaction information to the main sequencing node as initial sequencing transaction information.
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 sequencing 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 sequencing 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 sequencing node is associated with 9 blockchain nodes, for example, the sequencing node order 1 can send a transaction block to the blockchain nodes Peer1, peer2,... And Peer9; the order 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 incidence 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 … …. 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 access operation of the transaction information may include data operations such as downloading and consulting, and other information, such as identity information of the access device, may also be included in the access request of the transaction information. 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 device obtains the digital certificate issued by the certificate authority, the access device is a service related node of transaction information, and the reputation score of the access device meets a reputation threshold value.
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 value 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 to the transaction information, the transaction initiating device judges whether the access device meets a preset access condition, if the preset access condition is met, the transaction initiating device sends 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, 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 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 an activity 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 link points as endorsement nodes and execute intelligent contracts in the trusted execution environment of the endorsement nodes, so that the phenomenon of solidifying the endorsement nodes can be avoided, the possibility of attacking the endorsement nodes by malicious nodes is reduced, the reliability of the endorsement result 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 Central Processing Unit (CPU). 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.
With respect to the method of the foregoing embodiment, the present application provides a transaction information access system, please refer to fig. 11, where fig. 11 is a schematic structural diagram of an embodiment of the transaction information access system 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 equivalent structures or equivalent processes performed by the present application and the contents of the attached drawings, which are directly or indirectly applied to other related technical fields, are also included in the scope of the present application.

Claims (9)

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;
the transaction initiating equipment receives the transaction information and sends the transaction information to a sequencing node so as to uplink the transaction information;
wherein the transaction initiation device sends a transaction proposal to at least one endorsement node, comprising:
the transaction initiating device queries in a trusted environment registry to obtain the endorsement node and an authentication result corresponding to the endorsement node; 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;
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.
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 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 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 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.
5. 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.
6. The method of claim 5, wherein storing the information to be stored in a trusted execution environment of a trusted device and packaging the information to be stored into 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.
7. 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.
8. 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, an endorsement node, or a sequencing node in the method of any one of claims 1 to 7.
9. 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 7.
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 CN113379420A (en) 2021-09-10
CN113379420B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114022162A (en) * 2021-10-27 2022-02-08 杭州协能科技股份有限公司 Echelon battery tracing system and method based on trusted execution environment
CN114070617B (en) * 2021-11-16 2022-11-08 上海柯林布瑞信息技术有限公司 Medical data sharing method and device based on block chain
CN114422535B (en) * 2022-01-18 2024-04-09 网易(杭州)网络有限公司 Method, apparatus, computer device and storage medium for distributing contracts in blockchain
CN114938706B (en) * 2022-01-28 2024-05-03 香港应用科技研究院有限公司 Method and apparatus for exchanging data between a blockchain system and a non-blockchain system
CN114693112A (en) * 2022-03-29 2022-07-01 中国工商银行股份有限公司 Riding method and device based on block chain, computer equipment and storage medium

Citations (2)

* 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
CN111899107A (en) * 2020-08-20 2020-11-06 海南大学 Scientific and technological service transaction method based on block chain intelligent contract

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112311735B (en) * 2019-07-30 2021-11-19 华为技术有限公司 Credible authentication method, network equipment, system and storage medium
CN110544095A (en) * 2019-09-03 2019-12-06 腾讯科技(深圳)有限公司 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
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

Patent Citations (2)

* 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
CN111899107A (en) * 2020-08-20 2020-11-06 海南大学 Scientific and technological service transaction method based on block chain intelligent contract

Also Published As

Publication number Publication date
CN113379420A (en) 2021-09-10

Similar Documents

Publication Publication Date Title
CN113379420B (en) Block chain execution intelligent contract method, computer equipment and block chain system
CN109257342B (en) Block chain cross-chain authentication method, system, server and readable storage medium
CN111914027B (en) Block chain transaction keyword searchable encryption method and system
CN110493261B (en) Verification code obtaining method based on block chain, client, server and storage medium
CN112446785A (en) Cross-chain transaction method, system, device, equipment and storage medium
US7937760B2 (en) System security agent authentication and alert distribution
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
CN113282603A (en) Block chain consensus node checking method, device, equipment and 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
US11323883B2 (en) Pattern driven selective sensor authentication for internet of things
CN111833062B (en) Credibility verification system for digital asset data packet
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
CN111769952A (en) Data processing system of block chain sensor
CN113379419B (en) Transaction information access method and system and computer equipment
CN111651740B (en) Trusted platform sharing system for distributed intelligent embedded system
CN114745115A (en) Information transmission method and device, computer equipment and storage medium
CN116361383A (en) Block generation method, block chain system, storage medium and related equipment
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
CN113542251B (en) Data reporting method and device

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