Components Of Hydra - hydra-hoard/hydra GitHub Wiki

The Hydra Software will consist of the following components

Hydra will be based on the concept of nodes. The entire network of Hydra nodes will form the Hydra network.

Hydra Node

Each Hydra Node will keep a hash table that keeps track of all the hydra nodes nearest to itself. This shall be implemented using the popular BitTorrent Distributed Hash Table algorithm called Kademlia.

This Hydra Node will have the following capabilities.

Server and Client

To enable Hydra to be truly decentralised , each node should be able to support being both a server and a client. The networking for this will be handled using the combination of GRPC and Protobuf. This enables us to transfer data very efficiently via HTTP/2.0.

DHT

The distributed hash table on each node will be an in memory , persistent data store ala Redis. This data store will support automatic recovery via a transaction log and periodic snapshotting . We shall strive for 99.999% availability.