I2P と Tor(Onion)の違い

どちらも「誰が・どこから・どこへ」を隠しやすいOSSの通信網です。ざっくり言うと、Torは外のインターネットを匿名で見る向き、I2Pは網の中だけでこっそりやり取りする向きです。

Tor / Onion

玉ねぎルーティング

データを何重にも暗号化し、複数の中継を通します。各中継は「前と次」しか知りません。隠れたサイトの住所が .onion です。

  • 外のWeb(クリアネット)へ出やすい
  • 利用者数が多く、足跡が紛れやすい
  • ディレクトリ当局が網の地図をまとめる
I2P

にんにくルーティング

複数のメッセージをまとめて暗号化し、行きと帰りで別トンネルを使います。隠れたサイトの住所が .i2p(Eepsite)です。

  • 網の内部サービス・P2Pが本命
  • 外への出口は弱く、あまり推奨されない
  • 全員が中継に参加しやすい分散設計

たとえ話でつかむ

Torは「覆面をした配達人が、途中で何人かに荷物を渡しながら、最後は普通の町の郵便受けまで届ける」イメージです。外のサイトにも届きます。

あなた→ 中継1→ 中継2→ 出口 or .onion

I2Pは「覆面の配達員同士だけで動く、閉じた町の宅配網」です。町の外(普通のWeb)へはあまり出ません。代わりに町の中の店(Eepsite)や人同士の荷物が得意です。

あなた→ 行きトンネル→ 相手側← 帰りトンネル

いちばん大事な違い

項目 Tor(Onion) I2P
向いていること 匿名で外のWebを見る・隠れたサイトを公開 隠れたサイト、チャット、ファイル共有など網内の通信
隠れた住所 xxxx.onion xxxx.i2p(Eepsite)
経路の作り方 回路(サーキット)固定の道をしばらく使う パケット単位。行きと帰りで別トンネル
暗号化のたとえ 玉ねぎ(何重もの皮) にんにく(何片もまとめて包む)
網の名簿 少数のディレクトリ当局 分散したNetDB(Floodfill)
外のインターネットへ 出口リレーが本業の一つ できるが弱く、推奨されない
参加者の役割 多くの人はクライアント専用 ルーターが中継にもなりやすい
遅延の感じ 出口利用でも比較的軽いことが多い 網内向けに最適化。RTTは秒単位になりがち

I2Pをもう少し詳しく

1. トンネルが「行き」と「帰り」で分かれる

Torは同じ回路で双方向に話します。I2Pは外に出すトンネルと受け取るトンネルを別に作ります。片方を見ても、行きと帰りを簡単には結びつけにくくする狙いです。

2. にんにくルーティング

複数の小さなメッセージを一つにまとめて暗号化します。タイミングや個数から「誰の通信か」を推測しにくくするのが目的です。

3. 自分の宛先は「宛先鍵」

IPではなく暗号鍵のセットが住所になります。友人に教えるのは長い宛先、または短い .i2p 名です。相手はあなたの実IPを知る必要がありません。

4. アプリはプロキシ経由

ブラウザやメールは、手元のI2Pルーター(HTTP/SOCKSプロキシ)を通します。網の中ではWeb・IRC・BitTorrent(I2PSnark)・メールなどが動きます。

ポイント: I2Pは「Torの代わりのブラウザ」というより、閉じた匿名インターネットそのものに近いです。外のニュースサイトを見るだけなら、ふつうはTorの方が向いています。

どっちを使う?

Tor(Onion)を選ぶとき 匿名で普通のWebを見たい。世間によく知られた.onionサービスにアクセスしたい。利用者の多さで紛れたい。
I2Pを選ぶとき 隠れたサイトやP2Pを網の中だけで完結させたい。外への出口より、内部通信の秘匿を優先したい。サーバーなしの配布やチャットを網内でやりたい。
両方使うこともある 目的が違います。BrowsingはTor、長期の内部サービスはI2P、という使い分けもあります。混ぜると設定が複雑になるので、最初は片方からで十分です。

覚えておく注意