Microsoft's Azure Stack Releases Enterprise Smart Contracts

On July 20, 2017, Microsoft introduced Enterprise Smart Contracts, a new layer to Project Bletchley, the company's architectural approach to building an enterprise consortium blockchain ecosystem on the Azure platform.

In the announcement, Marley Gray, Principle Program Manager of Azure Blockchain Engineering, expressed that the first inceptions of executable distributed code contracts (EDCCs) fail to address enterprise level concerns of privacy, scale, and performance management capabilities. Enterprise Smart Contracts can solve this issue because they are capable of delivering enterprise ready solutions by addressing what Gray calls a “separation of concerns." Gray explains that it may be impractical to require every single node or even a subset of them to be resource intensive machines. He said, “Without this separation of concerns the business is then limited by the power of the lowest performing node in the network.” Enterprise Smart Contracts are comprised of six basic components:

Gray identifies the 'cloud' as a perfect manner in which to implement Enterprise Smart Contracts alongside blockchain-based ledger systems because "blockchains are comprised of distributed nodes that maintain the database, a globally-distributed, highly-available public cloud provides a great companion platform for services supporting these networks."

The cloud is capable of providing a massively scaled shared logic execution platform to Enterprise Smart Contracts. The actual cost of running this network of protocols on the cloud can be shared among counterparties through what Gray calls "splitting the check," which saves parties the trouble of having to discern whose datacenter executed the contract logic.

The varying cases for long-standing business logic, or a new implementation of it, often require specialized resources to deliver results, such as machines with faster processors and more memory. It would be impractical for such traits to exist on every machine acting as a node. While public facing EDCCs require transactions to execute on every computer on the network in order to maintain a trustless exchange of data, such is not the case with enterprise applications. Separation of concerns addresses this conundrum by utilizing established counterparties to perform execution of logic code "off-chain." According to Gray:

"This code is agreed to by the counterparties, is strongly versioned and can be executed in shared infrastructure that provides confidentiality, discrete trust and performance as well as the proofs needed to satisfy all counterparties as to the integrity of the logic's output."

If data is encrypted while EDCC logic operates on-chain, every node will need to be capable of decrypting the data to operate computations against it. Using an Enterprise Smart Contract can preserve the privacy of shared data and logic between counterparties.

Rather than force counterparties to generate internal structures, Microsoft Azure lends itself as a platform to provide the tools needed to write Enterprise Smart Contracts. A shared platform like Azure can perform difficult tasks like key management, building open APIs, cryptographic proofs, and abstracted integration across platforms. The platform also enables blockchain interoperability, extensible data services plugins, and common enterprise development environments such as .NET and Java.

Going a step further, Microsoft developed The Enterprise Smart Contract Framework on the Azure Stack to provide to enterprises the tools to build on the platform.

The Enterprise Smart Contract Framework is, in turn, comprised of four major components:

Microsoft provides a graphic of the framework's interaction:

Enterprise Smart Contracts offer businesses a means to interoperate with differing blockchain protocols while accessing enterprise level efficiency and maintaining privacy.

More information on the interplay between these systems is available in the technical whitepaper.