| 88 | == How == |
| 89 | |
| 90 | === 1: Implement Kademlia === |
| 91 | A full implementation of Kademlia will be used as a base for further enhancements. |
| 92 | |
| 93 | * Investigate the i2p.zzz.kademlia implementation |
| 94 | * Make sure that i2p.zzz.kademlia implements Kademlia fully |
| 95 | * Implement ''k''-bucket merging |
| 96 | |
| 97 | === 2: Improve performance === |
| 98 | For Kademlia to be a viable alternative, lookup speed must be kept high. This means that lookup steps should be kept low and that as many round-trips as possibly should be avoided. |
| 99 | |
| 100 | * Implement recursive lookups |
| 101 | * Investigate performance |
| 102 | |
| 103 | === 3: Attack resistance === |
| 104 | The two main attack resistance methods will be recursive and random recursive lookups. |
| 105 | Recursive lookups are not only fast, but can be be used to provide a lookup success metric that is useful when doing the ''k''-bucket evictions. |
| 106 | Random Recursive lookups allows FIND_VALUE requesters to eventually find a path to the data if one exists. |
| 107 | |
| 108 | * Implement recursive lookup metric |
| 109 | * Change ''k''-bucket eviction policy to also use recursive lookup success metric |
| 110 | * Implement random recursive lookups |
| 111 | |
| 112 | |
| 113 | |
125 | | |
126 | | |
127 | | |
128 | | == How == |
129 | | |
130 | | === 1: Implement Kademlia === |
131 | | A full implementation of Kademlia will be used as a base for further enhancements. |
132 | | |
133 | | * Investigate the i2p.zzz.kademlia implementation |
134 | | * Make sure that i2p.zzz.kademlia implements Kademlia fully |
135 | | * Implement ''k''-bucket merging |
136 | | |
137 | | === 2: Improve performance === |
138 | | For Kademlia to be a viable alternative, lookup speed must be kept high. This means that lookup steps should be kept low and that as many round-trips as possibly should be avoided. |
139 | | |
140 | | * Implement recursive lookups |
141 | | * Investigate performance |
142 | | |
143 | | === 3: Attack resistance === |
144 | | The two main attack resistance methods will be recursive and random recursive lookups. |
145 | | Recursive lookups are not only fast, but can be be used to provide a lookup success metric that is useful when doing the ''k''-bucket evictions. |
146 | | Random Recursive lookups allows FIND_VALUE requesters to eventually find a path to the data if one exists. |
147 | | |
148 | | * Implement recursive lookup metric |
149 | | * Change ''k''-bucket eviction policy to also use recursive lookup success metric |
150 | | * Implement random recursive lookups |
151 | | |