楽水

人々の創造が自由に表現できる舞台づくり

DX IT

ブロックチェーンとは【わかりやすく解説】

投稿日:2021年2月1日 更新日:


2008年、サトシ・ナカモトと名乗るの人物が、Bitcoin: A Peer-to-Peer Electronic Cash Systemという論文をインターネット上に投稿しました。
その論文で、信頼できる銀行や政府などの中央機関がなくても、ネットワーク上で安全に電子通貨(ビットコイン)を取引できる技術的な仕組としてブロックチェーンが初めて紹介されました。
当初は、投資対象としてのビットコインに注目が集まり、ブロックチェーンは、その基盤技術として裏方的な存在でした。
しかし、インターネットと同様、社会の仕組すら変えてしまうかもしれないというブロックチェーンの持つ潜在的なパワーが見直され、次第に、その重要性がクローズアップされてきました。
今回は、ブロックチェーンについて

  • ブロックチェーンの全体像について知りたい
  • ブロックチェーンは何が革新的なのか知りたい
  • ブロックチェーンとビットコインの関係を知りたい
  • ブロックチェーンの技術を根本的に理解したい
  • ブロックチェーンによって社会はどうかわるのか知りたい

という方を対象に、

  • ブロックチェーンとは何か
  • ブロックチェーンの基盤
  • ブロックチェーンの技術
  • ブロックチェーンの種類
  • ブロックチェーンの応用
  • ブロックチェーンによって社会はどうかわるのか
  • ブロックチェーンのおすすめ本

という観点で解説します。

ブロックチェーンとは何か

ブロックチェーンを一言で言うと
複数の取引記録(トランザクション)が「ブロック」という単位でまとめられ時系列で繋がっているリスト
のことです。
※取引や取引記録のことをトランザクションともいいます。

ブロックチェーンのイメージ

また、ネットワークに接続した複数のコンピュータが、同じ取引記録を共有するデータベースを分散型台帳といい、分散型台帳として管理されるブロックチェーンを、ブロックチェーンデータベースといいます。
データマネジメント知識体系(DMBOK)では、ブロックチェーンデータベースを分散型データベースの一種として分類しています。
通常の集中型のデータベースのイメージが以下のようであれば、

ブロックチェーンデータベースのイメージは、以下のようになります。

まん中がなくてドーナッツ見たいですね。
※以降、ブロックチェーンデータベースも含めてブロックチェーンという言葉を使います。

さて、ドン・タプスコットは著書「ブロックチェーン・レボリューション」の中で、ブロックチェーンを価値のインターネットと呼んでいます。

ブロックチェーン・レボリューション ――ビットコインを支える技術はどのようにビジネスと経済、そして世界を変えるのか

どういうことでしょうか。
ご存知の通り、インターネットの登場により、どこにいても、情報をほぼコストゼロで受け取ることができるようになりました。
しかし、インターネットでは
誰もが低コストで経済的な価値(通貨など)を送ること
ができません。
なぜならば、インターネットでは、電子データの改ざんなど不正な取引が容易にできるからです。
しかし、私たちは、AmazonなどのECサイトで物を買う場合、クレジットカードを使って送金しています。
それは、

  • AmazonなどのECサイトは取引実績もある大手企業が主催しているので信頼できる
  • SSL認証によって通信相手が確かに本人であることを証明している

からなのです。
※SSL認証ですが、証書を得るためにはコストがかかります。
さて、ブロックチェーンが「価値のインターネット」と呼ばれるのは、
インターネット上で、誰もが低コストで経済的な価値を送ることを可能にした
からです。
なぜならば、インターネット上で、事実上、電子データの改ざんなど不正な取引ができない仕組を創ったからです。
不正な取引ができない仕組であれば、先ほどのAmazonのように、「取引相手を信頼できなければ取引できない」ということはありません。
特定の第三者を信頼する必要がないことをトラストレス(Trustless)といいます。
ブロックチェーンが革新的なのは、信頼できる銀行や政府などの中央で管理する機関がなくても、つまり、特定の第三者を信頼せずに、誰もがインターネット上で価値の移転ができるトラストレスな仕組を創ったことなのです。

