Enjoy your
FREE PREVIEW which shows only 2022 data and 25 documents. Contact
Patent Forecast for full access.
Cryptocurrency: Networks and Computing
Search All Applications in Cryptocurrency: Networks and Computing
Application US20200167503
Published 2020-05-28
Managing A Smart Contract On A Blockchain
A computer-implemented method includes: in response to a first client device invoking a transaction with respect to a target smart contract, obtaining, by a blockchain node device in a blockchain, encrypted contract codes of the target smart contract; transmitting the encrypted contract codes of the target smart contract to a trusted execution environment; in response to determining that the target smart contract is not a managed smart contract, extracting a decryption key stored in the trusted execution environment, in which the decryption key corresponds to the encrypted contract codes of the target smart contract; decrypting the encrypted contract codes of the target smart contract; executing the decrypted contract codes of the target smart contract in the trusted execution environment; encrypting the execution result; and transmitting the encrypted execution result to the distributed ledgers of the blockchain for storage.
Much More than Average Length Specification
View the Patent Matrix® Diagram to Explore the Claim Relationships
USPTO Full Text Publication >
- 1. A computer-implemented method comprising:
in response to a first client device invoking a transaction with respect to a target smart contract, obtaining, by a blockchain node device in a blockchain, encrypted contract codes of the target smart contract, wherein the encrypted contract codes are stored in distributed ledgers of the blockchain, and wherein a trusted execution environment is installed on the blockchain node device; transmitting the encrypted contract codes of the target smart contract to the trusted execution environment; obtaining a smart contract management rule; determining, in the trusted execution environment, that the target smart contract is not a managed smart contract based on the smart contract management rule; in response to determining that the target smart contract is not a managed smart contract, extracting a decryption key stored in the trusted execution environment, wherein the decryption key corresponds to the encrypted contract codes of the target smart contract; decrypting the encrypted contract codes of the target smart contract using the extracted decryption key; executing the decrypted contract codes of the target smart contract in the trusted execution environment to obtain an execution result; encrypting the execution result; and transmitting the encrypted execution result to the distributed ledgers of the blockchain for storage.
- 8. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:
in response to a first client device invoking a transaction with respect to a target smart contract, obtaining, by a blockchain node device in a blockchain, encrypted contract codes of the target smart contract, wherein the encrypted contract codes are stored in distributed ledgers of the blockchain, and wherein a trusted execution environment is installed on the blockchain node device; transmitting the encrypted contract codes of the target smart contract to the trusted execution environment; obtaining a smart contract management rule; determining, in the trusted execution environment, that the target smart contract is not a managed smart contract based on the smart contract management rule; in response to determining that the target smart contract is not a managed smart contract, extracting a decryption key stored in the trusted execution environment, wherein the decryption key corresponds to the encrypted contract codes of the target smart contract; decrypting the encrypted contract codes of the target smart contract using the extracted decryption key; executing the decrypted contract codes of the target smart contract in the trusted execution environment to obtain an execution result; encrypting the execution result; and transmitting the encrypted execution result to the distributed ledgers of the blockchain for storage.
- 15. A computer-implemented system, comprising:
one or more computers; and one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:
in response to a first client device invoking a transaction with respect to a target smart contract, obtaining, by a blockchain node device in a blockchain, encrypted contract codes of the target smart contract, wherein the encrypted contract codes are stored in distributed ledgers of the blockchain, and wherein a trusted execution environment is installed on the blockchain node device;
transmitting the encrypted contract codes of the target smart contract to the trusted execution environment;
obtaining a smart contract management rule;
determining, in the trusted execution environment, that the target smart contract is not a managed smart contract based on the smart contract management rule;
in response to determining that the target smart contract is not a managed smart contract, extracting a decryption key stored in the trusted execution environment, wherein the decryption key corresponds to the encrypted contract codes of the target smart contract;
decrypting the encrypted contract codes of the target smart contract using the extracted decryption key;
executing the decrypted contract codes of the target smart contract in the trusted execution environment to obtain an execution result;
encrypting the execution result; and
transmitting the encrypted execution result to the distributed ledgers of the blockchain for storage.