specs icon indicating copy to clipboard operation
specs copied to clipboard

IPFS DHT Specification is missing

Open lidel opened this issue 1 year ago • 2 comments

This is a placeholder for missing specs.

Problem

  • No specs for IPFS DHT exist.
  • Kad DHT specs that live in https://github.com/libp2p/specs/tree/master/kad-dht and are currently focused on Peer routing only (scope limited to libp2p use of DHT).
  • IPFS specifics such as how provider records and IPNS records are published / resolved was removed from the mentioned specs, but should be still in git history of that repo

TODO

  • [ ] see if we can salvage any old content from https://github.com/libp2p/specs/tree/master/kad-dht
  • [ ] decide if our spec is on top of libp2p one, or do we have our own, end-to-end specs
  • [ ] WRITE THE SPECS and get sign-off from GO, JS and Rust impl.

If anyone has good content we should include, link/comment below.

Additional Resources

  • libp2p spec (limited to peer records) https://github.com/libp2p/specs/tree/master/kad-dht
  • IPNS uses DHT, but it is greatly undocumented (https://github.com/ipfs/specs/blob/main/ipns/IPNS.md#integration-with-ipfs)
  • https://pl-strflt.notion.site/DHT-Overview-e4bc573eaf094efc8a0781de47262db6
  • https://github.com/libp2p/docs/pull/293

lidel avatar Nov 15 '22 16:11 lidel