ブロックチェーンの概要を一通り聞くと、技術的に少し詳しい方はこのようなことを思うかもしれません。
「これって分散型データベースと何が違うのだろうか?」
「分散型データベースで既にできていることを置き換えるメリットはあるのか?」
確かに保持するデータを分散する点などが似ていますが、実は根本的な部分でいくつかの違いがあるのです。
そこで本記事では『ブロックチェーンと分散型データベースの違い』という観点でブロックチェーンを見ていきます。
このページの目次
分散型データベースと同じ点
同じように考えられる点もあります。
まず、ビットコインではなくブロックチェーン一般(Ethereum等)に関していえば、中央集権管理型に対して、「データを分散管理する」『アプリケーションの基盤』という側面に違いはありません。
分散型データベースと違う点
サーバに位置する存在がない
分散型データベースは、クライアント-サーバ(C-S)型とも言えます。
分散型データベースでは、取引情報などのデータレコードの確定(コミット)は、サーバが「独占的に決定」しているのに対し、ブロックチェーンにはサーバがなく、「クライアント」に相当するのが「ノード」となり、各ノードは同等の立場で取引情報を自己申告をしているという点が異なります。
さらに、分散型データベースではトランザクションの順番は、サーバが一元的に決定しますが、ブロックチェーンでは、非同期的にトランザクションが自己申告され、トランザクションの確定に「コンセンサスアルゴリズム」という手法が用いられます。
マシンの台数と処理能力の関係
分散型データベースでは、データを処理・保存しているマシンの台数を増やすと、処理能力が増やせます。
しかし、ブロックチェーンでは、マシンの台数と処理能力には関係性がありません。
ブロックチェーンの処理能力は、新しいブロックを生成する権利を獲得するための「マイニング」という処理を担当する、特定の限られたマシンの性能にかかっています。
ブロックを保持するマシンがいくら増えても、処理能力は増えません。
ブロックチェーンそのものが台帳である
ブロックチェーンは取引情報を記録する台帳そのものです。
一方分散型データベースはそれ自体には台帳機能はありません。
取引情報を記録する場合はデータベースの仕組みの上に、台帳を管理するアプリケーションやソフトウェアを乗せて使用する必要があります。
分散させる目的が違う
分散型データベースで分散処理する主な目的は
・処理スピードや応答時間を早くするため、データを使用する場所に近い場所にサーバを置く
・データを全消失するリスクを低減するため、複数箇所にデータを分散して同期を取る
・処理を複数のマシンで分散して行うことで、マシン負荷を下げて処理スピードを上げる
一方ブロックチェーンを使う主な目的は
・貨幣以外の価値を取引可能にするため
・二重取引や改ざんのリスクが限りなく低いシステムを低コストで構築するため
・中央集権型の既存システムでセキュリティを担保するために要している手続き完了までの期間や手数料などの、時間とお金のコストを削減するため
このように、「ブロックチェーン」と「分散型データベース」は、存在する目的が全く異なるものなのです。
本記事に対するコメントはまだありません