Digital Contracts in Blockchain Environments
Digital or “smart” contracts execute in a blockchain environment. Any entity (whether public or private) may specify a digital contract via a contract identifier in a blockchain. Because there may be many digital contracts offered as services, the contract identifier uniquely identifies a particular digital contract offered by a vendor or supplier. The contract identifier may also uniquely identify a virtual machine that executes the digital contract. Virtual machines may thus be preassigned to execute particular digital contracts. Moreover, data records in a blockchain data layer may be generated that document execution of the digital contract by the virtual machine. The data records in the blockchain data layer may also document any transaction records of a cryptocoinage that is paid, redeemed, traded, or transferred according to the terms of the digital contract.
1 . A method, comprising:
receiving, by a server, a private blockchain associated with a private entity, the private blockchain specifying a contract identifier that uniquely identifies a digital contract;
determining, by the server, a virtual machine that executes the digital contract;
instructing, by the server, the virtual machine to execute the digital contract; and
generating, by the server, a data record in a blockchain data layer that documents an execution of the digital contract by the virtual machine.
2 . The method of claim 1 , further comprising generating a cryptographic proof based on a hashing of the data record in the blockchain data layer.
3 . The method of claim 2 , further comprising publicly publishing the cryptographic proof via a public blockchain.
4 . The method of claim 1 , further comprising generating a cryptographic proof of the execution of the digital contract by the virtual machine.
5 . The method of claim 5 , further comprising publicly publishing the cryptographic proof via a public blockchain.
6 . The method of claim 1 , further comprising transacting a cryptocoinage in response to the execution of the digital contract.
7 . The method of claim 1 , further comprising transacting a cryptocoinage in response to generating the data record in the blockchain data layer.
8 . A system, comprising:
a hardware processor; and
a memory device, the memory device storing instructions, the instructions when executed causing the hardware processor to perform operations, the operations comprising:
receiving a private blockchain associated with a private entity, the private blockchain specifying a contract identifier that uniquely identifies a digital contract;
querying an electronic database for the contract identifier, the electronic database electronically associating virtual machines to contract identifiers including the contract identifier specified by the private blockchain;
identifying the virtual machine in the electronic database that is electronically associated with the contract identifier specified by the private blockchain;
instructing the virtual machine to execute the digital contract; and
generating a data record in a blockchain data layer that documents an execution of the digital contract by the virtual machine.
9 . The system of claim 8 , wherein the operations further comprise generating a cryptographic proof based on a hashing of the data record in the blockchain data layer.
10 . The system of claim 9 , wherein the operations further comprise publicly publishing the cryptographic proof via a public blockchain.
11 . The system of claim 8 , wherein the operations further comprise generating a cryptographic proof of the execution of the digital contract by the virtual machine.
12 . The system of claim 11 , wherein the operations further comprise publicly publishing the cryptographic proof via a public blockchain.
13 . The system of claim 8 , wherein the operations further comprise transacting a cryptocoinage in response to the execution of the digital contract.
14 . The system of claim 8 , wherein the operations further comprise transacting a cryptocoinage in response to the generating of the data record in the blockchain data layer.
15 . A memory device storing instructions that when executed cause a hardware processor to perform operations, the operations comprising:
receiving a private blockchain associated with a private entity, the private blockchain containing cryptographically hashed private data associated with private cryptocoinage issued by the private entity and specifying a contract identifier that uniquely identifies a digital contract;
querying an electronic database for the contract identifier, the electronic database electronically associating virtual machines to contract identifiers including the contract identifier specified by the private blockchain;
identifying the virtual machine in the electronic database that is electronically associated with the contract identifier specified by the private blockchain;
instructing the virtual machine to execute the digital contract;
generating a data record in a blockchain data layer that documents an execution of the digital contract by the virtual machine.
generating a cryptographic proof based on a hashing of the data record in the blockchain data layer;
publicly publishing the cryptographic proof via a public blockchain; and
identifying the data record in the blockchain data layer that is associated with the execution of the digital contract by the virtual machine.
16 . The memory device of claim 15 , wherein the operations further comprise receiving a request for the data record in the blockchain data layer that is associated with the execution of the digital contract by the virtual machine.
17 . The memory device of claim 15 , wherein the operations further comprise transacting a cryptocoinage in response to the execution of the digital contract by the virtual machine.
18 . The memory device of claim 15 , wherein the operations further comprise transacting a cryptocoinage in response to the generating of the data record in the blockchain data layer.