Computing device configuration and management using a secure decentralized transaction ledger
US-2016261690-A1 · Sep 8, 2016 · US
US10447478B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10447478-B2 |
| Application number | US-201615296953-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 18, 2016 |
| Priority date | Jun 6, 2016 |
| Publication date | Oct 15, 2019 |
| Grant date | Oct 15, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method is provided for delegating behavior of a smart contract associated with a blockchain to code that is not part of the blockchain. A system directs execution by a virtual machine of the smart contract. During execution of the smart contract, the smart contract sends to a cryptlet container service, via a cryptodelegate, a request to delegate a behavior to a cryptlet that executes on an attested host. During execution the cryptlet container service identifies a host for executing code of the cryptlet in an appropriate cryptlet container. The cryptlet container service directs the identified host to execute the code of the cryptlet to perform the delegated behavior. After the delegated behavior is performed, the cryptlet container service receives from the cryptlet a response to the requested behavior. The cryptlet container service sends the response to the smart contract on the blockchain that is verified by the cryptodelegate.
Opening claim text (preview).
The invention claimed is: 1. A computer system for delegating behavior associated with a contract installed on a blockchain to a non-blockchain application, the computer system comprising: one or more hardware processors; one or more non-transitory computer-readable storage media storing computer-executable instructions that when executed by the one or more hardware processors, cause the one or more hardware processor to: execute a cryptodelegate to: receive from the contract installed on a blockchain executing on a virtual machine, an identity of a cryptlet and a requested behavior to be performed by the cryptlet, provide to a cryptlet container service the identity and the requested behavior, receive from the cryptlet container service a response generated by the cryptlet performing the requested behavior, and send to the contract, the response, wherein the cryptlet is a cryptrographic applet that is to perform the requested behavior on behalf of the contract installed on the blockchain; and execute the cryptlet container service to: store information relating to registered cryptlets including references to the registered cryptlets, receive from the cryptodelegate the identity and the requested behavior, identify a host for executing the cryptlet container and the cryptlet, authenticate the cryptlet, provide the requested behavior to the cryptlet, receive the response generated by the cryptlet, and send to the blockchain and verified by the cryptodelegate, the response. 2. The computer system of claim 1 wherein the cryptodelegate is executed by the virtual machine. 3. The computer system of claim 1 wherein the requested behavior is to send events to the contract. 4. The computer system of claim 1 wherein the instructions are further to cause the one or more hardware processors to execute the cryptodelegate to receive code of the cryptlet from the contract and provide the code of the cryptlet to the cryptlet container service and wherein the instructions are further to cause the one or more hardware processors to execute the cryptlet container service to verify the code of the cryptlet by generating a hash of the code of the cryptlet and checking that the code of the cryptlet matches a hash provided by the contract, to record the code of the cryptlet in a cryptlet registration blockchain, and to direct an attested host to execute the cryptlet to perform the requested behavior. 5. The computer system of claim 1 wherein the instructions are further to cause the one or more hardware processors to execute the cryptodelegate to record in a blockchain associated with the contract, an indication of each request by and response provided to the contract. 6. The computer system of claim 1 wherein the contract provides to the one or more hardware processors an indication of a host that is to execute the cryptlet. 7. The computer system of claim 1 wherein the cryptlet executes within an environment provided by a cryptlet container. 8. The computer system of claim 1 wherein the cryptlet container executes within a protected enclave environment for secure, tamper proof operation. 9. The computer system of claim 1 wherein the contract provides to the one or more hardware processors, configuration information for the cryptlet. 10. The computer system of claim 9 wherein the configuration information includes an interface definition for the cryptlet and specification of attributes of the cryptlet. 11. A method performed by a computing system, the method comprising: receiving, from a smart contract being executed by a virtual machine, a request to register a contract cryptlet for performing behavior on behalf of the smart contract, code of the contract cryptlet, and an indication of an attested host to execute the code of the contract cryptlet, wherein the contract cryptlet is separate from the smart contract and is a cryptographic applet that is to perform the behavior on behalf of the smart contract being executed by the virtual machine; verifying the code of the contract cryptlet; storing the code of the contract cryptlet in a cryptlet registration blockchain and data storage; receiving, from the smart contract, a request for the contract cryptlet to perform the behavior; directing the contract cryptlet to execute on the attested host; and sending to the contract cryptlet executing at the attested host the request to perform the behavior; wherein communications with the smart contract and the contract cryptlet are via secure channels. 12. The method of claim 11 wherein verifying the code comprises generating a hash of the code of the contract cryptlet and comparing the hash to a public key associated with the code of the contract cryptlet. 13. The method of claim 11 wherein receiving the request from the smart contract further comprises receiving the request from the smart contract via a cryptodelegate that is executed by the virtual machine. 14. The method of claim 13 wherein the cryptodelegate records in a blockchain on which the smart contract is installed an indication of communication with the smart contract and the cryptodelegate. 15. The method of claim 11 wherein the virtual machine executes on a node of a blockchain on which the smart contract is installed and the attested host is a computer that is external to nodes of the blockchain on which the smart contract is installed. 16. The method of claim 11 wherein the cryptlet registration blockchain is separate from a blockchain on which the smart contract is installed. 17. The method of claim 11 wherein code of the smart contract and the cryptlet are approved by members of a consortium.
at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability · CPC title
Proxy, i.e. using intermediary entity to perform cryptographic operations · CPC title
Financial cryptography, e.g. electronic payment or e-cash · CPC title
involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title
using cryptographic hash functions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.