BitTorrent over I2P

Detailed specification and ecosystem overview for BitTorrent within the I2P network

Overview

BitTorrent over I2P enables anonymous file sharing through encrypted tunnels using I2P’s streaming layer. All peers are identified by cryptographic I2P destinations instead of IP addresses. The system supports HTTP and UDP trackers, hybrid magnet links, and post-quantum hybrid encryption.


1. Protocol Stack

LayerFunctionExample
ApplicationBitTorrenti2psnark, BiglyBT
TransportStreaming / SAM v3I2CP, NTCP2
NetworkGarlic routingI2NP

All connections run through I2P’s encrypted transport layer (NTCP2 or SSU2). Even UDP tracker packets are encapsulated within I2P streaming.


2. Trackers

HTTP Trackers

Standard .i2p trackers respond to HTTP GET requests such as:

http://tracker2.postman.i2p/announce?info_hash=<20-byte>&peer_id=<20-byte>&port=6881&uploaded=0&downloaded=0&left=1234&compact=1

Responses are bencoded and use I2P destination hashes for peers.

UDP Trackers

UDP trackers were standardized in 2025 (Proposal 160).

Primary UDP Trackers

  • udp://tracker2.postman.i2p/announce
  • udp://opentracker.simp.i2p/a
  • http://opentracker.skank.i2p/a
  • http://opentracker.dg2.i2p/a

magnet:?xt=urn:btih:<infohash>&dn=<name>&tr=http://tracker2.postman.i2p/announce&tr=udp://denpa.i2p/announce&xs=i2p:<destination.b32.i2p>
ParameterMeaning
xs=i2p:<dest>Explicit I2P destination
tr=Tracker URLs (HTTP or UDP)
dn=Display name

Magnet links support hybrid swarms across I2P and clearnet when configured.


4. DHT Implementations

ImplementationTypeStatus
Java I2PExperimental overlayStable
i2pdUDP-based internal overlayActive
BiglyBTSAM v3.3-basedFully supported

5. Client Implementations

I2PSnark

  • Bundled with all routers
  • HTTP-only tracker support
  • Built-in tracker at http://127.0.0.1:7658/
  • No UDP tracker support

BiglyBT

  • Full-featured with I2P plugin
  • Supports HTTP + UDP trackers
  • Hybrid torrent support
  • Uses SAM v3.3 interface

Tixati / XD

  • Lightweight clients
  • SAM-based tunneling
  • Experimental ML-KEM hybrid encryption

6. Configuration

I2PSnark

i2psnark.dir=/home/user/torrents
i2psnark.autostart=true
i2psnark.maxUpBW=128
i2psnark.maxDownBW=256
i2psnark.enableDHT=false

BiglyBT

SAMHost=127.0.0.1
SAMPort=7656
SAMNickname=BiglyBT-I2P
SAMAutoStart=true
DHTEnabled=true

7. Security Model

ComponentDescription
EncryptionNTCP2 / SSU2 with X25519+ML-KEM hybrid
IdentityI2P destinations replace IP addresses
AnonymityPeer info hidden; traffic multiplexed
Leak PreventionRemove headers (X-Forwarded-For, Client-IP, Via)

Hybrid (clearnet + I2P) torrents should be used only if anonymity isn’t critical.


8. Performance

FactorImpactRecommendation
Tunnel lengthAdds latency1-hop client, 2-hop server
PeersBoosts speed20+ active peers
CompressionMinimal gainUsually off
BandwidthRouter-limitedDefault settings optimal

Typical speeds range 30–80 KB/s, depending on peers and network conditions.


9. Known Issues

  • Partial DHT interoperability between Java I2P and i2pd
  • Magnet metadata fetch delay under heavy load
  • NTCP1 deprecated but still used by old peers
  • UDP simulated over streaming increases latency

10. Future Roadmap

  • QUIC-like multiplexing
  • Full ML-KEM integration
  • Unified hybrid swarm logic
  • Improved reseed mirrors
  • Adaptive DHT retries

References


Was this page helpful?