I2P Network

The Invisible Internet Project - Garlic Routing for Privacy

Overview

I2P (Invisible Internet Project) is an anonymous network layer that allows for censorship-resistant, peer-to-peer communication. It uses a packet-based protocol and "garlic routing" to provide anonymity for both senders and receivers of messages.

Key Differences from Tor
  • Packet-based: Uses packets instead of circuits
  • Garlic Routing: Bundles multiple encrypted messages
  • Internal Focus: Optimized for internal services (eepsites)
  • Fully Distributed: No central directory servers
  • Unidirectional Tunnels: Separate tunnels for in/out traffic

Garlic Routing

Garlic routing is an extension of onion routing that bundles multiple messages together into a single encrypted "clove." This provides additional protection against traffic analysis.

How It Works

1

Message Bundling

Multiple messages are combined into a garlic clove, making it impossible for observers to count individual messages.

2

ElGamal/AES Encryption

Each layer uses ElGamal for key exchange and AES for symmetric encryption, providing strong cryptographic protection.

3

Unidirectional Tunnels

I2P uses separate tunnels for inbound and outbound traffic, improving anonymity against certain attacks.

Network Architecture

Network Database (NetDB)

I2P uses a distributed hash table (DHT) called the Network Database to store router information and lease sets for destinations.

Tunnels

All traffic in I2P flows through tunnels:

  • Inbound Tunnels: Receive messages from the network
  • Outbound Tunnels: Send messages to the network
  • Exploratory Tunnels: Used for NetDB queries
i2p-tunnel-structure
# I2P Tunnel Path Example
Client → Outbound Tunnel [3 hops] → Destination's Inbound Tunnel [3 hops] → Server
# Response travels back via separate tunnels
Server → Server's Outbound → Client's Inbound → Client

Eepsites

Eepsites are websites hosted within the I2P network, accessible only through I2P. They use .i2p pseudo-domains and provide both anonymity for visitors and operators.

Features

  • Anonymous hosting and visiting
  • No IP address exposure
  • Censorship-resistant
  • End-to-end encrypted connections
  • Distributed address resolution

Getting Started

i2p-installation
# Add I2P repository (Debian/Ubuntu)
user@cosmic:~$ sudo apt-add-repository ppa:i2p-maintainers/i2p
user@cosmic:~$ sudo apt-get update && sudo apt-get install i2p
# Start I2P router
user@cosmic:~$ i2prouter start
# Access router console at http://127.0.0.1:7657
ℹ️

Integration Time: I2P requires time to integrate with the network. Allow 10-30 minutes for the router to find peers and build tunnels before expecting good performance.

Built-in Applications

I2P-Bote

Decentralized email system

Email

I2PSnark

Anonymous BitTorrent client

File Sharing

IRC

Anonymous IRC servers

Chat

Eepsite Hosting

Host anonymous websites

Web

I2P vs Tor

Feature I2P Tor
Routing Garlic (packet) Onion (circuit)
Primary Use Internal services Anonymous browsing
Directory Distributed DHT Centralized authorities
Outproxies Limited Exit nodes
Tunnel Type Unidirectional Bidirectional
Related

Learn More