Peer-to-peer technology was hot in the early 2000s, with many developers building their own networks, protocols, or applications.
Napster was considered the poster child for these early developments but, soon after, iconic names such as LimeWire, Freenet, and BitTorrent emerged. These technologies would grow out to become game-changers.
Away from the computer, there were major developments in the real world as well. This includes September 11, 2001, when even the most passionate coders were drawn away from their CRT monitors. This would change history.
After the September 11 attacks, the world was in a state of shock and uncesrtainty. Terrorism became a global threat and, in response, online surveillance was placed high on the political agenda. For a good reason too – most people wanted the terrorists to be caught.
At the same time, however, the scope and power of the digital surveillance apparatus raised concerns as well.
In that environment, a young developer named Lance James pondered the implications of increased online ‘monitoring’ on the privacy of law-abiding citizens. In response, he came up with the idea for a network layer that would be anonymous and censorship-resistant.
This was a pretty unique concept at the time but several other developers were playing with similar ideas. The United States Navy, for example, was working on Onion routing, which later turned into the TOR network. However, that code was not yet available publicly.
James, also known under his nickname “0x90,” was aware of these initiatives. He already used the anonymous P2P platform Freenet for personal use. That worked well, but he was looking for a way to complement this idea with instant messaging functionality.
“I really like codes and ciphers, and the problem of anonymity and cryptography at scale,” James tells us 20 years later.
“I was a big fan of Ian Clarke’s Freenet at the time, but it had a problem. I could not send a real-time message. I wanted to figure out how to solve that problem. It came to me at 4am one morning and woke me up and I started drawing feverishly on a napkin.”
On that morning in October 2001, he wrote the first lines of code for what he called the “Invisible IRC Project” (IIP) which would later be rebranded as the “Invisible Internet Project,” or I2P for short.
The Invisible IRC Project
In February of 2002, James first presented his anonymous communications project to a broader audience at CodeCon in San Francisco.
“There are a lot of studies and readings on anonymous IRC, it has been long-awaited. So we are starting to do something with it,” he told the cypherpunk audience, before showcasing an early version of the software.
This presentation was the start of a dedicated developer community that continued to improve the project. While James never meant to use the code as a political statement or tool, others were more outspoken about what the anonymous network’s goals should be.
When the anonymous developer “jrandom” joined in 2003, things started to change. The prolific newcomer had a clear vision for both the technological and ideological goals of the project and started to take more control into his hands.
IIP Becomes I2P
After a few months, jrandom assumed the role of project leader and renamed it the Invisible Internet Project or “I2P”. This rebranding came with a detailed philosophy document, which set out the future path and goals.
“InvisibleNet has formed the Invisible Internet Project (I2P) to support the efforts of those trying to build a more free society by offering them an uncensorable, anonymous, and secure communication system,” the document starts.
In the years that followed I2P developed into a network layer that allows applications to use anonymous connections. This prevents outsiders from tracking down the source of the traffic, which could be chats, files, or anything else.
There are a variety of applications that use or are compatible with I2P. These include file-sharing tools such as BiglyBT and MuWire, but also IRC clients, routers, chat tools, and even cryptocurrencies such as Bitcoin and Monero.
As the original pioneer looking back today, James doesn’t hold any grudges. He’s the type of person who likes to start ideas and watch them grow, but he doesn’t feel the need to remain involved forever.
Also, some people who joined the project early on had anti-government views and strong political agendas which the original developer wasn’t comfortable with. While these outspoken voices, including jrandom’s, eventually disappeared, James had made up his mind and left as well.
“So I left, amicably. It was time as I was happy with the impact it made inspiring other projects, and I learned a lot about cryptography. And the militant folks went away, by the way, but I left because it was time,” James tells us.
Today, cryptography and decentralized networks are all the rage and, in a way, James and his cohorts laid the early groundwork. Although I2P has its own shortcomings, it continues to fuel new projects.
After 20 years, James is proud of how his idea has inspired others. He’s currently the CEO of cybersecurity intelligence outfit Unit 221b and looks back at his early involvement with a sense of accomplishment.
“I’m proud it made it 20 years. I’m proud that it was a first of its kind before Tor even, and that it inspired action among cypherpunks to do (code) more and talk less. I am glad of the development culture that inherited it, and I’m proud that I’ve seen it used to empower conversations, turning adversaries into friends,” James adds.
To get a more complete picture of how I2P evolved and the current status of the project, we also reached out to developers who are still actively working on I2P.
This includes ‘zzz’, who tells us that he first got involved in 2005. He eventually worked himself up from a user to a bug reporter and became more active as time went by.
When ‘zzz’ started going to conferences such as HOPE, DEFCON, and CCC, meeting other developers from the team, his contributions increased even more. Today, he’s one of the leaders of the project.
While I2P has tens of thousands of active users at any given point in time, it remains a relatively niche project. However, ‘zzz’ believes that mass adoption is still possible but to accomplish this, it should become easier to use.
“The need for privacy and security tools has grown remarkably in 20 years. The complex threats from governments and other actors are increasing rapidly, and people need solutions that are simple to use.
“Our challenge is to offer I2P as a solution and spread the word. If adoption doesn’t grow, it’s because we’ve failed to make it easy enough to find I2P and use it. That continues to be our focus,” ‘zzz’ says.
As can be seen from a slide from zzz’s presentation at Hacklab in 2015, these ‘marketing’ issues are not new. That said, there is a solid userbase now that, with a viral application, could easily explode.
Free and Anonymous Internet
Another person who joined the I2P community is former LimeWire developer Zlatin Balevsky, who was also involved in the Freenet project early on.
“Over the years I worked at LimeWire I would occasionally ‘drop by’ the I2P developers just to see how they were doing,” Balevsky tells us.
Roughly ten years ago when Wikileaks, the Arab Spring, and Occupy Wall Street were dominating the news headlines, he decided to get more actively involved in I2P as a developer.
“What excites me about the project is its vision of a free and anonymous internet. To me, that is the real ‘Promised Land’ of our time, and it is our duty to preserve it for future generations.”
In 2019 Balevsky launched the I2P-based file-sharing client MuWire. On his personal blog he wrote in detail about his personal motivations to start the project, criticizing the “monetization” element that poisoned the true purpose of sharing.
MuWire works well but there are drawbacks too. One of the downsides of I2P is that it routes traffic through multiple nodes, which tends to be quite slow. However, there is some steady progress on this front.
“In 2015 30kb/sec was considered normal for I2P, whereas now we see speeds of over 1MB/sec. And we’re not done yet,” MuWire’s founder notes.
Looking ahead, Balevsky believes that privacy will become more important over time. And while there are commercial privacy tools such as VPNs, he sees an open-source non-profit solution as the best way forward.
All in all, the manner in which I2P has grown and evolved over the years is quite an achievement. While many developers have come and gone, it continues to evolve. We can’t wait to see where it will be in another two decades.