reTHINK-project / dev-registry-global

Global Registry
Apache License 2.0
4 stars 0 forks source link

Interoperability and interface definition #5

Closed rjflp closed 8 years ago

rjflp commented 8 years ago

At what level do we want to define the interfaces? Is it enough to define a REST API for "others" to use the DHT? Or do we also want to define the protocols among nodes in the DHT?

E.g. BitTorrent clients use the Kademlia DHT for trackerless operation. However, there are two (main) different implementations of this DHT, one used by Vuze and the other by the mainline client (and others). We want to avoid this, while keeping the flexibility to use our own DHT node implementation? If so we must define the protocol very well and write different implementation to validate the protocol documentation and interoperability.

If we do not define the protocols among the nodes and simply go with a DHT implementation in the form of a library, are we not limiting ourselves to that solution? Don't we need to allow others to create and deploy their own implementation of the DHT nodes? If so, how do we ensure that all the nodes enforce the security validations (only accept signed data, etc)?

rjflp commented 8 years ago

We are going to define the protocol to be used between nodes of the DHT.