ブロックチェーンって何?
ブロックチェーンとビットコイン
ブロックチェーンは、ここ数年ニュースを騒がせている「ビットコイン」を支える中核技術の一つです。
ビットコインとは、仮想通貨あるいはその背景にあるネットワークおよびソフトウェアの総称のことで、下記のような、暗号技術を中心とする新旧さまざまなテクノロジーを駆使し、うまく組み合わせることで実現されたイノベーションであると言われています。
- 分散化されたP2P(Peer-to-Peer)ネットワーク(=Bitcoinプロトコル)
- 数学的かつ決定論的な通貨発行(=分散マイニング)
- 分散取引検証システム(トランザクションscript)

その中でも、近年、特に注目を集めているのが、日本語では「分散型台帳」などと表現される新技術、「ブロックチェーン」です。
ブロックチェーンは、従来のデータベースが抱えていた諸課題を解決しうる期待の新技術として、金融、物流、医療、不動産、セキュリティなど、ありとあらゆる産業への応用が期待されており、経済産業省のブロックチェーン関連市場規模予測では全体で67兆円とも言われています。
ブロックチェーンの定義
ブロックチェーンには様々な定義が存在しますが、本記事では、出来るだけ分かり易くするために、ビットコイン環境下を前提にしつつ、次のように簡略化した定義で解説していきたいと思います。
ブロックチェーンの定義:「取引データを適切に記録するための形式やルール。また、保存されたデータの集積(≒データベース)」
一般に、取引データを集積・保管し、必要に応じて取り出せるようなシステムのことを一般に「データベース」と言います。
ブロックチェーンは、このデータベースの一種であり、その中でも特に、データ管理手法に関する新しい形式やルールをもった技術なのです。
ブロックチェーンの特徴:「分散型台帳」って?
ブロックチェーンは、「分散型台帳」とも表現される通り、ビジネスに限らず、あらゆる取引記録を保管するデータベースとしての機能をもっています。
後に説明するように、この「分散型」という特徴が、ブロックチェーンを際立たせています。
では、具体的に、ブロックチェーンは従来のデータベースと何が違うのでしょうか?

従来のデータベースの特徴
① 各主体がバラバラな構造のDBを持つ
② それぞれのDBは独立して存在する
③ 相互のデータを参照するには新規開発が必要
ブロックチェーンの特徴
①’ 各主体が共通の構造のデータを参照する
②’ それぞれのストレージは物理的に独立だが、Peer to Peerネットワークを介して同期されている
③’ 共通のデータを持つので、相互のデータを参照するのに新規開発は不要
従来のデータベースは基本的に独立しており、データ共有にあたっては主従関係が発生します。
その点、ブロックチェーンは常に同期されており中央を介在せずデータが共有できるので参加者の立場がフラット(=非中央集権、分散型)という特徴をもちます。
こうしたブロックチェーンの「非中央集権性」の恩恵としては、
- 中央を介さないので中間手数料がない、または安い
- フラットな関係でデータの共有が行えるので競合他社同士でもデータを融通できる
- 改竄や喪失に対して耐性がある
ということが挙げられます。
まさにこの「非中央集権、分散型」という特徴こそ、ブロックチェーンが様々な領域で注目・活用されている理由だと言えるでしょう。
こうした、ブロックチェーンのメリットやデメリットをまとめると、以下の通りです。

これらのデメリットについてはBitcoin以降のブロックチェーンで次々に改善されるものが登場してきており、将来的には解消されていくものと予想されています。
なお、「ブロックチェーンとは何か?」をより詳しく、全体的にお知りになりたい方は、下記の記事も併せてご覧ください。
「【初心者必見】ブロックチェーンとは?ビジネスの新常識を分かり易く!」
ブロックチェーンの仕組み
ブロックチェーンをシンプルに図解すると、次のような構造をしています。

上図からもわかるように、ブロックチェーンは、その名の通り「ブロック」を「チェーン」のように順番に繋いだ形をしています。
では、「ブロック」や「チェーン」とは、どういう意味でしょうか?
ブロックチェーンの仕組み①:「ブロック」
ブロックチェーンでは、一定量に取りまとめられた取引データを「Tx(Transaction、トランザクション)」と呼んでいます。
「ブロック」とは、このトランザクションを1MB分だけ集めてきて、日付などのメタ情報を付与して、ひとまとまりにしたものです。
身近なものに例えるなら、ブロックは、引き出しがいくつか付いているタンスのようなものだと言えます。
一つのタンスの中には複数の同じ大きさの引き出しがあり、その中にはさらに、例えば紙の契約書だとか現金が入っている、というようなイメージです(下図)。