ブロックチェーンの基盤

さて、ここで、改めてビットコインとブロックチェーンの関係について説明しておきます。
先ほど、サトシ・ナカモトの論文で、信頼できる銀行や政府などの中央機関がなくても、ネットワーク上で安全にビットコインを取引できる技術的な仕組としてブロックチェーンが初めて紹介されたと書きました。
つまり、ブロックチェーンはビットコインを取引するための技術基盤なのです。
このブロックチェーン基盤(プラットフォーム)は、ビットコインに特化したものではなく、
ネットワーク上に分散したノードが唯一無二(ユニーク)な情報を共有し、それを処理する汎用的な技術基盤です。
ビットコインのブロックチェーン基盤は、Bitcoine Foundationという機関が運営するBitcoin Coreです。
代表的なブロックチェーン基盤を3つほど紹介します。

これらのブロックチェーン基盤が、インターネット上で電子データの改ざんなど不正な取引ができない仕組を実現しているのです。
それでは、どのようにして、電子データの改ざんなど不正な取引ができない仕組が実現されているのでしょうか?
次に、ブロックチェーンを構成する技術について見ていきましょう。

ブロックチェーンの技術

ブロックチェーンを構成する技術は大きく以下のようになります。

  • P2P
  • 暗号化
  • コンセンサスアルゴリズム

P2P

サトシ・ナカモトは、発表した論文の中で、次のようなことを書いています。

ピュアなP2Pで行えれば、金融機関の介在なしに、電子通貨を利用者から利用者へと直接オンラインで支払うことができるようになる。

ビットコインの目的は、銀行のような中央機関を介在させず、P2Pネットワーク上で1対1のやり取りができる電子通貨システムを実現することでした。
P2P(P2P型システム)とはPeer-to-Peer(ピア・ツー・ピア)の略語で、対等な関係のノードで構成された情報システムのネットワーク形態のことです。
※Peerとは同胞、同僚です。
情報システムのネットワーク形態の一つであるクライアント・サーバー型システムのネットワーク形態と比較してみましょう。

クライアント・サーバー型システムの場合、クライアントが、ネットワークの中央に位置するサーバーに対してデータの蓄積や配信などの要求を行い、サーバーは、それに答えるという役割分担になっています。
それに対して、P2Pの場合、ネットワークを構成するノードはすべて対等で、各ノードはサーバー(サービス提供側)にもクライアント(サービス享受側)にもなります。
それぞれのメリット・デメリットは以下のようになります。

クライアント・サーバー型システム
メリット
ネットワークの中央に位置するサーバーがサービスの管理を集中的に行うため、システムの設計や管理がしやすい。
デメリット
比較的信頼性が低い
サーバーに障害が発生するとネットワーク全体に影響する。
比較的拡張性が低い
多数のクライアントの同時接続の負荷に耐えられる高性能なサーバーを用意する必要があり(スケールアップ)、処理できるクラアン数に限界がある。

P2P
メリット
比較的信頼性が高い
ノードに障害が発生してもネットワーク全体に影響することはない。
比較的拡張性が高い
参加するノードのリソースを利用して負荷を分散できるので、ノード数が増加してもサービスを維持できる(スケールアウト)。
デメリット
P2Pのネットワークの設計や管理が複雑で困難である。

このように、P2Pは、中心のないネットワークを構成することにより高い信頼性と拡張性を確保することができるのです。
しかし、P2Pで経済価値の取引を実現しようとした場合、次のような課題を解決する必要があります。

  • 悪意のある参加者による電子データの改ざんなどの不正取引をどう防ぐか
  • 情報伝達の遅延による二重取引などの不整合をどう防ぐか
  • 中央集権的な管理者が存在しない中、どのようにネットワークを自律的に維持・運営するか

これらを解決する技術が次の暗号化とコンセンサスアルゴリズムです。
まず、暗号化から見ていきましょう。

暗号化

ブロックチェーンでは、以下の暗号化技術を採用しています。

  • 電子署名
    電子データ(トランザクション)の妥当性の証明。
  • ハッシュ
    電子データ(ブロック)の改ざん防止。

一つ一つ見ていきましょう。

