定義
P2P(Peer-to-Peer)とは、中央にあるサーバーを経由せず、ネットワークにつながった個々のユーザーのパソコン同士が、ファイルなどのデータを直接やり取りする通信方式です。参加するすべてのパソコンは対等な仲間という意味で「ピア(Peer)」と呼ばれます。
先生に行列するか、友だち同士でプリントを回すか
先生1人が生徒50人にプリントを1枚ずつ手渡しすると、長い行列ができますよね。これまでのインターネットサービスはまさにこの形です。巨大な中央サーバーがたった1台で大勢のユーザーにデータを送るため、人が集中するとサーバーがダウンしたり、速度が落ちたりします。
一方、P2P方式では、先にプリントを受け取った生徒が隣の友だちにコピーを渡し、その友だちがまた別の隣の子に渡していきます。管理役がいなくても、参加者同士が直接データをやり取りする方式なのです。
この仕組みでは、ネットワークにつながったパソコンが、お客さんであると同時にお店の店員にもなります。データを受け取る「ダウンローダー」であると同時に、自分が持っているデータを他の人に渡す「アップローダー」の役割も果たすからです。
人が増えても、なかなか遅くならない
一般的なWebサイトは、アクセスが集中するほどサーバーに負荷がかかり、速度が落ちていきます。ところがP2Pネットワークでは、断片を分け与える参加者が増えるほどネットワーク全体の供給力も大きくなるため、アクセスが集中しても速度が落ちにくいという特徴があります。ただし、受け取るだけで分け与えない人が多いとこの効果は弱まりますし、自分のダウンロード速度が自分のインターネット回線の限界を超えることはありません。
たとえば、100ページの分厚い本をダウンロードする場面を想像してみましょう。P2Pソフトは、この本を1ページずつ100個の断片に細かく分けます。そして、1ページ目を持っている友だち、2ページ目を持っている友だち、50ページ目を持っている友だちから、それぞれ別の断片を同時に集める方式をとります。
自分が断片を集めている途中でも、すでに受け取って確認を終えた断片は、すぐ他の友だちに分けてあげられる状態になります。全員が同時にダウンロードし、同時に共有するので、断片を分ける参加者が増えるほど、ネットワーク全体のデータ供給力も一緒に大きくなる仕組みです。
もう少し正確にいうと
すべてのP2Pが中央サーバーを100%排除しているわけではありません。どのユーザーがどのファイルの断片を持っているかを、電話帳のように一覧で教えるだけの案内役のサーバーを置き、実際のファイル転送だけをユーザー同士で直接行う「ハイブリッドP2P」方式も広く使われています。
また、P2Pは違法ダウンロードにしか使われない悪い技術ではありません。大容量オンラインゲームのアップデートパッチを数百万人に素早く配信したり、ビデオ会議でユーザー同士の映像をサーバーを介さずに遅延を抑えてやり取りしたりするときにも使われています。
管理者なしで参加者が取引台帳を一緒に検証し、分け持つビットコインとブロックチェーン技術も、P2Pネットワークを土台に動いています。インターネットをより柔軟で丈夫にしてくれる分散技術の、核となるルーツといえるでしょう。
よくある誤解
P2Pは違法ダウンロード専用の技術だ。
P2Pはデータを効率よくやり取りするためのネットワーク技術にすぎません。大型ゲームのパッチ配信、ビデオ会議(WebRTC)、ブロックチェーンなど、合法で重要なシステムで中核技術として活発に使われています。
日常で出会う場面
BitTorrent(ビットトレント)というソフトで、複数のユーザーから大容量ファイルの断片を同時に分けてもらいます。
大手オンラインゲーム会社が、新しいパッチを数百万人のユーザーにサーバーの負担を抑えながら素早く配信するときに使うこともあります。
ビットコインのような暗号資産ネットワークでは、中央銀行がなくても、参加者のパソコン同士が取引台帳を検証し共有しています。
つまり ひとことで
P2Pは、中央サーバーなしに、ネットワークに参加したユーザーのパソコン同士が直接データをやり取りする分散型の通信技術です。