Files
i2p.www/www.i2p2/pages/bounty_netdb.html
2013-06-19 07:59:13 +00:00

107 lines
2.7 KiB
HTML

{% extends "_layout.html" %}
{% block title %}NetDB Backend{% endblock %}
{% block content %}
<!-- file version 2013.05.28.01 -->
<p>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.
</p>
<p>A solution likely based on a DHT will be investigated and
finally implemented.
</p>
<h2>Requirements</h2>
<dl>
<dt><b>Lookup speed</b></dt>
<dd>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.
</dd>
<dt><b>Attack resilience</b></dt>
<dd>The solution should ideally be (or be extensible to be)
resilient against
<a href="how_threatmodel.html#sybil">sybil and eclipse</a> attacks.
</dd>
<dt><b>Scalability</b></dt>
<dd>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.
</dd>
</dl>
<h2>Bounty</h2>
<table border="1">
<tr><td><p><b>Item</b></p></td><td><p><b>Description</b></p></td><td><p><b>Result</b></p></td><td><p><b>Value</b></p></td></tr>
<tr>
<td><h4>Investigate alternatives</h4></td>
<td>
<dl>
<dt><b>Find candidates</b></dt>
<dd>Find decentralized distributed systems that is fulfill our reuiqrements.</dd>
<dt><b>Select alternative</b></dt>
<dd>Select the best viable alternative.</dd>
</dl>
</td>
<td><a href="http://trac.i2p2.de/wiki/NetDB/NextBackend">Trac</a></td>
<td><p>162.5&euro;</p></td>
</tr>
</tr>
<tr>
<td><h4>Investigate implementation</h4></td>
<td>
<dl>
<dt><b>Investigate refactoring</b></dt>
<dd>Investigate I2P NetDB refactoring strategy.</dd>
<dt><b>Investigate and fix MultiRouter</b></dt>
<dd>Investigate the usability of MultiRouter, and fix issues found. MultiRouter will simplify further development.</dd>
<dt><b>Select base implementation</b></dt>
<dd>i2p.zzz.kademlia / i2psnarkdht is the most likely base implementation.</dd>
</dl>
</td>
<td><p><a href="http://trac.i2p2.de/changeset/0f0a99298bfbd4652d3dad2885ee1f0e1472c156">Trac</a></p></td>
<td><p>162.5&euro;</p></td>
</tr>
<tr>
<td><h4>Begin implementation of the most basic DHT</h4></td>
<td>
<dl>
<dt><b>Investigate I2CP</b></dt>
<dd>Investigate and design/select an I2NP message.</dd>
<dt><b>Implement iterative DHT lookups</b></dt>
<dd>Implement support for iterative DHT lookups</dd>
</dl>
</td>
<td><p>None yet</p></td>
<td><p>325&euro;</p></td>
</tr>
<tr>
<td><h4>More to come</h4></td>
<td>...</td>
<td><p></p></td>
<td><p></p></td>
</tr>
</table>
{% endblock %}