電子署名

ブロックチェーンでは、各取引記録(トランザクション)に1つずつ電子署名が付与されています。
また、電子署名を検証するための公開鍵もセットで付与されています。
※秘密鍵で電子データを暗号化した暗号文のことを電子署名といいます。

ブロックチェーンの参加者は、送金依頼などトランザクションを発行するとき、本人保証のため電子署名と公開鍵を付与します。
トランザクションを受け取った参加者は、公開鍵で電子署名を複合化し、トランザクションの内容が改ざんされていないか検証します。
電子署名を検証することによって、次のことを確認することができます。

  • 第三者がトランザクションの内容を改ざんしていないこと
  • 第三者がなりすましを行ってトランザクションを発行していないこと
  • 貨幣所有者など正しい取引実行者がトランザクションを発行したこと

ハッシュ

次にハッシュです。
ハッシュとは、電子署名と同様、電子データから生成される値です。
ただ、ハッシュは、電子署名と異なり、元の電子データに戻すことはできません(不可逆)。
ハッシュは、ハッシュ関数により生成されます。
生成されたハッシュは、電子データごとにユニークな値になるので、ハッシュを比較することで、電子データが改ざんされていないか確認することができます。
例えば、ブロックチェーンのブロックに前のブロックのハッシュを持たせるようにします。

そうすると、もし、トランザクションが改ざんされた場合、ハッシュの値が変わるので、トランザクションが改ざんされたことがわかります。

しかし、これだけだと問題が残ります。
もし、ハッシュが簡単につくれるならば、改ざん後、すべてのブロックのハッシュを作り直せばよいからです。
実際に、ハッシュ関数によりハッシュは簡単につくることができます。

それを解決するのが次のコンセンサスアルゴリズムです。

コンセンサスアルゴリズム

コンセンサスアルゴリズムとは、ブロックの正当性について、ブロックチェーンの参加者間で合意形成を得るためのアルゴリズム(手順)です。
ビットコインのブロックチェーン基盤であるBitcoin Coreでは、Proof of Work(計算量による証明、以降、PoW)というコンセンサスアルゴリズムが使われています。
PoWでは、
①確率的に解答が困難な問題を一番早くとくことができた参加者に、ブロックの作成を許可し、その報酬としてビットコインを与える
という方法で、
中央集権的な管理者が存在しない中、どのようにネットワークを自律的に維持・運営するか
という問題を解決しています。
また、
②情報伝達の遅延による二重取引など不整合が生じ、ブロックチェーンが分岐した場合でも、一番長いブロックチェーンを正とする
という方法で、
情報伝達の遅延による二重取引などの不整合をどう防ぐか
という問題を解決しています。

①から見ていきましょう。
ハッシュの説明の中で、
ハッシュが簡単につくれるならば、改ざん後、すべてのブロックのハッシュを作り直せばよい
という問題があるという話をしました。
ということは、ハッシュを簡単につくれなくすればよいということです。
PoWでは、確率的に解答が困難な問題を解かせるという方法を採用しています。
具体的に言うと、前のブロックのハッシュと取引記録、および、ナンスという参加者が自由に決めることができる値をハッシュ関数のパラメータとしてハッシュを生成させ、それが一定の条件を満たすまでナンスを探し続けさせるという方法です。
ハッシュが一定の条件を満たした場合、新しいブロックの生成が許可されます。

この新しいブロックが生成されるまでの一連の作業をマイニング(ナンスの採掘)といいます。
PoWでは1ブロックの採掘間隔がおよそ10分になるように難易度が調整されます。
これが、計算量によってブロックの正当性を証明するPoWの考え方です。
こうなると、悪意のある参加者がトランザクションを改ざんし、これまで繋がっているすべてのブロックのハッシュを再計算して不正な取引を成立させることは事実上不可能です。

これが、複数のトランザクションをまとめてブロックに分け、ブロックに、前のブロックのハッシュとナンスを持たせ、チェーン上に繋げるというブロックチェーンの設計思想(アーキテクチャ)であり、先に述べた、ブロックチェーンは「インターネット上で、事実上、電子データの改ざんなど不正な取引ができない仕組を創った」という意味です。

