The current NetDB implementation (namely the FloodFill system) needs to be extended with another backend to improve reliability, reduce attack surface and solve the scalability issue for the coming years.

A solution likely based on a DHT will be investigated and finally implemented.

Requirements

Lookup speed
Lookup time is crucial since request will be done in real time and destinations can't be communicated with until a lookup has completed and should therefore be minimized.
Attack resilience
The solution should ideally be (or be extensible to be) resilient against sybil and eclipse attacks.
Scalability
The solution need to scale from the current number of nodes to at least one million nodes without major modifications and still maintain an unlimited search horizon.

Bounty

Item

Description

Result

Value

Investigate alternatives

Find candidates
Find decentralized distributed systems that is fulfill our reuiqrements.
Select alternative
Select the best viable alternative.
Trac

162.5€

Investigate implementation

Investigate refactoring
Investigate I2P NetDB refactoring strategy.
Investigate and fix MultiRouter
Investigate the usability of MultiRouter, and fix issues found. MultiRouter will simplify further development.
Select base implementation
i2p.zzz.kademlia / i2psnarkdht is the most likely base implementation.

Trac

162.5€

Begin implementation of the most basic DHT

Investigate I2CP
Investigate and design/select an I2NP message.
Implement iterative DHT lookups
Implement support for iterative DHT lookups

None yet

325€

More to come

...