In a recent blog post, Microsoft announced a new open framework, called Coco, which targets enterprise blockchain consortium networks. The framework sits on top of existing blockchain platforms, such as Ethereum, and focuses on improving network throughput, adding new confidentiality models, network policy management and support for non-deterministic transactions.
Microsoft has been making many investments into Blockchain technologies, including a proof of concept framework for developers, Project Bletchley - a modular blockchain fabric, Ethereum Blockchain as a Service on Azure and being a founding member of the Enterprise Ethereum Alliance. As a result of these experiences, Microsoft has discovered some gaps that enterprise customers have when building out consortium, or private, blockchain networks. Mark Russinovich CTO of Microsoft Azure explains:
As enterprises look to apply blockchain technology to meet their business needs, they’ve come to realize that many existing blockchain protocols fail to meet key enterprise requirements such as performance, confidentiality, governance, and required processing power. This is because existing systems were designed to function—and to achieve consensus—in public scenarios amongst anonymous, untrusted actors with maximum transparency.
While transparency and consensus are key attributes of public blockchains, for some enterprise trading partner scenarios, an organization may not want to see retailer or purchase order information being available for other parties to see. The Coco framework has been designed to allow for confidential blockchain networks to be provisioned by explicitly declaring nodes and actors.
Coco leverages existing blockchain protocols, trusted execution environments (TEEs) including Intel SGX and Windows Virtual Secure Mode (VSM) to deliver on the following the following enterprise requirements:
- Throughput and latency approaching database speeds.
- Richer, more flexible, business-specific confidentiality models.
- Network policy management through distributed governance.
- Support for non-deterministic transactions.
Some of the industries that Microsoft is targeting, with the Coco framework, include financial services, retail and supply chain. In order to drive further blockchain adoption within the retail sector, performance improvements are required. Tom Racette, vice president at Mojix explains:
Being able to run our existing supply chain Dapp code much faster within Coco framework is a great performance improvement that will reduce friction when we talk about enterprise Blockchain readiness with our retail customers. Adding data confidentiality support without sacrificing this improvement is what will enable us to lead the digital transformation we are envisioning with Smart Supply Chains.
In a recent video, Russinovich was able to demonstrate the performance improvements made by the Coco framework. The example he used was a stock multi-node Ethereum network vs a multi-node Ethereum network with the Coco Framework on the same hardware footprint. In order to run the test, 2000 transactions were pulled from the public Ethereum network and subsequently submitted to each environment. Both network throughput and latency were measured as the transactions were committed. The end result was the Coco Framework network was able to process 1685 transactions per second with 125.2 ms latency. On the stock Ethereum network, throughput was reduced to 8 transactions per second with 41679.3 ms.
Russinovich attributes the improved performance on:
Taking advantage of the Coco Framework’s distributed consensus algorithm which relies on a trusted execution environment based upon a prototype running on top of SGX to commit transactions very quickly and securely.
Image Source: https://www.youtube.com/watch?v=8s6JMmGJ-dY
Since Coco is an open framework, it is compatible with any blockchain protocol. Microsoft has already begun integrating Ethereum into Coco and has commitments from JP Morgan Chase, Intel and R3 to integrate Coco into Quorum, Hyperledger Sawtooth and Corda.
Microsoft has published a technical whitepaper on GitHub and is expecting to publish the Coco Framework code on GitHub in 2018 as an open source project for both Linux and Windows.