Files
roadmap/content/p2p/ift/2025q4-nimlibp2p-kad-dht.md
fbarbu15 c068161aea chore: 30 10 unit updates (#325)
- Roadmap Updates for all units (except DST who did it in separate PR) 
- fixes/updates to the q4 roadmap to make it more consistent
- small updates to the roadmap validator

TODO:
- BI tasks still need some updates but would need to discuss it first
with their lead

---------

Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com>
2025-10-31 12:20:34 +02:00

5.2 KiB
Raw Blame History

title, tags, draft, description
title tags draft description
Kademlia DHT
2025q4
p2p
ift
false Implement Kademlia DHT

vac:p2p:ift:2025q4-nimlibp2p-kad-dht

Description

Implement Kademlia Distributed Hash Table in nim-libp2p, based on the libp2p specification as an additional discovery mechanism. This commitment involves two main objectives: implementing nim-kademlia-dht, integrating this in nim-libp2p and making sure there is interoperability with other libp2p implementations. This deliverable continues the work started in 2025q2

Task List

Routing table and RPC Protocol

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:routing-and-rpc
  • owner: gabe/rramos
  • status: in progress (75%)
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement Kademlias XOR-based routing table with bucket management. Define RPC messages (PING, SET_VALUE, GET_VALUE, ADD_PROVIDERS, GET_PROVIDERS, FIND_NODE) for node communication.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

Bootstrapping & Lookup Mechanism

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:bootstraping-and-lookup
  • owner: rramos
  • status: done
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Enable nodes to join the network via bootstrap peers. Implement iterative lookup for efficient key discovery and retrieval

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

Network Maintenance & Node Management

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:network-maintenance-node-management
  • owner: gabe
  • status: in progress (50%)
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Handle bucket refresh, node eviction, and periodic pings to maintain an active routing table. Implement bucket splitting and adaptive refresh strategies.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

Data Storage & Replication

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:data-storage
  • owner: gabe
  • status: in progress (90%)
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement the logic for SET_VALUE and ADD_PROVIDERS. Store key-value pairs with expiration and replication mechanisms. Ensure values persist despite churn, using periodic re-publication and redundancy strategies

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

Data Retrieval

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:data-retrieval
  • owner: gabe
  • status: in progress (60%)
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement the logic for GET_VALUE and GET_PROVIDERS. Implement validation and quorum mechanisms for queries

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

Discovery

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:discovery
  • owner: gabe
  • status: in progress (15%)
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Extend nim-libp2p discovery mechanism by providing a discovery interface that will use Kademlia DHT to advertise nodes and find peers

Deliverables

PRs

Interop

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-kad-dht:interop
  • owner: gabe
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Ensure interop is achieved between nim-libp2p's kad-dht implementation and other libp2p implementations

Deliverables

PRs