Business units in these sectors see blockchain as a disruptive technology which will eventually dictate the way they do business. They therefore believe it’s critical to take early advantage of this technology to stay relevant in the marketplace. 2018 and 2019 will see more leading business units driving blockchain applications, even as their central IT groups remain reluctant to comply with the governance, operation and performance standards of blockchain systems.
With enterprises demanding blockchain solutions with lower costs and fewer transaction latencies, off-chain processing is taking center stage in the world of private blockchain consortia. Ripple, Lightning Network and the Azure Cryptlets framework are examples of off-chain implementations. This article sheds light one such off-chain cloud solution – Azure Cryptlets.
The Evolution of Smart Contracts
A Smart Contract is software that stores workflows for terms of agreement in order to facilitate digital transactions on a blockchain.
Consider a scenario of modernizing a mortgage agreement into a Smart Contract in Azure. It breaks down to logic, schema and ledger. Logic will house all the required workflows to execute the contract, such as payments, deed transfers, late payments, fees, etc. The schema will define the data structure of the contract, which is determined using both static calculations from the workflow logic, and dynamic parameters, such as interest rate, market index, etc. Finally, the computed data gets immutably stored in ledgers backed by crypto hashes across all the blockchain databases in the consortium.
Traditional Smart Contracts
With off-chain processing, Smart Contract business logic executes in a trusted execution environment (TEE), or enclave, on the Azure cloud. The TEE can bind the code to a Smart Contract, and provide a rich set of services, including identity and key management, cryptographic services, attested data and interaction with the outside world. Trusted enclaves ensure that only authorized code is permitted to access data. If the code is tampered with, operations are denied, and the environment is disabled. The TEE enforces these protections throughout the execution of the code within it. It also abstracts away the blockchains themselves, so the Cryptlet can write to any type of blockchain.
Off-Chain Smart Contracts
Blockchain Services in Azure
Microsoft’s novel approach to enterprise blockchain implementation in Azure boils down two major services: the blockchain platform and the Cryptlets framework.
The Blockchain Platform
Today, private blockchain networks, aka enterprise consortia, are built primarily with Ethereum, Hyperledger or Corda. The Azure marketplace supports all three ledger platforms, which all support foundational attributes of blockchain, such as cryptographically authentic, immutable and distributed blockchain databases.
The Cryptlets Framework
Public blockchain implementations, such as Bitcoin, utilize trustless/no-trust peering for blockchain operations. With this approach, Smart Contracts are deployed to all the nodes in a blockchain network, resulting in an excessive spend of compute resources and performance.
But private blockchains do not need to be all trustless, as the transactions are between known entities. The Cryptlet Fabric is a natural evolution to enterprise Smart Contracts, since its implementation is based on off-chain transactions. Here, the Smart Contracts logic is pulled out of the blockchain network, and executed in a shared attested environment trusted by both parties — the Cyptlet Fabric using Confidential Computing (CoCo) framework.
An off-chain framework, such as Cryptlets, hits on a couple of major issues with blockchain adoption:
- Separation of concerns — Running Smart Contracts securely off-chain, with mutual trusts and reduced cost, still maintains truth immutable on the blockchain.
- Developer experience — Traditional Smart Contracts built inside a blockchain network use only Ethereum languages, such as Solidity, for developing logic and workflows, and they can get complex over time. But Cryptlets enables building Smart Contracts off-chain, using familiar languages, such as C#, Java, etc., which are already capable of supporting complex enterprise workflows.
Building Enterprise Blockchains
So the million dollar question is: how should you strategize building an enterprise blockchain?
- Identify the blockchain platform and architect a private consortia with one or more trusted entities and the possibility of adding additional private networks.
- Pick a contract and decompose its paper-based workflow into a Smart Contract.
- Build the Cryplet Fabric in a shared infrastructure, establishing a trust relationship between the blockchain and the transacting entities.
- Deploy the Smart Contract to the Cryptlet Fabric, and expose it via a secured endpoint.
- Execute the Smart Contract and commit the transaction to the blockchain via Cryptlets.
With public cloud providers and major banks now heavily investing in blockchain powered services, off-chain technologies, such as Cryptlets, are bringing blockchain a step closer to adoption by all enterprises.