- 「P2P」とは複数間の端末で行う通信システムのこと
- 「P2Pネットワーク」の対義語として「クライアントサーバー型ネットワーク」がある
- 「P2P」により「ゼロダウンタイム」と「非中央集権」が実現する
仮想通貨においてP2P通信というのはとても重大な役割を担っています。「P2P」により仮想通貨、ブロックチェーンの仕組みは成り立っています。通信システムが多数ある中でなぜ「P2P」なのか、比較をすることで理解を深めることができます。
そもそもP2Pとは?
P2P通信(ピートゥピー、ピーツーピー)とは、複数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者(Peer、ピア)同士が通信をすることを特徴とする通信方式、通信モデル、あるいは通信技術の一分野を指します。
文字通り、Peer から Peerへ。個人から個人へデータの送受信を行うのがP2Pネットワークです。
P2Pの歴史
P2Pは2000年代前半から実用化が進んでいきました。「WinMX」「Winny」などのサービスが台頭しましたが、これはサービスとして主にセキュリティなどの脆弱性に関する部分ばかりが注目されていたため、技術自体が脚光を浴びることはありませんでした。
しかし、2008年、Satoshi Nakamotoと呼ばれる人物 / 機関によるブロックチェーンを利用したビットコインの構想に関する論文は世界中で注目を集め、その技術は現在暗号通貨にも広く利用されるようになっています。
年々増え続けるデータ量とサーバーのスケーラビリティ問題などのネットワークだけでなくデータベースとしても、P2Pネットワークを利用したブロックチェーンのその可能性は注目されており、ますます幅広い分野における利用が期待されています。
クライアント・サーバー型ネットワークとP2Pネットワーク
P2P通信の対をなす存在として「クライアント・サーバー型ネットワーク」があります。P2Pが個人と個人が通信を行うのに対して、クライアント・サーバー型ネットワークではクライアント(個人)とサーバーが通信を行います。個人がデータを得るためにサーバーという仲介をまたぐ必要があります。
また、P2P通信にも種類があり、大きく分けて以下の4つに分類されます。
- 一対一通信型
- 放送型
- オンデマンド型
- 分散型データ管理
1、一対一通信型
正に一対一の通信に使われているシステムで、Skypeやlineなどがこれに当たります。
2、放送型
放送型はノードが、ツリーのように波状に広がり、バケツリレーのように同じデータが全てのノードに配信されるのが放送型です。
3、オンデマンド型
これは、放送型のベースとしているもので、シードに対してピアーが多くなってしまうと結局ダウンロードに時間がかかってしまうので、同じデータを持っているシードを探し、その効率を上げているのがオンデマンド型てす。
4、分散型データ管理
仮想通貨はこの種類に当たります。ブロックチェーンを利用し、各ノードが分散されるのでサーバーで一括で管理されているものよりも、不正に強くなります。
P2Pのメリット・デメリット
そんなP2P通信におけるメリット、デメリットを見ていきましょう。
P2P通信のメリット
P2Pネットワークの利用には、大きく分けて2つのメリットが存在します。
メリット①:ゼロダウンタイムの実現
「ビットコイン」を支えているシステムが「ゼロダウンタイム」です。そもそも「ゼロダウンタイム」という言葉は「ゼロ」と「ダウンタイム」に分けられます。
「ゼロ」とは文字通り「ゼロ、ない」といったニュアンスで、「ダウンタイム」は
コンピューターシステムやネットワークサービスなどが、保守や不具合によって稼動停止している時間のことです。
この2つが合わさると、「ダウンタイム」が「ゼロ」という事になります。
つまり「コンピューターシステムやネットワークサービスなどが、保守や不具合によって稼動停止している時間のこと。」が「ゼロ」コンピューターシステムやネットワークサービスが稼働停止せずに動き続けているという事になります。
事実、「ビットコイン」は2009年から途切れることなく24時間365日、「ゼロダウンシステム」を持続しています。24時間取引可能というだけで、そのすばらしさは伝わると思いますが、それ以上にこれまで稼働停止していないサービスというのはなかなかありません。どんなに優秀なサービスであっても、メンテナンスやアクセス過密によるサーバーダウンなどがおこり、そのサービスを短い時間であれ停止してしまう場合がほとんどです。
それに引き換え、「ビットコイン」は「ブロックチェーン」を利用しているため、「ゼロダウンタイム」を実現可能なのです。
メリット②:中央を介せず利用できる
上記の説明の最後に「ブロックチェーン」の利用による、「ゼロダウンタイム」の実現の話をしましたが、それはどういうことでしょうか?
中央を介せず利用できるというのも、「ブロックチェーン」の技術を利用しているシステムは中央機関である「サーバー」を介さずにすべての情報が管理されます。最初の説明で少し触れましたが、「P2P」は分散型ネットワークのため、その「サーバー」を介することなくPeer同士(参加者や仲間同士)でネットワークを共有します。
一つのサーバーで管理しているわけではなく、それぞれが最新のブロックチェーンの情報と同期しているので、悪意を持ったものによるサイバー攻撃などは一つのデータサイロのみを攻撃ターゲットとしていたサーバー型に比べて、世界中に分散したP2Pネットワークの過半数以上をターゲットとする必要があり非常に難しいものとなっています。
このように、「サーバー」という核が存在せず、それぞれが核として存在しているので、常にブロックチェーンが成り立ち、そのため「ゼロダウンタイム」が持続しているのです。
P2P通信のデメリット
セキュリティリスクがある。
P2P通信のデメリットは「予期せぬ通信」が起こってしまう可能性があるという事です。過去に流行した「Torrent」や「Winny」などがその最たる例で、インターネットにつながっている限りPeerから情報を求められれば繋がってしまうため、そこからセキュリティリスクが発生する可能性があります。当時は、動画や画像などが違法で共有され、著作権やウィルスなどの「予期せぬ通信」から起こるリスクが問題視されていました。だから、ブロックチェーンなどの技術を使用することで、それらのリスクを無くしていくことが仮想通貨の安全につながっていくのです。
暗号通貨におけるP2Pとは
送金手数料が小さくなる
P2Pネットワーク技術を暗号通貨に応用することで、送金手数料は従来の送金の方式と比較して小さなものになります。
例として、国際送金について考えてみましょう。Aが日本の田舎の銀行からブラジルの友人Bに100円の送金を行うとき、これには多くの仲介者が伴います;
【仲介者の例】
田舎の地方銀行
日本に支社を持つメガバンク
ブラジルに支社を持つメガバンク
ブラジルの地方銀行
AはBに対する送金で最低でも以上の4社に対して手数料を支払う必要があるため、この金額は数千円以上にまで膨れ上がりAはBに送金することができません。
P2Pネットワーク技術を利用した暗号通貨ではどうでしょうか?
送金の情報はこれらの集権的な機関を介して行われる必要がなく、手数料は送金額などによって増減する(IOTAなど一部例外あり)ため、日本からブラジルへの100円の送金であったとしても、その手数料は非常に小さくなります。
送金スピードが早い
また、送金手数料だけでなく、送金スピードにおいても従来の方式より優れているということができます。
国際送金に、従来の民間金融機関を利用した場合、以上の例にもあるように国内外の複数の金融機関を経由する必要がある上に、休日祝日などの営業日、時差などにも左右されるため、送金に2~3日を要することもありました。
しかし、ブロックチェーンは上述のように「ゼロダウンタイム」という特徴もあり、24時間365日常に稼働し続けています。ダウンタイムがないこと、仲介に複数の第三者を挟む必要がないといった特徴などから、ビットコインやその他の暗号通貨においてその送金スピードは従来の方式と比較して非常に早いものとなっています。
ノードの機能
ビットコインを支えているブロックチェーンのネットワークノードには以下の4つの機能があります。
- ルーティング
- ブロックチェーンDB
- マイニング
- ウォレット
ルーティング
文字通りルートを示してくれるのがルーティングです。ネットワークにあるノードのルートを示し、導くのが仕事になります。P2Pは誰でも繋がれることが強みなので、ノードのデータはしるべがなければ、目的地にたどり着けません。その仕事がルーティングによって行われます。
ブロックチェーンデーターベース
ブロックチェーンデータベースは正にブロックチェーンで記録されたデータベースです。取引が最初から現在まで記録されているデータベースになります。
マイニング
「マイニング」は言葉自体は耳にしたことがある方がいるかもしれませんね。ビットコインにおけるセキュリティを担っている機能です。ビットコインの取引の承認が行われ、それがブロックチェーンデータベースに記録されていきます。
ウォレット
言葉の通りウォレット(財布)ですね。ビットコインを管理し、秘密鍵や取引データを補完しています。
ノードの種類
先ほどはノードの機能についての説明を行いましたが、このノードには一般的に4つの種類が存在するとされています。
フルノード
「フル」(全て)ですので、前述した4つの機能すべてを持っているノードです。これ一つで、全ての機能を果たすことができます。
SPVノード
ルーティングとウォレットの役割を担っているノードです。
ソロマイナー
フルノードと違い、ウォレットの機能は持っていませんが、マイニングに強みがあるノードです。
フルブロックチェーンノード
ルーティングとブロックチェーンデータベースの機能を担います。
まとめ
P2Pはメリットもデメリットもありますが、仮想通貨においては、ブロックチェーンのおかげでよりトラストレスになっています。P2Pのデメリットにおいて「セキュリティリスク」を上げていますが、ブロックチェーンを利用したP2Pにおいては、見知らぬ個人と通信を行っていてもそこに信頼関係を必要とせず、信用できる仕組みになっています。