Technology Fridays: Azure enterprise Smart Contracts Makes Enterprise BaaS a Reality
Welcome to Technology Fridays! In recent months, I’ve written several articles about Azure Enterprise Smart Contracts and its relevance in the blockchain as a service(BaaS) space. While my previous posts were mostly focused on the market perspective of Microsoft’s Enterprise Smart Contracts platform, today I would like to approach the subject from a technology perspective.
Azure Enterprise Smart Contracts is the evolution of Microsoft’s Project Bletchley, the first enterprise blockchain technology released by the Redmond giant. Bletchley was Microsoft’s initial building block towards its vision of an enterprise BaaS platform powered by the Azure cloud . The initial release of Project Bletchley made important contributions in areas such as off-chain integration but it also discovered many of the missing elements of enterprise blockchain applications. The lessons learned with Bletchley morphed into a more complete platform that enable end-to-end capabilities in blockchain solutions.
The initial goal of Azure Enterprise Smart Contracts is to extend the vision behind traditional smart contracts with enterprise ready capabilities. Specifically, the platform focused on areas such as business logic implementation, integration with off-chain systems, cross blockchain transaction coordination or data privacy which are essential to enterprise blockchain applications.
Conceptually, the magic behind Azure Enterprise Smart Contracts is based on a separation of concerns approach that modularizes elements such as data, logic or external dependencies from core of the public smart contract protocol. That level of isolation/modularization enabled the implementation of specialized enterprise capabilities that can be used in blockchain applications.
The data elements used in Enterprise Smart Contracts are abstracted using the concept of a Schema. The same component is typically used to encode the cryptographic proofs needed to ensure the integrity of transactions in the platform. Schemas also include business logic blocks relevant to the fulfillment of a transaction.
Azure Enterprise Smart Contracts coordinates transaction across different participants that can be anything from an individual to a company. Counterparties abstract different participants in smart contract transaction. Examples of counterparties include people, companies or even devices that act as originators or recipients of blockchain transactions. The Azure Enterprise Contracts platform includes other types of participants known as Observers that represent roles such as auditors or regulators that can inspect transaction data.
External Sources represent data or business logic triggers that are part of a smart contract. This component extends the notion of Oracles in platforms such as Ethereum as a way to interact with off-chain data or systems. Initially, Azure Enterprise Smart Contracts includes External Sources for many Azure services which enables the implementation of highly sophisticated applications.
Once we have developed all the independent components of a contract, they can be assembled together using the notion of Contract Bindings. This component effectively creates an instance of an enterprise smart contract that can be used by different parties in a transaction.
Security is one of the areas in which Azure Enterprise Smart Contracts really excels. The platform introduces cutting-edge security techniques such as zero-knowledge-proof or homomorphic encryption as first class citizens in blockchain transactions. Additionally, the platform integrates with different Azure security services such as Active Directory or Key Vault that have been widely adopted in the enterprise.
Even though Azure Enterprise Smart Contracts is a blockchain agnostic platform, its main competition comes from blockchain runtimes that have specialized in enterprise environments. IBM’s Hyperledger Fabric can be considered the market leader is such a term applies to the young enterprise blockchain market. Other blockchain runtimes such as R3 Corda , Chain or Intel’s Sawtooth have been able to establish relevant presence in the enterprise and can be seen as competitors of Azure Enterprise Smart Contracts.