初心者でも絶対にわかる“分散システムのメリット・デメリットとCAP定理” 仮想通貨とブロックチェーンの基礎知識

 

sa-2
こんにちは。

sa-2(@sa2fdi)と申します。

 

自己紹介はこちらから。

 

ブロックチェーンは分散システムを採用することで堅牢なセキュリティを手に入れましたが、決して良い面ばかりではないことを理解しなければなりません。

ブロックチェーンを正しく学び、仮想通貨投資への糧としていきましょう。

ブロックチェーンの基本的な仕組みについては、以下をどうぞ。

 

 

ブロックチェーン分散システムのメリット:ゼロダウンタイム

 

ブロックチェーンの定義と仕組みで解説していますが、ブロックチェーンは分散的にデータを管理しています。

そのためシステムの一部が攻撃されても、全体として止まることがなく実害が発生しません。

このように長期にわたって、イレギュラーな場面においてもシステムが止まることなく稼働し続けるという特性を“ゼロダウンタイム”と呼びます。

金融やインフラネットワークなどで非常に重要視されるポイントです。

ブロックチェーンのプロトタイプとも呼べるビットコインのチェーンは、2009年に稼働を開始してから、一度も止まることなく動き続けています。

まさに、分散ネットワークによってゼロダウンタイムを達成しようとしている一例と言えるでしょう。

一方で、この分散システムはインターネットサービスとして大きな欠点も抱えています。

それがどのようなものか、なぜそうなるのかを考えていきましょう。

 

 

ブロックチェーン分散システムのデメリット:冗長化による“のろまな巨人”

 

ブロックチェーンの分散ネットワークは、複数のノードが同じ役割を持って作業をします。

1つ1つが役割分担をするわけはないため、参加者が増えても取引スピードが加速するわけではありません。

むしろ、参加者が増えるほどデータを共有するのに手間取り、合意形成のためにも時間がかかってしまいます。

(合意形成、ノードなどの用語につまずいた方は、こちらの記事をどうぞ:ブロックチェーンの定義と仕組み

同じ機能を複数備えて同時に運用することを冗長化といいます。

冗長化によって、どこかが壊れても問題ない反面、スピード感を失っているということになるのです。

 

 

CAP定理と、ウェブサービスとしてのブロックチェーン

 

分散システムによるサービスは、ある3つの観点から評価することができます。

 

・一貫性(Consistency)

データを読み取る際、最新のデータのみが読み込まれる。

もしくは、エラーとなる。

どのような状況でも、最新でないデータを受け取る場合がない。

→一貫してユーザーに最新情報を届けることができるということ。

ハブとなるサーバーが必要であり、そこを基準として一貫性のある応答が可能となる。

ハブとなるサーバーが単一障害点(1回の攻撃でシステムをダウンさせることができる場所)となる。

ハブとなる代表サーバーがない場合は、各ノードがデータを波及的にコピーし合う必要がある。

この場合、わずかなタイムラグが発生するため一貫性が失われる。

(画像で見比べると、わかりやすいかもしれません。)

・可用性(Availability)

一部のノードが障害を起こしても、同じ機能を持った他のノードへ悪影響を与えることがない。

必ず応答できるノードが存在するので、全体としてシステムが落ちることがない。

→単一障害点が存在しない。

単一障害点を起点とした一貫性のある応答はできない。

 

・分断耐性(Partition-tolerance)

ネットワークのどの場所が切れても、別の通り道からたどってネットワークを復旧することができる。

→全てのサーバーが1つのハブに繋がっている場合(単一障害点有り)は、その間を切られると道が途切れてしまう。

複数のノードが相互に絡み合う状態(単一障害点無し)であれば、どこを切られても道が途切れることがない。

 

 

これら3つの要素は、単一障害点をめぐってトレードオフの関係にあります。

要は、3つ全ての要素を兼ね備えることは難しいということです。

この法則を、頭文字をとってCAP定理と呼びます。

 

さて、ブロックチェーンの分散システムはどの要素を満たしているでしょうか。

“ゼロダウンタイム”と“のろまな巨人”を思い出せば簡単です。

そう、ブロックチェーンは「可用性」と「分断耐性」に強く、「一貫性」に弱いのです。

冗長化(同等の機能を平衡して運用すること)しているためにシステムは落ちることなく、ネットワークの一部が分断されても即復旧することができます。

そして、その冗長化のためにデータをバケツリレー/伝言ゲームするような形になり、一貫性には弱みを持つのです。

 

 

ブロックチェーンの弱み、「一貫性」のなさはどう影響する?

 

ビットコインを例に挙げると、世界中に何千とあるコンピュータがブロックチェーンでつながっています。

そのどれか1つのノードにある取引が書き込まれると、そのデータが全体に反映されるまでわずかなタイムラグがあります。

端から端へ、道別れを繰り返しながらデータがコピーされていきます。

複数の書き込みが各所で同時に起こった場合、各ノードでは書き込まれる順序が前後してしまうことがあるのです。

もちろん合意形成の段階である1つの順序に決定されますが、大量のデータが一気に書き込まれたら処理が追い付かなくなってしまいます。

例えば先着順の商品の取引などは、順番が入れ替わってしまっては問題が起きるでしょう。

ブロックチェーンは、このようなスピード勝負のデータ管理は苦手なのです。

この一貫性の弱さをどう乗り越えるか。

これが、続々と登場する新しい仮想通貨の課題でもあるのです。

 

 

23歳の筆者が今、一番伝えたいこと。

仮想通貨を自分の中でどう整理つけるか、答えを出せていない人は是非読んでください。

資産運用と経済の観点から、仮想通貨について考えています。

 

仮想通貨の購入に関しては、日本大手のビットフライヤーがおすすめです。

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

 

 

 

仮想通貨初心者が読むべきおすすめ書籍はこちら。

「アフタービットコイン」

日銀出身の中島氏が、ビットコイン後の仮想通貨界について考察を述べています。

関連:「アフタービットコイン」著者の中島氏がブロックチェーン講演で語ったこと 

 

 

あわせて読んでおきたいのが「お金2.0」。

資本主義から価値主義への移行というテーマを自分の中に持つことで、仮想通貨投資へのぶれない軸が出来上がるはずです。

20代のうちに絶対読んでおきたい書籍の一つです。