それでは、ブロックチェーンが作られていく様子を見ていきましょう。

  • 送金依頼など、参加者が、電子署名と公開鍵が付与されたトランザクションを発行します。トランザクションはP2Pネットワークを介して参加者全員にブロードキャストされます。
  • トランザクションを受け取った別の参加者は、電子署名を検証し、トランザクションの妥当性を確認後、マイニングを行います。
  • 最初に条件を満たすナンスを見つけた参加者は、作成したブロックを参加者全員にブロードキャストします。
  • ブロックを受信した参加者は、ハッシュ値を求め、条件を満たしているか確認し、満たしている場合、そのブロックを自分のブロックチェーンに追加します。

マイニングを行う参加者(マイナーと言います)は、ナンスの採掘に自分のコンピュータ資源を使います。
なので、その対価として、最初に条件を満たすナンスを見つけた参加者にビットコインが与えられます。
この報酬が参加者にインセンティブを与え、中央集権的な管理者が存在しなくてもネットワークが自律的に維持・運営される仕組が確立されるのです。

次に、上の②、PoWが情報伝達の遅延による二重取引などの不整合を防ぐ仕組について見ていきましょう。
例えば、情報伝達の遅延によって、ブロックチェーンが分岐(フォーク)した場合を考えてみましょう。

※両方のチェーンのブロックには同じトランザクションが入ります。

このような場合、最も長いブロックチェーンを、より多くの参加者が合意したものとして採用します。

しかし、このような多数決で決定を下すアルゴリズムの場合、過半数を特定のマイナーの計算能力が占有してしまうと、意図的に不正取引のブロックチェーンをつくることもできてしまいます。
これを51%問題といいます。
また、短いブロックチェーンを正としていたノードで長い方への切り替えが発生することで、例えば、自分の口座残高が変化したり、失われたりするケースが発生する可能性もあり、決済処理が確実に執行されること(ファイナリティ)が不確実であるという問題もあります。
そこで、Ethereumというブロックチェーン基盤では、「大量の通貨を所有している参加者は、その通貨価値を守るために、システムの信頼性を損なうことはしないだろう」という考え方に基づいて「貨幣量を多く所有する参加者が優先的にブロックを作成できる」というPoS(Proof of Stake)というアルゴリズムを採用しました。
PoSは、PoWの計算量に加えて貨幣量も重視したアルゴリズムです。

ブロックチェーンの種類

さて、ビットコインは、管理者がおらずネットワークが自律的に維持・運営されるブロックチェーンですが、先に述べたブロックチェーン基盤をベースに独自のブロックチェーンを立ち上げることもできます。
ブロックチェーンは、大きく、

  • パブリックブロックチェーン
  • プライベートブロックチェーン
  • コンソーシアムブロックチェーン

に分けることができます。
パブリックブロックチェーンとは、管理者がおらず、誰でも自由に参加でき、ネットワークが自律的に維持・運営されるブロックチェーンのことです。
プライベートブロックチェーンとは、管理者がいて、ブロックチェーン基盤をベースに独自のブロックチェーンを立ち上げ、参加者も管理者が決めるブロックチェーンのことです。
昨今、世界中の銀行や中央銀行がブロックチェーンを用いた仮想通貨に参入していますが、これは、各金融機関が管理するプライベートブロックチェーンです。
以下の図は、DXによって会社が目指すべき姿を表したものですが、この中のデータ基盤にあるブロックチェーンは、プライベートブロックチェーンを表しています。

なお、単一の組織が管理するプライベートブロックチェーンに対して、複数の組織が管理するブロックチェーンをコンソーシアムブロックチェーンといいます。
サプライチェーンを構成するさまざまな業者がブロックチェーンを利用して、製品が誰によってどこで作られたのか、どのような所有者を経てきたかなどのデータを蓄積共有することで、製品の流通経路を生産段階から最終消費者まで追跡可能にすることができます。
なお、ブロックチェーン基盤のBitcoin CoreとEthereumは、主にパブリックブロックチェーンとコンソーシアムブロックチェーンとして使われ、Hyperledger Fabricは、主にコンソーシアムブロックチェーンとプライベートブロックチェーンとして使われるようです。

