事例や仕組みを分かりやすく解説!P2P(ピアツーピア)とは
初心者向けにP2P(ピアツーピア)の仕組みや事例について分かりやすく解説しています。ブロックチェーン技術を理解する上で欠かせない通信技術で多くのWebサービスでも使われています。システム開発を行わない人でも知っておいて損はないでしょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、P2P(ピアツーピア)について解説します。
通信技術の話の中で「P2P」という用語を聞いてよく分からないという人も多いでしょう。この記事では、P2Pがどういった仕組みで実際どんなサービスで使われているのかまとめています。
ブロックチェーン技術を理解する上でも知っておきたい知識の一つでしょう。
今回はP2Pについて説明しよう。
田島メンター!P2Pとはどういったものなんですか〜?
peer-to-peerの略で、peer(同等の立場)同士で通信をすることを指すんだ。具体的に見ていこう。
はい!
P2Pとは
P2Pとは、peer-to-peerの略で、P2Pネットワークとも呼ばれます。
一般的なインターネットは、サーバーで処理された内容をクライアントから利用する通信を行っています。
サーバーというのは、インターネット上にある、プログラムが動作している性能の良いパソコンというイメージです。
クライアントとは、お手元のパソコンやスマホの事です。
P2Pでは、サーバーとクライアントをいう関係ではなく、クライアント同士が繋がることで処理を行っています。
P2Pであるメリット
ゼロダウンタイムの実現
ダウンタイムとは、サーバーとクライアントで構成されるシステムで、サーバーが停止することでシステム全体が停止する事を意味します。
サーバーが停止して、システムが動作しなくなる事は珍しいことではありません。
P2Pにより、クライアント同士が分散して繋がることで、どれか一つのクライアントが停止しても、全体としてのシステムがダウンすることが無い、ゼロダウンタイムが実現します。
このP2P技術をりようして、ビットコインやアルトコインがブロックチェーンにより稼働しているため、ゼロダウンタイムを実現した、安定運用が可能になっています。
P2Pの特徴とそのメリットについてだよ。
クライアントとサーバーでやりとりする部分を、クライアント同士で行うという形なんですね。
P2Pであるデメリット
セキュリティリスク
P2Pを利用したサービスの中でファイル交換を行う事ができるソフトの場合、ウィルスが混入したファイルを受け取ってしまうリスクがあります。
同じように、自分の端末内から重要なデータが流出することもありえます。過去、ファイル交換ソフトを利用して企業や官庁の重要データや、私的な写真や動画が流出してしまう事件が多発しました。
また、P2Pは管理者不在で接続端末同士が相互にデータのやり取りを行う事で成立しています。その為、重要データが流出した際、それを食い止める手段が存在しない事が大きなリスクとなっています。
次に、P2Pを用いた実在サービスの例を見てみよう。
P2Pサービスの実例
Skype
世界中の人と文字・音声・ビデオチャットを無料で利用することができます。
ユーザー同士がP2Pで接続することで、それまで電話を利用して高い費用が必要だった機能が、無料になったということです。
μTorrent
μTorrentとはユーザー同士でP2P技術を利用したファイル交換ソフトです。
違法ファイルの交換が問題になっていますが、本来は著作権上ダウンロード可能な大容量ファイルを、サーバー負荷をなくしてダウンロードする事を目的としています。
例えば、1GBの容量があるゲームソフトプログラムを、公式サーバーからダウンロードすると、ゲーム会社は1ユーザー当たり1GBのネットワーク帯域を消費します。
これに対し、Torrentで既存のユーザー間でゲームソフトプログラムを共有してもらうことで、ダウンロードサーバーへの負荷を限りなくゼロにすることが可能です。
ユーザー同士で通信を行うサービスの一例だよ。
SkypeもP2Pだったんですね。
P2Pはブロックチェーンにも関わってくる技術なので、全体のイメージを把握しておこう。
わかりました。ありがとうございます!
暗号通貨におけるP2Pの役割
ビットコインにおけるp2pのネットワーク構造は、ファイル交換ソフトのそれと類似しています。
ビットコインのネットワーク上での参加者はノードと呼ばれ、ユーザーとマイナーに分かれます。
ユーザーとはビットコインを送信したり受信したりします。
マイナーはハッシュ値を計算しブロックを生成することで報酬としてビットコインを獲得します。
マイニングの記事も合わせて参考にしてみてください。
ユーザーがトランザクションを発行し、それをマイナーがマイニングすることで、トランザクションデータが分散台帳に書き込まれます。
この過程で、p2pの複数のノードを経由する事で、マイニングや分散台帳への書き込みを行う事ができる点が、暗号通貨におけるp2pの役割です。
暗号通貨におけるP2Pの仕組
ユーザーAがユーザーBに1BTC(ビットコイン)を送金する場合
1. ユーザーAがトランザクションデータを発行する
トランザクションデータ
送金者:ユーザーA 受金者:ユーザーB 送金額:1BTC
2. マイナーがマイニングを行う
p2pネットワークを利用し、ユーザーAノードに隣接しているノードを通じて、各ノードにトランザクションが伝わります。
その中で、マイナーはマイニングを行います。
マイニングに成功した最初のマイナーが、今回のトランザクションデータを含む新たなブロックを生成します。
3. 分散台帳へ記録
成功したマイナーは自信が保有する分散台帳へ新たなブロックを記録します。
この記録自体も、p2pネットワークを通じて各ノードに共有されます。
今回は、P2P(ピアツーピア)について解説しました。
ブロックチェーンを支える通信技術でもあり他にも多くのサービスで活用されているので、ぜひ知っておきましょう。
ブロックチェーンとは何か詳しく解説した記事も合わせてご覧ください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。 その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。 |