ブロックチェーンの仕組み②:「チェーン」
タンスの中に契約書や現金をしまいこんだら、次に考えるべきことは、「どこに何があるかを正しく把握」して「泥棒に盗まれないようにしっかりと鍵をかけておく」ことでしょう。
これらの機能を果たしているのが、「チェーン」と例えられる、ブロックチェーンの記録・保管形式です。
具体的にいうと、各ブロックには、日付(タイムスタンプ)に加えて、「Hash(ハッシュ、ハッシュ値)」「nonce(ナンス)」「ターゲット」と呼ばれるメタ情報が付与されており、これらの情報をもとにして、ある一定のルールのもとで前のブロックと後ろのブロックがまるで鎖のように連結されています(これらの用語やルールに関しては、後ほど解説します)。

これらをタンスの例で言えば、1番目のタンスの鍵を2番目のタンスの中に入れて、2番目のタンスの鍵を3番目のタンスの中に入れて・・・としているイメージです。
さらに、より細かく見れば、引き出しごと(つまりトランザクションごと)にも個別に鍵がかけられているので、ブロックチェーンのセキュリティは非常に堅牢だと言えるでしょう。

なお、こうしたブロックチェーンの基礎構造は、Bitcoin以降のブロックチェーンのほぼ全てに採用されています。
稀にチェーン型でないブロックチェーンというものもありますが、それらは分散型台帳であるもののブロックチェーン構造ではないので、厳密には区別されます(例えばIOTAで有名な「タングル」構造など)。
ブロックチェーンの仕組み③:データの共有方法(コンセンサスアルゴリズム)
ブロックチェーンでのデータ共有において重要な役割を持っているのが「ノード」と呼ばれる個々のネットワーク参加者です。

すでに述べた通り、ブロックチェーンは、従来のデータベースとは異なり中央管理者が不在のため、データの管理や共有はすべて参加者だけで行う必要があります。
この参加者のことを「ノード」と呼び、世界中に散らばるノードが競争した結果、競争に勝利した一つのノードによって、絶えず新しいブロックが生成されていきます(ビットコインでは平均10分に1つのペースで新しいブロックが生成されるように設計されています)。
また、各ノードは、P2Pネットワーク内の他のノードの一部と繋げられており、あるノードでつくられた新しいブロックの情報は、そのノードと繋がっている他のノードにすぐさま伝播します。
そして、この「ブロックの伝播」を繰り返していくことで、ブロックおよびブロックに含まれる取引データが、瞬く間に世界中の参加者へと共有される(=データが同期される)のです。
これによって、多数のノードがデータを持ち合うことで、ブロックチェーンでは、データの改竄や捏造が難しくなりました。
しかし、この方法は、あくまで「ブロック化された元のデータ内容が正しいこと」を前提としています。
ブロックチェーンの世界には第三者としての中央管理者がいません。
従って、もし、ブロックをつくった人間に悪意があった場合、その人間を管理できる存在がいないため、世界中の人が間違ったデータを同時に持ってしまうことになります。
つまり、P2Pネットワーク参加者のみで行うデータ共有の仕組みでは、「管理者不在の中、どうやってデータの真正性を担保するか?」という問題を解決する必要があるのです。
そこで、考え出されたのが、「コンセンサスアルゴリズム」と呼ばれる、ネットワーク内での合意形成の方法です。
ブロックチェーンでは、個々のネットワークごとに、「複数それっぽいブロックが出てきた時にどれを選ぶか?」という論点に対する合意方法が、コンセンサスアルゴリズムという形で事前に決められているのです。

例えば、代表的なところでは、ビットコインのPoW(Proof of Work、プルーフオブワーク)、イーサリアムのPoS(Proof of Stake、プルーフオブステーク)、ネムの PoI(Proof of Importance、プルーフオブインポータンス)、リップルのPoC(Proof of Consensus、プルーフオブコンセンサス)あたりが有名です。
れる謎の人物であることを思い出してください)
ブロックチェーンの種類
ブロックチェーンの分類方法
ブロックチェーンは大別すると以下のように分けることができます。

ノードの参加者が限定されていないか、限定されているかが大きな論点です。
ノードの参加者が限定されているPermission型は企業向けのエンタープライズ用途に好まれますが、一方でこの仕組みはブロックチェーンを使う意義が薄いのでは、という指摘もあります。
代表的なブロックチェーンの種類
前述の分類に従い、頻出するブロックチェーンをマッピングしたものが次の図です。

企業向けの開発では中央集権によっているQuorum(Ethereumから派生)かHyperLedger Fabricを利用します。