I2P (Invisible Internet Project) est un système de réseau anonyme qui dispose d'une couche logicielle destinée à n'importe quelles applications pour qu'elles puissent communiquer de façon anonyme et sécurisée entre elles. La communication est chiffrée d'extrémité à extrémité avec quatre couches de chiffrage utilisées pour un seul message envoyé. Les "destinations", comme des serveurs Web, IRC, jeu, etc, sont des identifiants cryptographiques et non des adresses IP. Ils sont définis par paire de clefs asymétriques (couple clef privé:clef publique). Lorsqu'une application doit communiquer avec une autre, elle cherche donc sa "destination" en fonction de la "serrure" proposée et non plus en fonction de son adresse publique.