Files
I2P_Website/i2p2www/pages/site/get-involved/bounties/netdb.html
str4d 6218e46049 propagate from branch 'i2p.www' (head e78562124035a6c5e6175f1eca4788ffe376af78)
to branch 'i2p.www.revamp' (head f6bf384ad0a7c5fbb27c5bb8e09032a759ae93f7)
2013-10-26 11:03:57 +00:00

109 lines
2.8 KiB
HTML

{% extends "global/bounty.html" %}
{% block title %}{{ _('NetDB Backend') }}{% endblock %}
{% block donatename %}{{ _('netDB backend') }}{% endblock %}
{% block bountydetails %}
<!-- file version 2013.05.28.01 -->
<p>{% trans -%}
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.
{%- endtrans %}</p>
<p>{% trans -%}
A solution likely based on a DHT will be investigated and
finally implemented.
{%- endtrans %}</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="{{ site_url('docs/how/threat-model') }}#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="https://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="https://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 %}
{% block bountynotesouter %}{% endblock %}