Coco (Confidential Consortium) is an open source blockchain framework designed by Microsoft. Microsoft announced the ‘Coco’ in August 2017 in their whitepaper ‘Coco Framework Technical Overview’. The source code of the Coco framework is planned to publish in GitHub by 2018. Coco is not just a standalone blockchain protocol like Bitcoin or Ethereum rather it provides a platform for building trusted networks using any of the existing protocols. Of course, Coco is designed to be compatible with any existing blockchain protocols such as Ethereum, Corda, Hyperledger Fabric etc.
What keeps Coco different from others?
In their whitepaper, Microsoft points out some of the problems with existing systems and how Coco solve the issues. The main drawbacks of the point out of existing systems are
- Low transaction throughput
The average processing rate of the public Ethereum network is only 20 transactions per second, which is far behind to meet the requirement in an enterprise environment. Other blockchain networks also fail to meet the enterprise level transaction rate.
- High latency
The average latency of a public Ethereum network is about 10-20 seconds and it is 10-15 minutes in the bitcoin network. Such high latency will create a bottleneck effect in a business environment.
- Lack of confidentiality
In a public blockchain network, everyone is allowed to see every transaction. This is definitely not a welcome thing in the business environment where the competitors may also be the part of the network.
- Lack of effective governance
Public blockchain networks are often self-governed or collectively governed by the users. The model is not suitable for many environments, especially for business level networks.
- Low computational efficiency
As the network grows, the computational power required for mining also grows. Thus the energy required is very huge. The annual energy consumption of the bitcoin network is about 15 TWh !!!.
Many attempts were made to overcome these issues and new blockchain platforms like Hyperledger Fabric, Corda etc. also came into existence. But some of these are designed only to meet the requirements of a particular business domain. Some others provided an enterprise level control and security by employing complex algorithms but compromises on performance.
Furthermore, whenever a new protocol is introduced to accommodate a feature, the user has to leave behind the technology that he expertise. And it will take some time to understand and work with the new system.
Benefits of coco
According to Microsoft, the COCO framework eliminates most of the drawbacks of the existing systems and it offers.
- Acceptable throughput and latency for meeting enterprise needs
- Richer, flexible yet simpler confidentiality models
- Network policy management and distributed governance
- Facilitate non-deterministic transactions
- Reduced energy consumption
Coco achieves these performance indices through the use of Trusted Execution Environments (TEEs) like intel’s SGX or Windows Virtual Secure Mode (VSM). This approach enables Coco to create a trusted network of nodes and the distributed ledgers are run on top of these.
The introduction of Microsoft coco framework is expected to make a big leap. As said earlier, the Coco is not a standalone blockchain protocol. Actually, it provides a foundation for building blockchain networks on top of it. Thus with Coco, it is possible to develop blockchains in any protocol and can integrate different blockchain technologies into a single project to satisfy different enterprise needs. And coco provides many additional features to ease and enhance the development process. In conclusion, from the information available so far, Coco has the potential to be the cradle blockchain based enterprise applications