Peer to Peer(P2P)ってどんな仕組み?
Project LUCKと書く人
Project LUCKメンバーの佐藤です!Project LUCKというのは、株式会社マーキュリー(代表取締役:都木聡)の中で立ち上げたプロジェクトです。そのコアメンバーが日々、自分たちが学んだことや読者の皆さんとコミュニケーションをとりたいと思い、さまざまな記事を書いています。
今回のテーマ
今回は「Peer to Peer(P2P)ってどんな仕組み?」と題して、ブロックチェーンの重要な思想である「分散化」を支える技術のPeer to Peer(P2P)について解説を行っていきたいを思います。
Peer to Peer(P2P)とは?
Peer to Peer(P2P)とは、サーバーを介さずにPCやスマホなどの端末(ピア)同士で直接通信を行う通信方法です。
クライアントサーバーモデルとの違い
これまでネットワークは画像左の図のように、「サーバー」をいう中央集中的な場所でデータを管理し、それらのデーターを「クライアント」に共有し通信を行っていました。
しかしながらPeer to Peer(P2P)では画像右の図のように、サーバーという中央で管理する管理者を必要とせずに、各ピアが対等な関係を持って分散的に通信を行います。
つまり、Peer to Peer(P2P)ネットワークではネットワーク全体がサーバーとしての役割を果たしています。
Peer to Peer(P2P)ネットワークの基本的な動作原理
ピア(ノード)としてネットワークへ参加
他のピアの情報を取得しネットワークを拡大
定期的に近くのピアの情報を取得し、更新を行う
必要なリソース(情報)が要求されると自身が持っているかを確認する
持っている場合は情報を要求元のピアに提供する
※たくさん要求されるリソースはたくさんのピアに保存され、負荷を分散する長時間の応答がないピアはネットワークから切断される
Peer to Peer(P2P)のメリットとデメリット
Peer to Peer(P2P)のメリット
ネットワークが止まりずらい
Peer to Peer(P2P)は分散型で運用されているので、いくつかのピア(ノード)が停止してもネットワーク全体では問題なく通信を行えます。
そのため、中央で管理しているクライアントサーバーモデルと異なりネットワークを止めるリスクをかなり低く抑えての運営が可能です。管理コストやインフラへの投資が少ない
Peer to Peer(P2P)ネットワークは分散での管理を行っており、分散した先のピア(ノード)がそれぞれにインフラの管理を行って運営を行います。
そのため、大きなデータ容量や処理能力を必要とするサーバーを持つ必要がなく、1つ1つのコスト的にも安価に運営が行えます。ピア(ノード)が増えるほど処理能力が向上
Peer to Peer(P2P)では、それぞれのピア(ノード)が集まって1つのネットワークを作成しています。
つまり、各ピア(ノード)がクライアントサーバーモデルにおけるサーバーとクライアントの役割を果たします。そのため、ネットワークを構成するピア(ノード)の数が増えるほど処理能力やネットワーク全体のデータ保存量を増加することが可能です。匿名性がある
Peer to Peer(P2P)ネットワークでは分散して管理を行うため、各ピア(ノード)がすべての情報を持たず、各ピア同士は直接的に通信を行うため、情報の追跡が難しくなっています。
しかしながら、Peer to Peer(P2P)ネットワークは匿名性を目的に作成されたネットワークではないので完全な匿名性の提供はできません。
Peer to Peer(P2P)のデメリット
匿名性を悪用される可能性がある
メリットでも述べたように、Peer to Peer(P2P)ネットワークでは一定の匿名性を持つため、違法なコンテンツや違法薬物取引などその匿名を悪用される可能性があります。
さらに、P2Pの技術にVPNやTorなどのより強力な秘匿か技術を紐づけることでより強力な匿名化を行うことも可能です。処理能力が一定ではない
Peer to Peer(P2P)ネットワークでは分散的に管理を行うメリットが数多く存在しますが、分散的に管理を行うことでピア(ノード)の数が変動する可能性があり、その数によって処理能力が大きく変化する可能性があります。規制が難しい
分散的にネットワークの管理を行うPeer to Peer(P2P)ネットワークでは、それぞれのピア(ノード)が世界各国に分散します。
同じP2Pネットワークを様々な人が利用するので、それぞれの国の法律で規制することが非常に難しくなります。
仮に1つの国で利用される場合でも、クライアントサーバー型とは異なり分散型で管理を行うためすべてのピア(ノード)がその規制に対応する必要があり規制の難易度が非常に高くなってしまいます。
Peer to Peer(P2P)の具体的な活用例
ビットコイン
ビットコインではビットコインネットワーク上でユーザー同士がビットコインの送金を行う際にPeer to Peer(P2P)が利用されます。
ビットコインではPeer to Peer(P2P)技術を用いることで、中央集権の管理を必要としない送金ネットワークを実現しています。
LINE
次に、皆さんも日常的に使っているメッセージアプリケーションの「LINE」にもPeer to Peer(P2P)技術が用いられています。
具体的には、友達と写真や動画などのデータファイルを共有する仕組みにPeer to Peer(P2P)が導入されており、サーバーを介さないコンテンツの共有を可能にしています。
Skype
最後に、有名通話アプリケーションの「Skype」にもPeer to Peer(P2P)が利用されていました。
現在はマイクロソフト社に買収されてPeer to Peer(P2P)は利用されなくなりましたが、以前は通話やファイルの共有にPeer to Peer(P2P)が利用されていました。
最後に
今回はPeer to Peer(P2P)の仕組みや利用用途について解説を行っていきました。
ビットコインだけでなくLINEやSkypeなどわれわれの身近にPeer to Peer(P2P)技術は存在していて、さまざまな使われ方をしていることがわかりました。
実はこの技術は日本人の金子勇氏によって開発された技術です!
金子氏のPeer to Peer(P2P)技術やその後の大事件に至るまで、「Winny」というタイトルで映画化されているのでもし興味を持った方は見てみてはいかがでしょうか?
出典
Understanding Peer-to-Peer Architecture:https://systemdesignschool.io/blog/peer-to-peer-architecture
What is Peer-to-Peer Architecture?:https://systemdesignschool.io/blog/peer-to-peer-architecture
P2P(ピアツーピア)とは?メリット・デメリットや活用事例を解説:https://www.for-it.co.jp/mediverse/cryptocurrency/p2p/
この記事が気に入ったらサポートをしてみませんか?