Microsoft has been dabbling into the space for a few years now with different offerings on its cloud platform. The as a service(BaaS) offering in the Azure platform has long been considered one of the most complete stacks in the market but it always felt that it was missing some critical components for mainstream in real world scenarios. While you could certainly rapidly provision networks across different runtimes with Azure Workbench, the stack was lacking tools and frameworks to simplify the development and lifecycle management of Web3 applications. Not surprisingly, most of the first generation applications in the Azure BaaS were mostly constrained to use a as a record keeping repository but not much more beyond that. In anticipation of the Build conference this week, Microsoft unveiled a new group of services and frameworks designed to address some of the biggest challenges in the implementations of permissioned applications in the real world.
Building permissioned solutions in today’s ecosystem is a road full of challenges for most organizations. From integration to monitoring, there are dozens of capabilities of permissioned solutions that require sizable development efforts in real world implementations. While the challenges are many, they can be summarized in three main groups.
Microsoft’s latest release is based on three fundamental building blocks focus on the aforementioned challenges:
· Azure Service: A new managed cloud service that enables the creation and management of networks.
· Dev Kit and VS Code Extensions: A series of libraries and tools that streamline the creation of smart contracts and its integration with external systems.
· CCF Framework: An infrastructure framework for the implementation of private and high performant transactions in permissioned networks.
Azure Blockchain Service
Azure Service can be considered the cornerstone of Microsoft BaaS stack. A native cloud service, Azure Service simplifies the provisioning and management of consortium networks in a consistent infrastructure. The current version of the Azure Service is optimized for runtime but other platforms are expected to be supported in the future.
One of the main capabilities of the Azure Service is the rapid creation of permissioned networks managed by security policies in Azure Active Directory(AD). The integration with Azure AD is incredibly relevant as it enables authentication, access control and privacy policies which are very common in permissioned applications. Azure Service uses the concept of members to denote entities in a permissioned networks. Members are typically associated with accounts which keys and permissions are automatically managed by the Azure Service.
Azure Service expands beyond the consortium creation by providing tools for monitoring the health and transaction activity in a network. Additionally, the service supports integration with popular clients such as MetaMask and Geth as well as block explorers such as BlockScout or Web3 Labs’ Azure Service Explorer.
Blockchain Dev Kit and VS Code Extensions
If the Azure Service is responsible for managing the infrastructure of permissioned applications, the Development Kit is in charge of the development experience. The Azure Development Kit is a framework that streamline the implementation of sophisticated smart contracts in permissioned applications. By sophisticated, I mean smart contracts that are able to integrate with external applications or be managed and versioned as traditional software assets. The Development Kit is complemented by the Extensions for VS Code which expediate the creation and deployment of smart contracts in a familiar IDE.
Integration is certainly the hallmark of the Azure Development Kit. In permissioned applications, communication and integration with external systems and services is an omnipresent challenge. The current version addresses smart contract integration in four different dimensions:
· Connect: Enabling smart contract integration with data providers such as SMS gateways, mobile-IOT devices as well as bots and assistants.
· Integrate: Enabling smart contracts to access data from databases, line of business systems or document management systems. The Azure Development Kit powers this level of integration with smart contracts relying on platforms like LogicApps or Flow which contain hundreds of connectors.
· Accelerators: These are end-to-end solutions of common patterns in permissioned smart contracts. A couple of the accelerators in the current version target scenarios such as document attestation or ownership registries.
· DevOps: These are smart contracts that embed DevOps best practices in areas such as testability, versioning or deployment.
The extensions for VS code integrate smart contract development into familiar IDE tools. The extension enables the creation and deployment of smart contracts into the Azure Service following similar practices to other Azure services. Instead of switching from one tool to the other, now Solidity developers can leverage an integrated experience that includes most of the benefits of VS Code.
CCF
Privacy and scalability are at the center of requirements in permissioned applications. Most permissioned stacks haven’t been optimized to execute high performance computations. At the same time, privacy in always a challenge in a consortium model in which different members are part of the same distributed . Microsoft’s Confidential Consortium Framework (CCF) has been on the works for over a year to try to address these requirements and now it . CCF relies on trusted execution environments (TEEs) such as SGX and VSM to execute private transaction without relying on a shared network.
The idea of CCF is to complement permissioned networks with TEEs enclaves which cryptographically protected computations are executed. In that model, the enclave associated with each node in the network (where cryptographically protected data is executed) can decide whether it can trust the enclaves of other nodes based on mutual attestation exchange and mutual authentication, regardless of whether the parties involved trust each other or not. This enables high levels of privacy while enabling the execution of high performance transactions.
This release of the Azure stack feels grounded in requirements of real world permissioned applications. The combination of the Azure Service, the Development Kit and CCF address some of the foundational challenges of permissioned solutions while also leveraging many of the core capabilities of the Azure platform.
Published at Tue, 07 May 2019 13:16:59 +0000