どちらも「誰が・どこから・どこへ」を隠しやすいOSSの通信網です。ざっくり言うと、Torは外のインターネットを匿名で見る向き、I2Pは網の中だけでこっそりやり取りする向きです。
データを何重にも暗号化し、複数の中継を通します。各中継は「前と次」しか知りません。隠れたサイトの住所が .onion です。
複数のメッセージをまとめて暗号化し、行きと帰りで別トンネルを使います。隠れたサイトの住所が .i2p(Eepsite)です。
Torは「覆面をした配達人が、途中で何人かに荷物を渡しながら、最後は普通の町の郵便受けまで届ける」イメージです。外のサイトにも届きます。
I2Pは「覆面の配達員同士だけで動く、閉じた町の宅配網」です。町の外(普通のWeb)へはあまり出ません。代わりに町の中の店(Eepsite)や人同士の荷物が得意です。
| 項目 | Tor(Onion) | I2P |
|---|---|---|
| 向いていること | 匿名で外のWebを見る・隠れたサイトを公開 | 隠れたサイト、チャット、ファイル共有など網内の通信 |
| 隠れた住所 | xxxx.onion |
xxxx.i2p(Eepsite) |
| 経路の作り方 | 回路(サーキット)固定の道をしばらく使う | パケット単位。行きと帰りで別トンネル |
| 暗号化のたとえ | 玉ねぎ(何重もの皮) | にんにく(何片もまとめて包む) |
| 網の名簿 | 少数のディレクトリ当局 | 分散したNetDB(Floodfill) |
| 外のインターネットへ | 出口リレーが本業の一つ | できるが弱く、推奨されない |
| 参加者の役割 | 多くの人はクライアント専用 | ルーターが中継にもなりやすい |
| 遅延の感じ | 出口利用でも比較的軽いことが多い | 網内向けに最適化。RTTは秒単位になりがち |
Torは同じ回路で双方向に話します。I2Pは外に出すトンネルと受け取るトンネルを別に作ります。片方を見ても、行きと帰りを簡単には結びつけにくくする狙いです。
複数の小さなメッセージを一つにまとめて暗号化します。タイミングや個数から「誰の通信か」を推測しにくくするのが目的です。
IPではなく暗号鍵のセットが住所になります。友人に教えるのは長い宛先、または短い .i2p 名です。相手はあなたの実IPを知る必要がありません。
ブラウザやメールは、手元のI2Pルーター(HTTP/SOCKSプロキシ)を通します。網の中ではWeb・IRC・BitTorrent(I2PSnark)・メールなどが動きます。