見出し画像

ホントにわかるブロックチェーン1 ブロックチェーンとは?

ブロックチェーンは、誰でも参加可能なオープンなネットワーク空間内で、データをより安全かつ確実に送信するために、さまざまな技術が組み合わされた技術の集合体です。暗号資産取引はブロックチェーンの一例にすぎず、その適用可能な範囲は非常に広く、さまざまな分野に応用されています。

ブロックチェーンのそれぞれの技術は従来から使用されてきたものが多いのですが、安全性を高めるための構造的な工夫が随所に埋め込まれているため、非常に複雑で理解しにくいものとなっています。

そのため、ブロックチェーンを正確に理解するには、一つひとつの技術要素を分解して体系的に見ていく必要があります。

今回は、ブロックチェーンが生まれた背景や基本的な考え方、基本構造について説明していきます。

ブロックチェーンとは

ブロックチェーンとは、「全ての取引履歴をブロックごとにまとめ、それぞれのブロックを1本のチェーン(鎖)のようにつなげるかたちで記録する分散型のデータベース(台帳)」です。記録の塊の単位である「ブロック」でデータを管理し、それを「チェーン」のように連結させて保管するため、「ブロックチェーン」と呼ばれています。

世界で初めてブロックチェーンが使われたのはビットコインです。「トラストレス」と呼ばれる、銀行のような信頼できる第三者を介さずともデジタル上でお金の価値を移動させようと、サトシ・ナカモトと称する人物が2008年に論文で構想を発表したのがきっかけでした。

しかし、ブロックチェーンは暗号資産の一つであるビットコインを実装する基盤技術です。車で例えるなら、ビットコインは車種の一種で、ブロックチェーンは車を駆動させるために搭載されているエンジンです。車とエンジンと同じぐらい、ビットコインとブロックチェーンは全く異なるものなのです。

ブロックチェーンが求められた背景

ブロックチェーンの着想背景として、中央管理システムに対する分散型のネットワークシステムへの需要が高まったことがあります。

これまでのウェブシステムでは、「クライアントサーバー」と呼ばれる通信方式が一般的でした。この方式では、ユーザー(クライアント)が一つのサーバーに対して通信を行います。そのため、クライアント同士が直接通信することはできず、中央管理者が必要でした。

それに対して、特定サーバーである中央管理者のいない、「Peer to Peer(P2P)」ネットワークというものが2000年前後から生まれ始めました。「Peer(ピア)」とは「対等者」という意味で、「Node(ノード)」とも呼ばれます。各コンピュータであるノードが対等にクライアントとサーバー両方の役割を果たすことで、中央サーバーを介さずに分散的なネットワーク形成を行います。

しかし、接続したノードがいつネットワークから退出するかは分かりません。そのため、各ノードが常に接続可能なノードを探しながら複数のノードと接続し続けることで、中央管理システムを持たずにネットワークを保つことができるわけです。

P2Pネットワークは、誰でも参加可能です。そのため、悪意あるユーザーが混じっている可能性も排除できません。また、特定の責任者が不在であるなかで、どう信用を築くかが重要になってきます。そこでカギとなるのが、「安全性」です。

このような流れから、オープンで不特定多数の人が参加するP2Pネットワークの中で情報を守りながら、安全にやり取りを行えるデータベースが求められるようになりました。そこで、P2Pネットワークを達成するために生み出されたのがブロックチェーンです。

ブロックチェーンのメリット・デメリット

P2Pネットワークで管理するブロックチェーンの分散型データベースと、一つの中央サーバーで集中して管理する中央管理型データベースにはそれぞれメリット・デメリットがあります。

中央管理型データベースは一元管理されるため、データの記録や修正などの管理コストは低いです。データの重複や不整合などが起きにくく、効率的な運用が可能です。しかし、データの処理、検索、保存など一つのデータベースに集中すると高度な処理能力が要求され、維持費用が高くつきます

また、内部の関係者による不正が起きる可能性や、障害が起きたら復旧までダウンタイムが発生したり、攻撃したらシステムがダウンするポイントである「単一障害点」が明確であるなどの点からシステムが脆弱であるとも言えます。

一方で、分散型データベースであるブロックチェーンでは各ノードは送金指示などの処理要求を受け取ると、それぞれの仮想領域(メモリプールまたはトランザクションプール)に一時保存します。処理要求が検証・承認された際に、全てのノードに同じデータが共有されます。

