Create basic capability discovery module for Logos Core
Estimated date of completion: 31 Mar 2026
Resources Required:
- 3 developers for 16 weeks
A major cornerstone of the Logos Launch Strategy is the efficient discovery of core services in a fully decentralised manner. The current approach to decentralised discovery, random walks over libp2p’s Kad-DHT is not scalable and efficient enough for a diverse ecosystem consisting of multiple services, facing the needle-in-a-haystack problem.
By the end of this milestone, we’ll have a fully functional, efficient capability discovery module available in Logos Core, already used by at least nwaku-based modules as primary ambient discovery method. The new capability discovery protocol will be published as a specification adapting DISC-NG for libp2p Kad-DHT.
Next steps not yet included in this milestone, include:
- Anonymising the discovery protocol, including privacy-preserving discovery requests, anonymous DHT participation, etc.
- Assisting other Logos teams in integrating the protocol in their own core modules (outside of nwaku integration, which will be the reference integration)
- Longer term benchmarking and testing to improve the efficiency and scalability of the protocol
Risks
| Risk | (Accept, Own, Mitigation) |
|---|---|
| Dependency on nim-libp2p for Kad-DHT implementation | Close collaboration with p2p team; specify API before implementation ready to harden interfaces quickly |
| Dependency on DST team for benchmarking and iterative improvements | Develop test strategy/simulations from the outset in collaboration with DST team |
Deliverables
Specify basic capability discovery protocol
Owner: AnonComms Discovery
Feature: Capability Discovery
FURPS:
- U1. The capability discovery protocol is published in a specification
- U4. A forum post introduces the new protocol, explains privacy tradeoffs, and links to spec and PoC implementation
Checklist:
- Specs: link to specs and/or API definition
Build PoC implementation of capability discovery protocol
Owner: AnonComms Discovery
Feature: Link to FURPS
FURPS:
U2. A PoC implementation accompanies the published protocol U3. The PoC implementation contains instructions to allow open dogfooding
Checklist:
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or other docs
Specify and implement Kad-DHT discovery protocol and API
Owner: AnonComms Discovery
Feature: Capability Discovery
FURPS:
- F1. Libp2p Kad-DHT nodes can advertise their own addresses and capabilities in a signed record
- F2. Libp2p Kad-DHT nodes can discover and validate the signed records of random, advertised peers
- F3. Libp2p Kad-DHT nodes can filter discovered records for specific capabilities
- F4. Libp2p nodes can use a general capability discovery API to discover peers with specific capabilities
- U5. A Kad-DHT discovery protocol and API is published in a specification
- U6. The general capability discovery API is available in Nim and C
- U7. The reference Kad-DHT discovery implementation is completed in Nim over the nim-libp2p Kad-DHT implementation
Checklist:
- Specs: link to specs and/or API definition
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or other docs
Integrate Logos Discovery module within Logos Core
Owner: AnonComms Discovery
Feature: Capability Discovery
FURPS:
- U10. The reference discovery module is integrated into Logos Core
Checklist:
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or other docs
Implement capability discovery protocol
Owner: AnonComms Discovery
Feature: Capability Discovery
FURPS:
- F5. The capability discovery protocol adapts DISC-NG for Kad-DHT to ensure efficient capability discovery
- F6. Client nodes can discover addresses of peers with specific capabilities without participating in the Kad-DHT
- U8. The reference capability discovery implementation is completed in Nim over the nim-libp2p Kad-DHT implementation
Checklist:
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or other docs
Replace discv5 in nwaku with new capability discovery protocol
Owner: AnonComms Discovery
Feature: Capability Discovery
FURPS:
- U9. The reference implementation is integrated in nwaku to replace discv5 discovery
Checklist:
- Specs: link to specs and/or API definition
- Code: link to GitHub issues/PRs/Epic
- Dogfood: link to dogfooding session/artefact
- Docs: links to README.md or other docs