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:
- Pub-Sub: popular for IoT based devices and applications
- Messaging: popular for any Application to Application communication, e.g. chat apps, dating apps
- Streaming: popular for multimedia content delivery application.
- 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.