BACKGROUND

Blockchain systems have been proposed for a variety of application scenarios, including applications in the financial industry, health care, IoT, and so forth. For example, the Bitcoin system was developed to allow electronic cash to be transferred directly from one party to another without going through a financial institution. A bitcoin (e.g., an electronic coin) is represented by a chain of transactions that transfers ownership from one party to another party. To transfer ownership of a bitcoin, a new transaction may be generated and added to a stack of transactions in a block. The new transaction, which includes the public key of the new owner, may be digitally signed by the owner with the owner's private key to transfer ownership to the new owner as represented by the new owner public key.

Once the block is full, the block may be “capped” with a block header that is a hash digest of all the transaction identifiers within the block. The block header may be recorded as the first transaction in the next block in the chain, creating a mathematical hierarchy called a “blockchain.” To verify the current owner, the blockchain of transactions can be followed to verify each transaction from the first transaction to the last transaction. The new owner need only have the private key that matches the public key of the transaction that transferred the bitcoin. The blockchain may create a mathematical proof of ownership in an entity represented by a security identity (e.g., a public key), which in the case of the bitcoin system is pseudo-anonymous.

SUMMARY OF THE DISCLOSURE

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

Briefly stated, the disclosed technology is generally directed to secure transactions. In one example of the technology, a smart contract is generated based at least in part on a schema and provided information. The smart contract may be caused to be deployed on a ledger as a smart contract ledger instance. A unique address associated with the deployed smart contract ledger instance may be received. A cryptlet binding for a first contract cryptlet that is associated with the smart contract ledger instance may be generated. The cryptlet binding may be sent to the first contract cryptlet. Responsive to a state change associated with the first contract cryptlet, an update may be communicated to the smart contract ledger instance.

Cryptlets may be installed and registered by the cryptlet fabric. Also, when a smart contract is requested, the cryptlet fabric may cause an instance of a corresponding contract cryptlet to begin execution. The cryptlet fabric may receive the requested information, and based on part on the received information, create and deploy a smart contract ledger instance on the blockchain. The cryptlet fabric may also generate the cryptlet binding, which includes bindings for the cryptlet. In some examples, the cryptlet fabric communicates the cryptlet binding to the cryptlet. The cryptlet fabric may communicate to the smart contract ledger instance to update the smart contract ledger instance when appropriate, such as when there is a state change, and/or the like. The cryptlet fabric may also instantiate resources for the contract cryptlet and route messages through the system.

Other aspects of and applications for the disclosed technology will be appreciated upon reading and understanding the attached figures and description.

