
Outbound tunnels targeting one of Bob's (green) inbound tunnels (tunnel 3 or 4). When Alice and Bob talk to each other, Alice sends a message out one of her (pink) Shown, nor are the rest of each router's outbound tunnel pool (typically stocked with a few tunnelsĪt a time). For simplicity, Charlie's inbound tunnels and Dave's outbound tunnels are not They each have a pair of 2-hop inbound tunnels per destination (labeled 1, 2, 3,Ĥ, 5 and 6), and a small subset of each of those router's outbound tunnel pool is shown with 2-hop In the above, Alice, Bob, Charlie, and Dave are all running routers with a single Destination on Network database (using a modification of the Kademlia algorithm) forĭistributing routing and contact information securely. That will be used for sending and receiving messages through the network. TheseĬlients can connect to any router and authorize the temporary allocation ("lease") of some tunnels Client applications have their ownĬryptographic identifier ("Destination") which enables it to send and receive messages. Mechanisms (TCP, UDP, etc), passing various messages. These routers communicate with each other through existing transport Each router is identified by a cryptographic RouterIdentity which is Inbound and outbound virtual paths ("tunnels", as outlined on the tunnel routing page). The network at a glance is made up of a set of nodes ("routers") with a number of unidirectional Internet, but we could not find any that met our needs or threat model. There are many otherĮfforts working on finding ways to provide varying degrees of anonymity to people through the There are a multitude of reasons why we need a system to support anonymous communication, andĮveryone has their own personal rationale. Some users can avoid detection by a very powerful adversary, while others will try to evade a weakerĮntity, all on the same network, where each one's messages are essentially indistinguishable Sufficient cover traffic provided by the activity of people who require less anonymity. Briefly, I2P's intent is to allow people toĬommunicate in arbitrarily hostile environments by providing good anonymity, mixed in with Increasingly expensive costs to identify someone. Proxies to enable the anonymizing functionality.Īn essential part of designing, developing, and testing an anonymizing network is to define the threat model, since there is no such thing as "true" anonymity, just Of the I2P enabled applications, or perhaps as a little controller app to turn on and off various Will not use I2P directly, or even need to know they're using it. TCP/IP applications over I2P, such as SSH, IRC, a squid proxy, and even streaming audio. Help of the I2PTunnel application, we are able to stream traditional Some example uses of the network include "I2P Sites" (webservers hosting normal webĪpplications within I2P), a BitTorrent client ("I2PSnark"), or a distributed data store. Messages are addressed to cryptographic keys (Destinations) and can be significantly larger than IP The network itself is message oriented - it is essentially a secure and anonymous IP layer, where Is quite likely that any outbound proxies to the normal Internet will be monitored, disabled, orĮven taken over to attempt more malicious attacks. Having the ability to run servers within I2P is essential, as it In-I2P web sites (allowing anonymous publishing / hosting) as well as HTTP proxies to the normal web I2P is designed toĪllow peers using I2P to communicate with each other anonymously - both sender and recipientĪre unidentifiable to each other as well as to third parties. Originator of some communication and not the recipient, or the other way around. Unlike many other anonymizing networks, I2P doesn't try to provide anonymity by hiding the Of course, all aspects of the network are open and The network supportsĭynamic reconfiguration in response to various attacks, and has been designed to make use ofĪdditional resources as they become available.

There is no central point in the network on which pressure can beĮxerted to compromise the integrity, security, or anonymity of the system. People using I2P are in control of the tradeoffs between anonymity, reliability,īandwidth usage, and latency. I2P is a project to build, deploy, and maintain a network supporting secure and anonymousĬommunication.
