仮想通貨には、ブロックチェーン技術が使用されています。
このブロックチェーンを理解する上で、P2P(ピア・ツー・ピア)という新しいインターネットの仕組みを理解する必要があります。
この記事ではP2Pの技術について、現役ITエンジニアがITの事が詳しくない人も簡単にわかるように説明していきます!
P2P(ピア・ツー・ピア)ってなに?
P2P(ピア・ツー・ピア)を理解する上で、まずは現在の世の中に存在するウェブサイトやアプリなどがどのような仕組みで成り立っているのかについて理解する必要があります。
もうそれについてはもう知ってるよ〜という方は、P2Pの仕組みの章までスキップしてください。
現在のウェブサイトの仕組み
では早速、皆さんは日々スマホでウェブサイトを閲覧したり、Twitterでレスバトルしたり、様々な娯楽や知識を得るために、インターネットを使用すると思います。
では、このウェブサイトの情報はどのようにしてスマホに表示されているのか考えたことありますか?
実はスマホに表示されるウェブサイトは、すべてファイルのデータです。
じゃあ、このファイルデータがあなたのスマホに入っているでしょうか?いいえ、入っていません。
いちいちスマホにウェブサイトの情報を全部保存していたら、データ量が多すぎてパンクしてしまいますよね。
じゃあ、このデータはどこから取得しているのか。
実は1つの性能の良いパソコンの中身から取得しているんです。
例えば、Youtubeの動画をYoutubeの公式ホームページで見た時、以下の図のような処理をネットワーク上で行っています。
Youtube上にある膨大な動画は、Youtube社が持っている1つの大きなパソコン(サーバー)に保存されているんです。
そして、私たちは動画を見る時、Youtube社の大きなパソコンから動画データを取り出して、それをスマホに落とし込んでから、動画を視聴する仕組みになっています。
この時、動画データはスマホにダウンロードされないので、スマホには保存されません。
このようなスマホ自体に保存されない技術のことを「ストリーミング」と言います。興味のある方はググってみてください。
youtubeに限らず、スマホやパソコンでウェブサイトやアプリケーションを使用する時は、このような仕組みでデータやり取りを行なっています。
なんとなくレンタルビデオ店の仕組みと似ていますよね。
これをクライアントサーバー型と呼びます。
クライアントは、私のスマホやパソコンの事を指し、サーバーがウェブサイトを運営している会社にある大きなパソコンのことを指します。
P2Pの仕組み
P2P(ピア・ツー・ピア)とは、先に述べたクライアントサーバー型とは全く異なった仕組みになっています。
クライアントサーバー型は、サーバーという大きなパソコンからデータをもらってくる仕組みでしたよね。
一方、P2Pはネットワークに参加している全ての端末が同じデータを持つ仕組みになっています。
つまり、ネットワークに参加しているすべての端末がサーバーの役割を果たすということです。
Youtubeを例にすると、P2P技術を使用した場合、自分のスマホにもYoutube上の動画すべてが保存される仕組みになるってわけです。
そうなると、クライアント側のデータ容量がパンクしてしまうのでは?と思うかもしれません。
一応、その点は改善できるような仕組みになっています。
それについて話すと長くなるので、ここでは述べません。
ちなみに、P2Pを英語で表すと、「Peer to Peer」になります。
このPeerは英語で「同等のもの」という意味です。
ネットワーク上の端末がすべて同等のデータを所有することから、名前の意味が理解できますよね。
P2Pのメリット
P2Pのメリットは、「サーバーダウンによるデータ損失リスク」がなくなることです。
これまでのクライアントサーバー型システムだと、中央のパソコン(企業)がデータを管理していたため、そのパソコンが落ちたり、壊れたりすると、データが消失してしまうリスクがありました。
またシステムメンテナンスも定期的に行う必要もあるため、メンテナンス中は使用できないなど、時間的な利用制限などもありました。スマホゲームやネットバンキングとかでよくありますよね。
一方、P2Pだとネットワークに参加しているすべての端末が同じデータを所有するため、1つの端末が壊れてしまっても、他の端末が生きていれば問題ないのです。
例えば、あるP2Pネットワークに100個の端末が参加していた場合、P2Pネットワークの全データを消すには、100個の端末全てを破壊するかしかないのです。
例えば、2019年時点でビットコインの取引データを全て所有している端末は10,000個あると言われていました。
つまり、10,000個の端末を破壊しなければ、ビットコインの取引データは無くならないというわけです。
それってかなり不可能なことですよね。
今後も全データを所有する端末(フルノード端末)がどんどん増えていくと思うので、ビットコインはかなり強固なものになっていくことは簡単に想像できますよね。
P2Pを使っているサービス
現在でもビットコイン 意外にP2P技術を使っているサービスは存在しています。
私が知っている限り以下のサービスがP2P技術を使用しています。
・Winny
・Cabos
・Line
・Skype
WinnyがP2Pの元祖アプリケーションとして有名ですね。
Winnyの開発者は既に亡くなってしまっているのですが、この人ががビットコインを作ったという都市伝説があります。
上から2つは現在サービス終了しているソフトですが、LineやSkypeは現在でも大人気のアプリですよね。
Lineはメッセージのデータをサーバではなく、端末に保存し合うP2Pを使用しているみたいですね。
SkypeはかつてP2Pで繋がっていたようですが、現在はサーバーでデータを管理しているようです。
おわりに
P2Pは現在のWebサービスの主流となるクライアントサーバー型のデメリットを補完してくれる新しい技術です。
ウェブの世界に中央集権的な要素がなくなり、情報が公正に公開され、かつ改ざんがされない新しいウェブの世界が近い将来誕生することでしょう。
まとめ
・P2Pはネットワークに参加している端末がすべて同じデータを持つ。
・P2Pはシステムダウンの影響を受けない。