Microsoft Introduces Project Bletchley: A Modular Blockchain Fabric
On June 15th, Microsoft announced their vision for an open blockchain platform which will be powered by Azure, their cloud computing platform. Microsoft is calling this initiative Project Bletchley, which focuses on providing the architectural building blocks for constructing an Enterprise Consortium Blockchain Ecosystem. This announcement follows their November 2015th announcement of Azure Blockchain as a Service (BaaS).
Citing demand from enterprise customers, including large Financial Services customers, Microsoft is building an open platform for transactions to be recorded in digital, distributed ledgers. Since transactions are protected by cryptography, they are perceived to be tamper-proof.
In order to drive customer adoption, Microsoft has created Project Bletchley that will address some architectural challenges that customers are trying to overcome. Marley Gray, director business development and strategy at Microsoft explains:
We’ve learned a lot about essential platform principles, features and capabilities that will enable enterprises to adopt blockchain. To address this, we’re introducing Project Bletchley, which outlines Microsoft’s vision for an open, modular blockchain fabric powered by Azure, and highlights new elements we believe are key in enterprise blockchain architecture.
Some of the themes that Microsoft is addressing include:
- Platform openness is a requirement.
- Features like identity, key management, privacy, security, operations management and interoperability need to be integrated.
- Performance, scale, support and stability are crucial.
- Consortium blockchains, which are members-only, permissioned networks for consortium members to execute contracts, are ideal.
Two of the main concepts in Project Bletchley are blockchain middleware and cryptlets.
Blockchain middleware will provide core functions including:
- Identity and Certificate Services by leveraging Azure Active Directory and Key Vault to provide authentication, authorization, key issuance, storage access and lifecycle management capabilities.
- Encryption Services will provide partial payload, or field level, encryption for blockchain transactions. This ensures that data which is intended for specific counterparties is only visible to those parties.
- Blockchain Gateway Services provide the ability for interrelated distributed ledgers to communicate with each other using Interledger-like services.
- Data Services provide data services of off-chain data, referenced by public keys on distributed file systems (IPFS, Storj) and analytical services such as machine learning and reporting to stakeholders and regulators.
- Management and Operations tooling that will allow for provisioning and management of distributed ledgers across enterprises.
In blockchain 1.0 & 2.0 implementations, if external data or events need to be integrated with the blockchain, an oracle (not to be confused with Oracle) is required. Gray, in a Bletchley whitepaper, explains some of the concerns with this approach:
“There is no standard way to supply oracle data securely and can quickly become an issue in multi-party SmartContracts. Calling code or data outside a SmartContract or blockchain in general is breaking the trust barrier threatening the authenticity of the dependent transactions. Cryptlets supply this functionality.”
Cryptlets provide secure interoperability with other customer, open source or Azure services. Gray further explains:
“Cryptlets function when additional information is needed to execute a transaction or contract, such as date and time. They will become a critical component of sophisticated blockchain systems, enabling all technology to work together in a secure, scalable way.”
Cryptlets may be written in any language and will run within a trusted container, such as a VM, using a secure channel. Cryptlets operate as a service, and as a result, may run in Azure, Azure Stack, AWS, Google or other private clouds. Cryptlets may also be used in SmartContracts and UTXO systems through a CyptoDelegate or adapter.
Microsoft will be providing more details on Project Bletchley at their upcoming World Partner Conference in Toronto from July 12-16th.