このように、分散型データベースでは情報の処理や保存を複数のノードと分業して行います。つながっている全ノードのコンピュータの計算能力や保存領域が加わるため、システムを継続的に動かし続けることができ、メンテナンスなど中央管理システムの都合に左右されずに24時間稼動させることができます

加えて、全てのノードが同じデータを共有するため、問題やトラブルに備えてバックアップができ、安全性が高いと言えます。しかし、一度処理が受け付けられると情報の削除や修正が難しく、システムを止めること自体が困難となります。

分散型データベースはブロックチェーン以外にもいくつか種類があります。代表的なものにWinnyやIPFS(InterPlanetary File System)などがありますが、ブロックチェーンのようなデータの承認プロセスがなかったり、データの事後変更が可能であったりと、保存されたデータの真正性は一貫していません

一方で、ブロックチェーンデータベースは追記専用のデータベースであるため、過去のデータを変更することが構造上困難です。

このブロックチェーンの最大の特徴である「データの改ざんリスクが低い」ということが、安全で頑丈なシステム構造の構築を可能としています。このような理由から、ブロックチェーンが多くの分散型ネットワークで採用されるようになりました。

所有権を管理するブロックチェーンのトランザクション

トランザクションとは、ブロックチェーン上で行われた取引記録です。ブロックチェーン上では通貨そのものが移動しているわけではありません。取引データであるトランザクションの履歴を全て追跡記録した台帳をつくって、「誰が」「誰に」「何を」「どれぐらい」「いつ」といった所有権の譲渡の履歴を示すことで、所有権の根拠としているのです。

そのため、トランザクションには以下のような要素が含まれます。

ブロックチェーンのトランザクションは、大福帳型の記録方式を採用しています。大福帳とは江戸時代の商家で使われていた出納帳で、取引が発生した順番通りに記録していく方法です。つまりブロックチェーンでは、足し算・引き算などで取引金額をまとめる要約を一切行わずに、起きた通りの情報を発生順に加えていきます

一方で、通常の金融機関のシステムや座席表・チケットの予約などに使われるトランザクション処理システム「リレーショナル・データベース(RDB)」では、「銀行の取引口座」や「商品」などの単位ごとにトランザクションの変動幅を計算し、最新の状況に更新する方式で記録しています。

両方とも所有権を表しますが、RDBは所有権の現在の状態を表すのに対し、大福帳型はやり取りの全てを説明することで所有権の所在を明確にします。このように、所有権の根拠が異なっています。

ブロックチェーンのデータ構造

では、実際にブロックチェーン上でトランザクションの登録はどのように行われているのでしょうか。まず新たなトランザクションがつくられると、ノード全員に「ブロードキャスト(一斉送信)」されます。ノードは、トランザクションが仮保存されているメモリプール(トランザクションプール)にある程度溜まってから、一つのブロックを生成します。

ブロックは大きく二つのデータ構造に分かれています。一つは、直前のブロックの情報やブロック内のトランザクションの要約データ、取引された時刻などの情報を格納した「ブロックヘッダ」。もう一つが、実際のトランザクションをまとめた「ブロック本体」です。

ブロックヘッダには直前のブロック情報を引き継いだブロック番号が入っており、前のブロックが参照できるようになっています。前のブロックを順々にたどれることが「チェーン」と言われる所以です。

情報は、一つのブロック内でいくつかの階層に分けて保存しています。「直前のブロック」と「ブロック本体」は別のデータベースに情報が格納されており、それぞれブロックヘッダにある「直前のブロック番号」と「ブロック内のトランザクションの要約データ」から参照する仕組みになっています。

これは各ブロックを一つの「フォルダ」と考えると、それぞれのデータベースを参照する「ショートカットフォルダ」のような役割と言えます。ショートカットフォルダを介しながら“別のブロックやデータベースを参照し合うことで成り立っている構造”が、ブロックチェーンの堅牢なデータベースの基盤をかたちづくっているわけです。

では次回は、実際にどのように安全で頑丈なブロックチェーンのデータベースシステムがつくられているのか?具体的な仕組みをお伝えしていきます。

Next ▶︎ホントにわかるブロックチェーン2 ブロックチェーンって本当に安全?
Recommend ▶ Web2.0からWeb3というデジタル世界への移行