ブロックチェーンの応用

ブロックチェーンといえばビットコインをはじめ仮想通貨への応用例が目立ちます。
ブロックチェーンの最大の特徴は、
インターネット上で、事実上、電子データの改ざんなど不正な取引ができない仕組
です。
これは、
インターネット上で、コピーできない唯一無二(ユニーク)な情報を共有し、それを処理することができる
ということです。
そう考えると、仮想通貨以外、

  • 資金調達
  • 送金・決済
  • 電力の売買
  • 著作権管理
  • 契約の管理
  • 物品のトラッキング

など、さまざまな分野に応用できることがわかります。
ここでは、ブロックチェーンの応用として、スマートコントラクトについて解説します。
スマートコントラクト(Smart Contract)とは、契約の交渉、締結、履行が自動で実行される仕組みです。
ブロックチェーン上で作成されるスマートコントラクトは、契約内容がプログラミングに沿って実行、記録され、契約後の変更や不正が行われることはありません。
これまで人間が行ってきた煩雑な契約を、ブロックチェーン上のスマートコンタクトによって自動化することで、効率性だけでなく信頼性を上げることができます。
例えば、証券取引や保険、貿易金融、株券の取扱など、従来の金融業務が、人間の判断を要せず、自動的に実行できるようになります。
また、特許権や著作権のような知的財産権の証明や、土地の登記など公的証明も可能です。

ブロックチェーンによって社会はどうかわるのか

最後に、ブロックチェーンによって変わる社会を、

  • DAO
  • AI×ブロックチェーン

というテーマで見ていきましょう。

DAO

DAOとはDecentralized Autonomous Organizationの略で、自律分散型組織のことです。
自律分散型組織とは、経営者や管理者がおらず、組織の構成員だけで自律的に維持・運営される組織です。
例えば、DAOは、ブロックチェーン上のスマートコンタクトに定められたルールに従って自律的に判断し、決定し、実行します。
DAOによって動く事業では、技術的にメンテナンスする人は必要でも、組織を管理する人は必要ありません。
したがって、一度、出来上がった事業の仕組は、当初の構成員がいなくなっても自動的に動き続けます。

AI×ブロックチェーン

AIは、労働者の仕事を自動化します。
ブロックチェーン(DAO)は、経営者の仕事を自動化します。
さて、AIとDAOの組み合わせにより、経営者も労働者もいない完全自動社会になるのでしょうか?

ブロックチェーンのおすすめ本

以上、今回は、ブロックチェーンについて解説しました。

-DX, IT
-

執筆者:


  1. […] ブロックチェーンとは【わかりやすく解説】 […]

関連記事

OAuth2.0認証の仕組みをわかりやすく解説

ここでは、OAuth2.0の仕組みを解説します。 OAuth2.0は、2012年にRFC(Request For Comments)として発行された、リソースに対するアクセス権限の認可(Authori …

ビジネスアーキテクチャ(BA)とは【わかりやすく解説】

ここでは、以下の観点で、ビジネスアーキテクチャ(BA)について解説します。 ビジネスアーキテクチャとは DXとビジネスアーキテクチャ ビジネスアーキテクチャ設計の進め方 ビジネスアーキテクチャ(BA) …

認証と認可についてわかりやすく解説

コンピュータやネットワークにおいて、認証と認可は似たような言葉ですが異なる概念です。 ここでは、認証と認可の違いについて以下の観点で解説します。 認証とは 認可とは なぜ認証と認可を分けているのか 認 …

アプリケーションアーキテクチャ(AA)とは【わかりやすく解説】

ここでは、以下の観点で、アプリケーションアーキテクチャ(AA)について解説します。 アプリケーションアーキテクチャとは DXとアプリケーションアーキテクチャ アプリケーションアーキテクチャ設計の進め方 …

アジャイル開発とは何か【わかりやすく解説】

最近、アジャイル開発という言葉が、大分、定着してきました。 しかし、全体的に、アジャイル開発の手法やツールなど技術的側面がクローズアップしているように思えます。 そのせいか、開発プロジェクトにアジャイ …