Capability Discovery FURPS
Functionality
- Libp2p Kad-DHT nodes can advertise their own addresses and capabilities in a signed record
- Libp2p Kad-DHT nodes can discover and validate the signed records of random, advertised peers
- Libp2p Kad-DHT nodes can filter discovered records for specific capabilities
- Libp2p nodes can use a general capability discovery API to discover peers with specific capabilities
- The capability discovery protocol adapts DISC-NG for Kad-DHT to ensure efficient capability discovery
- Client nodes can discover addresses of peers with specific capabilities without participating in the Kad-DHT
Usability
- The capability discovery protocol is published in a specification
- A PoC implementation accompanies the published protocol
- The PoC implementation contains instructions to allow open dogfooding
- A forum post introduces the new protocol, explains privacy tradeoffs, and links to spec and PoC implementation
- A Kad-DHT discovery protocol and API is published in a specification
- The Kad-DHT discovery API is available in Nim and C
- The reference Kad-DHT discovery implementation is completed in Nim over the nim-libp2p Kad-DHT implementation
- The reference capability discovery implementation is completed in Nim over the nim-libp2p Kad-DHT implementation
- Capability discovery is integrated in nwaku to replace discv5 discovery
- The discovery module is integrated into Logos Core
Reliability
Performance
Supportability
Miscellaneous dependencies:
- Dependency on nim-libp2p implementation of Kad-DHT
- Dependency on DST for benchmarking and iterative improvement