COCO is a low level Peer-to-Peer middleware that enables decentralized communication over both TCP and UDP networks. For making it easy to develop on top of this P2P middleware, COCO provides 4 popular semantics that covers a plethora of use cases:
  1. Pub-Sub: popular for IoT based devices and applications
  2. Messaging: popular for any Application to Application communication, e.g. chat apps, dating apps
  3. Streaming: popular for multimedia content delivery application.
  4. Tunneling: popular for using existing protocols like HTTP, RTSP, MQTT, over a P2P network.
Blockchain is an application that relies on P2P communication over TCP. So a developer could use COCO to implement his own blockchain. He will have to implement the layer that implements an open and distributed ledger that can record transactions in a verifiable and permanent manner. To effectively implement the distributed ledger, he will need to create a protocol that validates new blocks using the messaging interface of COCO.