It's that time of year again! We're embarking on our summer development programme, where we focus on a particular aspect of I2P to push it forward. For the next three months, we'll be encouraging both new contributors and existing community members to pick a task and have fun with it!

Last year, we focused on helping users and developers leverage I2P, by improving API tooling and giving some love to applications that run over I2P. This year, we want to improve the user experience by working on an aspect that affects everyone: performance.

Despite onion-routing networks often being called "low-latency" networks, there is significant overhead created by routing traffic through additional computers. I2P's unidirectional tunnel design means that by default, a round trip between two Destinations will involve twelve participants! Improving the performance of these participants will help to both reduce the latency of end-to-end connections , and increase the quality of tunnels network-wide.

MOAR speed! Our development programme this year will have four components: Measure We can't tell if we improve performance without a baseline! We'll be creating a metrics system for collecting usage and performance data about I2P in a privacy-preserving way, as well as porting various benchmarking tools to run over I2P (e.g. iperf3). Optimise There's a lot of scope for improving the performance of our existing code, to e.g. reduce the overhead of participating in tunnels. We will be looking at potential improvements to: Cryptographic primitives

Network transports, both at the link-layer (NTCP, SSU) and end-to-end (Streaming)

Peer profiling

Tunnel path selection Advance We have several open proposals for improving the scalability of the I2P network (e.g. Prop115, Prop123, Prop124, Prop125, Prop138, Prop140). We will be working on these proposals, and begin implementing the finalised ones in the various network routers. The more feedback these proposals receive, the sooner we can roll them out, and the sooner I2P services can start using them! Research I2P is a packet-switched network, like the internet it runs on top of. This gives us significant flexibility in how we route packets, both for performance and privacy. The majority of this flexibility is unexplored! We want to encourage research into how various clearnet techniques for improving bandwidth can be applied to I2P, and how they might affect the privacy of network participants.