ブロックチェーンとP2Pの関係性とは?
- 作成日: 2022-02-16
- 更新日: 2023-12-25
- カテゴリ: ブロックチェーン
ブロックチェーンとP2Pの関係性
最近はWebを賑わしているのは次世代の技術と呼ばれるものです。
ビットコイン、メタバース、NFTなど、これらの技術は盛り上がりを見せています。
これらの技術の基礎技術となっているのが「ブロックチェーン」と呼ばれる技術です。
ブロックチェーンは分散型台帳の一種で、ブロックと呼ばれる取引履歴をチェーンのように繋いでいく特徴を持っています。
このブロックチェーンとP2Pの関係はどういうものなのでしょうか?
この記事ではこの2つの関係について具体的に解説します。
関連記事
個人開発者がブロックチェーンとは?をわかりやすく解説してみた
メタバースとブロックチェーンの関係【The Sandbox】
ブロックチェーンの技術について具体的に解説します【初心者向け】
ブロックチェーンとP2Pの関係性とは?
ビットコインの仕組みを個人開発者が解説します【仮想通貨、ブロックチェーン】
P2P(Peer To Peer)とは?
P2P(ピアツーピア)とは、通信技術の一種です。
これとよく対比されるのがクライアント・サーバー型の通信です。
いま、Webで最も使われているのはクライアント・サーバー型の通信です。
これはサーバーとクライアントという役割に別れて通信を行います。
サーバーはブログの記事などのコンテンツをクライアントへ提供します。
クライアントはそのコンテンツをサーバーから受信して、活用します。
この通信の特徴はサーバーというコンテンツの提供者と、クライアントというコンテンツの享受者が分かれていることです。
サーバーはコンテンツを提供することに集中し、クライアントはコンテンツを享受することに専念します。
クライアントは複数存在することが可能で、複数のクライアントが1つのサーバーに対して「データをくれ」というリクエストを送ります。
たとえばこのブログでは「記事」というコンテンツを皆さんに提供しています。
このブログが稼働しているパソコンをサーバー、そして皆さんの使っているWebブラウザがクライアントになります。
いっぽうP2Pは、各利用者がサーバーとクライアントを内包しています。
この各利用者のことを「ノード」と言いますが、ノードは別のノードと通信を行います。
そしてそのノードも別のノードと通信を行います。
各ノードはサーバーとクライアントの役割を同時にこなし、データをノードからノードへ運んでいきます。
このようなノードがいくつも存在し、活発に通信を行っている状態を「P2Pネットワーク」と言います。
ちなみにPeer(ピア)とは「対等のもの」という意味を持ちます。
つまり対等な立場のノードが互いに連携して1つの大きなネットワークを構築するということですね。
中央集権型と非中央集権型
クライアント・サーバー型の通信は「中央集権型」と呼ばれます。
「中央」とはつまりデータを提供するサーバーのことを言います。
中央集権型の特徴は、「単一障害点」が存在することです。
単一障害点とは、ある一か所が正常に働かないと全体のネットワークがだめになる点のことを言います。
クライアント・サーバー型で言えば単一障害点は「サーバー」になります。
たとえばこのブログのサーバーが動かなくなったら、皆さんはこのブログの記事を手に入れることができなくなります。
これはこのブログのサーバーが中央集権的に稼働しているからです。
いっぽう「非中央集権型」とはP2Pのような通信のことを言います。
P2Pは各ノードが互いにデータをリレーするようにやりとりしています。
そのためあるノードが1つ動かなくなっても別のノードからデータを貰えます。
中央集権型は権力が集中しているノードが1つ落ちればそれでネットワークは終わりです。
しかし非中央集権型はノードが1つ落ちても全体のネットワークは維持されます。
そのためインターネットは非中央集権型と言えます。
P2Pの特徴
P2Pは各ノードが互いにデータをやり取りしてネットワークを構築します。
このためP2Pは単一障害点を持ちません。
よって「障害に強い」という特徴を持ちます。
また新しいノードが新たに参加すれば、それでネットワークはスケール(拡大)します。
そのためスケールが容易と言う特徴も持っています。
またクライアント・サーバー型はサーバーがダウンしたらネットワークが無くなるのに対し、P2Pはノードがダウンしてもネットワークが持続します。
そのためP2Pネットワークをダウンさせるにはすべてのノードがいっせいにダウンしなくてはなりません。
このことから持続可能性が高い通信方法とも言えます。
🦝 < 1つや2つダウンしてもへっちゃら
🐭 < つよい
ブロックチェーンとは?
ブロックチェーンとは「取引履歴を改ざんできないようにする技術」のことを言います。
ブロックチェーンでは各取引がブロックと言う単位で記録されます。
ブロックには前のブロックのハッシュが保存されています。
ハッシュとはある物体から一意に生成される文字列のことを言います。
数字と英字の羅列のようになっており、このハッシュがわかればその物体を特定できます。
このため1つのブロックを改ざんしても、その改ざんしたブロックから生成されるハッシュが後のブロックが保存しているハッシュと異なるためすぐに改ざんがわかります。
これによって各ブロックを改ざんするのが「非常に難しい」とされています。
難しいだけで「不可能」ではありませんが、改ざんを実現するのは現実的ではありません。
あるブロックを改ざんしようとするなら、そのブロックのハッシュを保存しているブロックも改ざんしないといけません。
そしてその改ざんしたブロックのハッシュを保存しているブロックをまた改ざん・・・と言う風にキリがありません。
ブロックチェーンはこのように一度された取引内容の改ざんが難しく、また記録された取引は消えることがありません。
そのためブロックチェーン技術によって「信用」が生まれます。
ブロックチェーンとP2P
ブロックチェーンはどのように取引履歴を保存しているのでしょうか?
ブロックチェーンではP2Pに参加している各ノードが共通の「台帳」を参照します。
ネットワークに参加しているノードが台帳の取引履歴を参照して、改ざんや二重決済などがないか確認しています。
このため攻撃者が台帳のブロックを改ざんしても、各ノードの計算によってその改ざんを見破ることが可能です。
このようにブロックチェーンでは基盤技術としてP2Pを利用しています。
これは先ほども書いた通り、
- 単一障害点がない
- 持続可能性が高い
- スケールが容易
以上の3つの利点が得られるからです。
P2Pネットワークによって台帳の信頼性を担保することができます。
もしブロックチェーンに単一障害点があったらどうなるか?
仮にブロックチェーンが中央集権型のネットワークで、単一障害点があるとします。
この場合はどうなるでしょうか?
取引履歴の改ざんを狙う攻撃者はもちろん中央のサーバーを狙います。
なぜならそのサーバーがダウンすればブロックチェーン全体がダウンするからです。
そのため攻撃が中央のサーバーに集中します。
これによってネットワークがダウンしたら、ブロックチェーンの信頼性も損なわれてしまいます。
たとえばビットコインはブロックチェーンを使っていますが、ビットコインの決済の時にネットワークがダウンしてたら困りますよね?
このようなケースになってしまうと信頼性が無くなってしまいます。
しかし分散型のネットワークではどうでしょうか?
攻撃者がある1つのノードを攻撃してダウンさせても、他のノードが稼働している限りネットワークは維持されます。
そのため台帳の改ざんなどの監視も持続され、信頼性が維持されます。
このようにブロックチェーンではP2P通信が非常に都合がいいわけです。
ブロックチェーンの持続可能性
ブロックチェーンの持続可能性はどれほどのものでしょうか?
ビットコインはブロックチェーンを使っていますが、そのビットコインは2009年から稼働しています。
そして現在は10年以上経っても持続して稼働し続けています。
ネットワークがダウンしている時間を「ダウンタイム」と言います。
このダウンタイムがない状態を「ゼロダウンタイム」と言います。
P2Pはこのゼロダウンタイムを実現できる通信技術なわけですね。
そしてそれを使っているブロックチェーンもゼロダウンタイムであると言えます。
たとえばWebサイトなどを思い浮かべてみてください。
Webサイトがダウンしている状態を見たことがある人はけっこう多いと思います。
それほどクライアント・サーバー型の通信ではダウンタイムはありふれた現象です。
しかしP2Pを使えばこのダウンタイムを解消することができます。
これがP2Pがブロックチェーンで使われる理由です。
ブロックチェーンを強くするには?
ブロックチェーンの信頼性を強化するにはどうするのがいいでしょうか?
これはつまりP2Pネットワークを強化することと同じです。
P2PをスケールするにはP2Pネットワークに参加しているノードを増やせばいいわけです。
つまりネットワークに参加しているパソコン(ノード)を増やせばそれだけで信頼性が強化されていきます。
このようにP2Pはスケールが容易です。
これもブロックチェーンがP2Pを使っている理由の1つです。
P2Pの種類
P2Pにも種類があります。
これは大きく分けて↓の2つです。
- ハイブリッドP2P
- ピュアP2P
ハイブリッドP2P
クライアント・サーバー型とP2P型を混ぜたような通信方法です。
ノードの検索などはサーバーで行いますが、具体的な通信は各ノードが連携して行います。
サーバーの管理性の良さがメリットとして挙げられますが、それと引き換えにサーバーが単一障害点となるデメリットがあります。
ピュアP2P
すべてのノードが対等に通信を行い、検索などもノード間でリレーして行うのがピュアP2Pです。
単一障害点がないので持続可能性が高く、ブロックチェーンに適していると言えます。
しかし技術的な実装が難しいと言われています。
マイニングとは?
ビットコインなどで「マイニング」というワードが出ることがあります。
これはブロックチェーンに関することです。
ブロックチェーンではP2Pネットワーク上の各ノードが台帳の信頼性を保証しています。
どのように保証しているのかと言うと大量の計算を行ってブロックの改ざんや2重決済などが発生していないか調べることで保証しています。
この大量の計算を行うことをマイニングと言います。
ビットコインではマイニングの競争に勝利した者に新規のビットコインを発行しています。
これによって「マイニングを行う理由」が生まれます。
マイニングを行う者は「マイナー(Miner)」と呼ばれますが、マイナーはビットコインを得るために大量の計算を行います。
これによってブロックチェーンの信頼性が保証されます。
おわりに
今回はブロックチェーンとP2Pの関係性について解説しました。
ビットコインに必要不可欠な技術がブロックチェーン、ブロックチェーンに必要不可欠な技術がP2P、ということになります。
P2Pの技術を知ることはブロックチェーンの実装方法を知るということになります。
🦝 < ブロックチェーンで世界が変わる
🐭 < ビットコイン、メタバース、NFT