【初心者必見】ブロックチェーンとは?ビジネスの新常識を分かり易く!

ブロックチェーンとは「分散型台帳」とも呼ばれるビットコインの中核技術です。発明からわずか10年弱、瞬く間に世界を一変させました。国内市場60兆円以上とも言われるイノベーションの本質は何か?ビジネス界に衝撃を与える「新常識」に迫ります!

ブロックチェーンって何?

ブロックチェーンとビットコイン

ブロックチェーンは、ここ数年ニュースを騒がせている「ビットコイン」を支える中核技術の一つです。

ビットコインとは、仮想通貨あるいはその背景にあるネットワークおよびソフトウェアの総称のことで、”Bitcoin: A Peer-to-Peer Electronic Cash System. (Nakamoto)” (Bitcoin: Peer-to- Peer電子マネーシステム)というSatoshi Nakamoto名義による論文の発表と共に、 2008年に理論と仕組みが発明されました。

(出典:pixabay

ビットコインは、その技術的可能性の高さはもちろん、謎に包まれた発案者 ”サトシ・ナカモト” の存在、計算能力に優れたパーソナルコンピューターの社会普及などの要因も相まって、発明からわずか数年で世界に広がりを見せます。

そして、以前のデジタル通貨が抱えていた問題、すなわち①「この通貨が本物かどうか?」②「この通貨は私だけのものか?(二重支払い問題)」という2つの問題を、中央銀行や政府などの管理者に頼ることなく解消したことで、民間による通貨の発行と決済機能を実現し、世の中に大きな衝撃を与えました。

これは、ビットコインが下記のような、暗号技術を中心とする新旧さまざまなテクノロジーを駆使し、うまく組み合わせることで実現されたイノベーションであるためと言われています。

  • 分散化されたP2P(Peer-to-Peer)ネットワーク(=Bitcoinプロトコル)
  • 数学的かつ決定論的な通貨発行(=分散マイニング)
  • 分散取引検証システム(トランザクションscript)

その中でも、近年、特に注目を集めているのが、日本語では「分散型台帳」などと表現される新技術、「ブロックチェーン」です。

ブロックチェーンは、当初こそビットコイン発明の副産物としての位置付けでした。
しかし、2020年現在では、従来のデータベースが抱えていた諸課題を解決しうる期待の新技術として、金融、物流、医療、不動産、セキュリティなど、ありとあらゆる産業への応用が期待されており、経済産業省のブロックチェーン関連市場規模予測では全体で67兆円とも言われています。

ブロックチェーンの定義

有識者によるブロックチェーンの定義

では、ブロックチェーンとは、一体なんでしょうか?

実は、ブロックチェーンには明確な定義がなされておらず、その幅広い性質をめぐって、専門家の間でも意見が分かれています。例えば、日本の業界団体や有識者は、次のような定義をしています(ここでは深入りせず、さらっと眺めてください)。

▼日本ブロックチェーン協会(JBA)による定義

(1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」

(2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」

▼杉井靖典氏(『いちばんやさしいブロックチェーンの教本』の著者)による定義

「正しい記録しかできない、変更できない、消せない、改ざんできない、壊れても自動修復される、落ちない、みんなに合意された情報だけが有効と認識される、ネットワーク共有型のデータベース」

これらの定義を見てもわかるように、ブロックチェーンは、要素技術や特徴が多岐にわたり、その定義が非常に複雑になりがちです(ここでは、理解できる必要はありません)。
また、ブロックチェーンと一口に言っても、どのネットワークで用いられているものなのか(例えばビットコインなのか、イーサリアムなのか、など)によっても、性質が変わってきてしまいます。
そのため、背景知識の薄い初心者の方にはどうしても取っつきづらく、理解が進みにくい傾向にあるのが難点です。

本記事でのブロックチェーンの定義

そこで、本記事では、出来るだけ分かり易くするために、ビットコイン環境下を前提にしつつ、次のように簡略化した定義で解説していきたいと思います。

ブロックチェーンの定義:「取引データを適切に記録するための形式やルール。また、保存されたデータの集積(≒データベース)」

私たち人間が日々、社会で何かしらの行動を起こすと、そこには必ず「取引」と「取引データ」が生まれます。
例えば、コンビニでジュースを買った時、あなたと店員さんとの間では、品物と代金の交換という取引が成立しています。
そして、そのとき、POSシステム(いわゆるレジ)によって記録され、保管されるのが取引データです。

また、他にも、あるサービスを利用するときの個人情報のやり取り、ある人が結婚しているかどうかの記録、などなど、人がいるところには無数の取引と、取引データが存在しています。

今述べたPOSシステムをはじめ、こうした取引データを集積・保管し、必要に応じて取り出せるようなシステムのことを一般に「データベース」と言います。
ブロックチェーンとは、このデータベースの一種であり、その中でも特に、データ管理手法に関する新しい形式やルールをもった技術なのです。

ロックチェーンの特徴

ブロックチェーンと従来のデータベースとの違い

ブロックチェーンとは、「分散型台帳」とも表現される通り、ビジネスに限らず、あらゆる取引記録を保管するデータベースとしての機能をもつ技術です。
後に説明するように、この「分散型」という特徴が、ブロックチェーンを際立たせています。

では、具体的に、ブロックチェーンと従来のデータベースとは何が違うのでしょうか?

従来のデータベースの特徴

① 各主体がバラバラな構造のDBを持つ
② それぞれのDBは独立して存在する
③ 相互のデータを参照するには新規開発が必要

ブロックチェーンの特徴

①’ 各主体が共通の構造のデータを参照する
②’ それぞれのストレージは物理的に独立だが、Peer to Peerネットワークを介して同期されている
③’ 共通のデータを持つので、相互のデータを参照するのに新規開発は不要

従来のデータベースは基本的に独立しており、データ共有にあたっては主従関係が発生します。
その点、ブロックチェーンは常に同期されており中央を介在せずデータが共有できるので参加者の立場がフラット(=非中央集権、分散型)という特徴をもちます。

こうしたブロックチェーンの「非中央集権性」の恩恵としては、

  • 中央を介さないので中間手数料がない、または安い
  • フラットな関係でデータの共有が行えるので競合他社同士でもデータを融通できる
  • 改竄や喪失に対して耐性がある

ということが挙げられます。

まさにこの「非中央集権、分散型」という特徴こそ、ブロックチェーンが様々な領域で注目・活用されている理由だと言えるでしょう。

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

ブロックチェーンのメリットやデメリットをまとめると、以下の通りです。

メリットは、先ほど触れた通りなので、ここでは、デメリットについて解説します。

  • 処理速度が遅い
    • クレジットカード決済が秒間2万件処理できるのに対し、Bitcoinは秒間7件が限界です。処理速度を向上させる技術が日々研究されています。
  • (パブリック型の場合)手数料が発生する
    • 中央がいなくなったとはいえブロックチェーンを支える「マイナー」と呼ばれる参加者が必要です。彼らは高性能なコンピュータを使い、大量の電気を使用します。
    • そのため手数料としてマイナーに支払う幾ばくかの謝礼が発生します。
    • これは中央集権型の仕組みでは運営企業が維持していたサーバー費用などをユーザーに請求せず無料で利用できるサービスが多いのとは対照的な仕組みです。
    • もっとも送金手数料などは銀行よりも安いため世界に普及したという経緯があり、手数料は一般的に従来の仕組みよりも安く抑えられる傾向があります。
  • 「51%問題」があり、改竄が不可能ではない
    • よく誤解されることですがブロックチェーンは改竄が「困難」なのであって「不可能」ではありません。
  • 無駄な電力消費
    • PoWの仕組み上、マイナーが計算競争を行うため高性能なコンピューターを動かすことで、大量の電気が消費されます。
    • ブロックチェーン以外では使うことのない計算ですので、地球温暖化の観点から懸念されています。

なお、これらのデメリットについてはBitcoin以降のブロックチェーンで次々に改善されるものが登場してきており、将来的には解消されていくものと予想されています。

ブロックチェーンの仕組み

ここからは、ブロックチェーンがどのような仕組みで動いているのか、その理論と実際例を解説していきます。
大きくは、基本構造をまず抑えた上で、データの共有方法、とりわけコンセンサスアルゴリズムについて理解することが重要です。
また、ビットコインのコンセンサスアルゴリズムであるPoWのうち、「マイニング」の概念も理解できるとベターでしょう。

ただし、ブロックチェーンは、発明の経緯からして、体系だてられた理論を出発点にしたというよりは、実運用上の必要に応じて具体的な技術を組み合わせてつくられています。
そのため、ブロックチェーンの仕組みは、初心者にとっては非常に難解で、いきなり全てを理解しようとするとつまづいてしまう方も少なくありません。

そのため、本記事の解説では、仕組みにおける重要概念の紹介だけにとどめます。
より詳しくブロックチェーンの仕組みをお知りになりたい方は、下記の記事も併せてご覧ください。
【ビジネスパーソン向け】ブロックチェーンの仕組みを20分で理解しよう!

ブロックチェーンの基本構造

ブロックチェーンをシンプルに図解すると、次のような構造をしています。

上図からもわかるように、ブロックチェーンは、その名の通り「ブロック」を「チェーン」のように順番に繋いだ形をしています。

ブロックチェーンでは、一定量に取りまとめられた取引データを「Tx(Transaction、トランザクション)」と呼んでいます。
「ブロック」とは、このトランザクションを1MB分だけ集めてきて、日付などのメタ情報を付与して、ひとまとまりにしたもの
です。

身近なものに例えるなら、ブロックは、引き出しがいくつか付いているタンスのようなものだと言えます。
一つのタンスの中には複数の同じ大きさの引き出しがあり、その中にはさらに、例えば紙の契約書だとか現金が入っている、というようなイメージです(下図)。

(出典:「かわいいフリー素材集いらすとや」画像より筆者作成)

具体的にいうと、各ブロックには、日付(タイムスタンプ)に加えて、「Hash(ハッシュ、ハッシュ値)」「nonce(ナンス)」「ターゲット」と呼ばれるメタ情報が付与されており、これらの情報をもとにして、ある一定のルールのもとで前のブロックと後ろのブロックがまるで鎖のように連結されています(これらの用語やルールに関しては、後ほど解説します)。

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

(出典:「かわいいフリー素材集いらすとや」画像より筆者作成)

なお、こうしたブロックチェーンの基礎構造は、Bitcoin以降のブロックチェーンのほぼ全てに採用されています。

稀にチェーン型でないブロックチェーンというものもありますが、それらは分散型台帳であるもののブロックチェーン構造ではないので、厳密には区別されます(例えばIOTAで有名な「タングル」構造など)。

ブロックチェーンにおけるデータ共有の考え方

ブロックチェーンにおけるデータ共有:「ノード」がブロックの生成と伝播を行う

ブロックチェーンでのデータ共有において重要な役割を持っているのが「ノード」と呼ばれる個々のネットワーク参加者です。

すでに述べた通り、ブロックチェーンは、従来のデータベースとは異なり中央管理者が不在のため、データの管理や共有はすべて参加者だけで行う必要があります。
この参加者のことを「ノード」と呼び、世界中に散らばるノードが競争した結果、競争に勝利した一つのノードによって、絶えず新しいブロックが生成されていきます(ビットコインでは平均10分に1つのペースで新しいブロックが生成されるように設計されています)。

また、各ノードは、P2Pネットワーク内の他のノードの一部と繋げられており、あるノードでつくられた新しいブロックの情報は、そのノードと繋がっている他のノードにすぐさま伝播します
そして、この「ブロックの伝播」を繰り返していくことで、ブロックおよびブロックに含まれる取引データが、瞬く間に世界中の参加者へと共有される(=データが同期される)のです。

このように、ブロックチェーンでは、P2Pネットワークの参加者自身がブロックの生成やデータの共有(=ブロックの伝播)を行なうことで、分散型のデータベースが高い精度で実現されています。

ノードによるブロック生成・伝播の問題点と解決策:コンセンサスアルゴリズム

今みたように、ノードによるブロック生成・伝播の仕組みによって、世界中のノードがほぼ同時に、同じ内容のデータをもつことができるようになりました。
そして、多数のノードがデータを持ち合うことで、データの改竄や捏造が難しくなりました。

しかし、この方法は、あくまで「ブロック化された元のデータ内容が正しいこと」を前提としています。
ブロックチェーンの世界には第三者としての中央管理者がいません。
従って、もし、ブロックをつくった人間に悪意があった場合、その人間を管理できる存在がいないため、世界中の人が間違ったデータを同時に持ってしまうことになります。
つまり、P2Pネットワーク参加者のみで行うデータ共有の仕組みでは、「管理者不在の中、どうやってデータの真正性を担保するか?」という問題を解決する必要があるのです。

そこで、考え出されたのが、「コンセンサスアルゴリズム」と呼ばれる、ネットワーク内での合意形成の方法です。
ブロックチェーンでは、個々のネットワークごとに、「複数それっぽいブロックが出てきた時にどれを選ぶか?」という論点に対する合意方法が、コンセンサスアルゴリズムという形で事前に決められているのです。

一般に、コンセンサスアルゴリズムには、次の2つの役割があります。

  1. ネットワーク内の発言権を誰に持たせるかを決める(=一定の条件を満たすノードにブロック生成を認める)
  2. 複数の発言者がいる場合に、誰の発言が最も有力かを決める(=2つ以上の異なるブロックが同時に生成されたとき、どのブロックが正しいかについての合意を形成する)

代表的なところでは、ビットコインのPoW(Proof of Work、プルーフオブワーク)、イーサリアムのPoS(Proof of Stake、プルーフオブステーク)、ネムの PoI(Proof of Importance、プルーフオブインポータンス)、リップルのPoC(Proof of Consensus、プルーフオブコンセンサス)あたりが有名です。

ビットコインのコンセンサスアルゴリズム:PoW(Proof of Work)

では、具体的に、コンセンサスアルゴリズムはどのようにして「データの真正性問題」を解決しているのでしょうか?
本記事はビットコインを前提に執筆しているため、ここでは、代表例としてPoW(Proof of Work、プルーフオブワーク)の説明を行います。

先ほどみた、コンセンサスアルゴリズムの2つの役割からみると、PoWは次の2つの原理によって成り立っています。

PoWの原理①(1つ目の役割:ブロックの生成条件)=「メタ情報に関する計算に成功するとブロックを生成できる」
PoWの原理②(2つ目の役割:フォークへの対応)=「複数のブロックが生成された場合、最も長いチェーンを正統とし、その中に含まれるブロックを正しいと認める」…”ナカモト・コンセンサス”

まず、1つ目の原理として、PoWでは、ブロックの生成過程で、「マイニング」と呼ばれる、ブロックのメタ情報(ハッシュ、ナンス、ターゲット)を用いた計算作業をノードに課しています
この「ある数字(nonce)を見つけ出す」計算に成功するためには、途方もないレベルの膨大な作業量が必要になります。
そのため、一つのブロックを生成するために、ノードは、コンピュータに大量の計算を行わせるための大きなコスト(電気代)を支払わなければなりません
PoWでは、誰でもブロック生成に参加できるものの、この計算量とそれにかかるコストの大きさが制約条件となって、ブロック生成に参加するノード(マイニングをするノードなので、「マイナー」と呼ばれます)の数を制限することに成功しています。

次に、2つ目の原理として、PoWでは、フォークによって複数のチェーンが生まれた場合、最も長いチェーンに含まれるブロックを正統と認めるルールを設けています。
これは、コンセンサスアルゴリズムであるPoWの中でも特に、「ナカモト・コンセンサス」と呼ばれるルールです。

ビットコインでは、後述する経済的インセンティブのもと、各マイナーが計算競争を行なった結果、下図のように、異なるブロックを持った複数のチェーン分岐が発生してしまうことがあります。

この「フォーク」と呼ばれる問題を解決するために、ナカモト・コンセンサスでは、ブロックの伝播にかかる時間のタイムラグと、10分に1つの新しいブロックが生成されていくというビットコインの設計を利用して、ブロックの中身に優劣をつけるのではなく、「結果として最も長いチェーンを形成したブロックが正しい」という原理が採用されました(上図では、青い背景色のチェーンとブロックが正統と認められます)。

さらに、こうしたルールが現実に効果を発揮するために、ビットコインでは、マイナーに対する経済的インセンティブ(報酬)が用意されています。

先ほど説明した通り、マイニングを行うために、マイナーは高性能なコンピュータを用意し、電気代をかけて計算を行い続けなければなりません。
これは、マイナーにとってのコストになるため、このままでは、誰もブロックをつくろうという気にはなりません。

そこで、彼らへのインセンティブとして、新たなブロックを見つけて一番最初に伝播させたマイナーには採掘の報酬と、トランザクションに含まれる手数料の合計が振り込まれるというインセンティブが用意されています。

この「採掘報酬+手数料」というわかりやすいインセンティブをめぐって、マイナー達が我先にと計算競争を繰り広げるようになることで、PoWがうまく効果を発揮し、ブロックチェーンネットワークにおけるリアルタイムでのデータ共有が実現されているのです。

ブロックチェーンの生成過程

取引〜ブロック生成〜データ共有の流れ

ブロックチェーンは、ある取引のデータをブロック内に格納し、ネットワーク内の全ノードにリアルタイム共有する仕組みでした。
この仕組みは、次の一連の作業によって実現されます(この章でも、ビットコインを前提に説明します)。

  1. 取引が行われる
  2. 取引データに鍵がかけられ、トランザクションプールに貯められる
  3. マイナーが、トランザクションプールの中から一定量のトランザクション(1MB)を取り出し、データを検証する
  4. マイナーがPoWで定められた計算を行い、取り出したトランザクション群にメタ情報を付加して、ブロックを生成する(=マイニング)
    1. メタ情報①:一つ前のブロックのハッシュ値(Hash)
    2. メタ情報②:ナンス(nonce)
    3. メタ情報③:タイムスタンプ(ブロック生成の日時)
    4. メタ情報④:ターゲット
  5. マイナーが他の隣接ノードにブロックを伝播する
  6. ブロック情報を受け取ったノードが、そのブロックの正しさを検証する
    1. 届いたブロックを再度ハッシュ化し、ハッシュ値<ターゲットとなればOK
  7. 検証したノードが、さらに繋がっている他の隣接ノードにブロックを伝播する
  8. 以下、6~7を繰り返す

マイニング

ビットコインのコンセンサスアルゴリズム(PoW)では、ブロックの生成過程で、「マイニング」と呼ばれる、ブロックのメタ情報(ハッシュ、ナンス、ターゲット)を用いた計算作業をノードに課しています
この計算作業とは、具体的に、「ブロックのバイトにnonceを加えたものをHash化した値が、特定のターゲット値以下になるようなnonceを見つける作業」のことです。

改めて、マイニングに用いられるメタ情報は、次の3つです。

  • Hash(ハッシュ、ハッシュ値)
  • nonce(ナンス)
  • Target(ターゲット)

Hashとは「一連の取引データが、ハッシュ関数と呼ばれる暗号化技術によって、文字列化された値」であり、このHashをつくる作業をハッシュ化と呼びます
ブロックチェーンの仕組みでは、あるブロック(A)内に格納された諸データ(トランザクション+メタ情報)がハッシュ化され、そこでつくられたHashが次のブロック(B)のメタ情報の一つとして格納されます。

そして、そのブロック(B)内に格納された諸データがハッシュ化され、そのHashがまた次のブロック(C)に格納され、・・・といったことを繰り返していきます。
こうして、前後のブロックがHashによってチェーン状に繋げられているために、その仕組み全体をブロックチェーンと呼ぶのでした(こうしたHashによる繋がりを「ハッシュチェーン」と呼ぶこともあります)。

さて、ビットコインにおけるマイニングでは、このHashと、ブロックごとに予め定められている「Target」という特定の値をもとに、「nonce」と呼ばれる未知数を求める計算を行います
具体的には、「あるブロックをまとめた情報(バイト)にnonce(未知数)を加えたものをハッシュ化した値(Hash)が、特定のTarget(値)以下になるようなnonceを見つける作業」がProof of Workです。

実際には、例えば、次のような形の式を解くことになります。

「NotNonce」をブロックの情報そのものとすると、それにnonceの値を付加してHash関数を通します。

ここでは、nonceが5の時に条件を満たしたのでnonce=5としてブロックが生成されます(Hash値の先頭にある文字列が00であり、これは01から始まるTargetよりも小さな値であると言えます)。

nonceは一つの値とは限らないため、他の値で条件を満たすものがあった場合も、問題ありません。
そのため、条件を満たしてさえいれば良いので、運良くたままた早く見つかることもあれば全く見つからないこともあります。
したがって、ブロックの生成スピードは、マイナーによって異なります。

このように、ビットコインのPoWでは、マイナーはHash、nonce、Targetを用いた計算(マイニング)を行うことで、ブロックを生成することができます。

マイニングの計算難易度とビットコイン供給量

総発行数に上限を設けるために、ビットコインには、一定期間ごとに供給量を半分に減らす「半減期」と呼ばれる設計がなされています。

  • 1ブロック生成ごとに供給され、最初は50BTC
  • 4年に一度半減期を迎える。2020年5月12日に3度目の半減期を迎え、現在、6.25
  • BTC
  • 2140年以降、最小単位を下回るので供給が止まる
  • 最終的な発行数は21万BTC

そして、ビットコインでは、この半減期と通貨の総発行数を守るために、計算難易度の調整が行われています。

ブロックチェーン(ビットコイン)のマイニングでは、Targetが小さいほど、計算難度が上がります。
具体的にはターゲットの値で0がたくさん並ぶほどnonceの発見は難しくなります。

そしてTargetは、先ほど述べた発行数の上限と半減期の設計をもとに、ブロックの作成スピードから計算して自動で調整されます。

具体的には、2,016ブロックごとに、予想時間の20,160分以上かかっていれば難易度を下げ、20,160分以下なら難易度を上げます。
また、急激な変化をしないように、4倍または1/4の間に収まるようにする、というルールで運用されています。

ブロックチェーンに利用されている技術

ここまで、ブロックチェーンそのものの仕組みを詳しく説明してきました。
しかし、実際には、ブロックチェーンを従来のデータベースと差別化している要因は、それだけではありません。

冒頭でも述べたように、ブロックチェーンは「組み合わせによるイノベーション」と言われるほど、新旧様々な技術を組み合わせることで、その特異性を発揮していると言えます。
そこで、本章では、ブロックチェーンに利用されている既存技術のうち、代表的な3つの技術を簡単にご紹介します。

なお、ブロックチェーンの技術について詳しくお知りになりたい方は、下記の記事も併せてご確認ください。

ブロックチェーンは技術の組み合わせ?〜P2P・Hash・公開鍵暗号〜

P2P(Peer to Peer)通信

ブロックチェーンに利用されている最も代表的な技術が「P2P(Peer to Peer、ピアツーピア)」です。

P2Pとは、パーソナルコンピューターなどの情報媒体間で直接データの送受信をする通信方式のことで、ブロックチェーンの最大の特徴でもある「非中央集権性」をもたらしているのが、この技術です。

P2Pは、わかりやすいイメージで言えば、第三者を介さない個人間送金などで活用されています。
また、無料インターネット電話サービスの先駆けともいえるSkypeにも、このP2P技術が用いられています。

これに対して、従来のデータベースでは、「クライアントーサーバ型」と呼ばれる通信方式が採用されています。
クライアントーサーバ型とは、情報媒体間でデータの送受信を行う際に、データ共有を行う媒体間で直接通信せず、第三者媒体をサーバとして経由する方式のことです。
そのため、従来のデータベースを使ってデータを共有しようと思うと、どうしても中央管理者が必要となってしまいます。
これは、Google ChromeやAWS(Amazon Web Service)などを想像するとわかりやすいでしょう。

なお、厳密には、P2Pとブロックチェーンは全くの別技術で、全てのブロックチェーンがP2P方式というわけではありませんが、基本的には「ブロックチェーン=P2P」という理解で問題ありません。

Hash(ハッシュ値、ハッシュ関数)

次に、Hashについてです。
マイニングにおいて重要な役割を果たしていたHashも、実は、ブロックチェーン特有の技術ではなく、ブロックチェーン以前から存在していた暗号技術を転用したものです。

ブロックチェーンでは一つ前のブロックをHash化したHash値を次のブロックに渡し、それを織り込んでブロックを作成します。
Hashは少しでも入力値が変わると全く異なる出力となるという特徴があります。

また、その他に出力値の長さが入力に関わらず一定であること、出力から入力を類推できないという特徴があります。

まとまると次のような特徴があり、ブロックチェーンのメリットにつながります。

公開鍵暗号方式

最後は、公開鍵暗号方式についてです。

公開鍵暗号方式とは、「暗号化と復号(暗号から元のデータに戻すこと)に別個の鍵(手順)を用い、暗号化の鍵を公開できるようにした暗号方式」のことで、次のような「鍵の配送問題」に対する解決策の一つとして、企業のセキュリティなどで用いられているものです。

  • 暗号は通信の秘匿性を高めるための手段だが、それに必須の鍵もまた情報なので、鍵を受け渡す過程で盗聴されてしまうというリスクが存在する
  • 共通鍵を秘匿して受け渡すには(特使が運搬するというような)コストもかかり、一般人が暗号を用いるための障害が存在する

具体的な仕組みについては、『Udemyメディア』の「公開鍵暗号方式とは?初心者でもわかる公開鍵暗号方式の基礎」という記事が非常にわかりやすく解説していたため、下記、そちらを引用します。

「公開鍵暗号方式では2つの鍵を利用してデータのやり取りを行います。

2つの鍵とは受信者が作成する「公開鍵」と「秘密鍵」です。
公開鍵は誰でも簡単に入手できる公開された鍵ですが、秘密鍵は1つしかない大切な鍵です。

それでは2つの鍵を使ったデータの送信を見てみましょう。

公開鍵暗号方式の仕組み

1. 受信者が秘密鍵を使って公開鍵を作成する
2. 送信者は受信者の公開鍵を取得する
3. 平文(暗号化したい文)を送信者が公開鍵を使い暗号化し送付する
4. 受信者が暗号文を受け取る。
5. 受信者は暗号文を秘密鍵で平文に復号化する

このように、受信者(秘密鍵を持っている人)のみが暗号を解くことができる仕組みになっています。
秘密鍵は受信者が大切に保管し、公開鍵は誰でも取得できる場所に公開されています。」

ブロックチェーンでは、取引データをトランザクション化する際に、この公開鍵暗号方式が利用されています。
具体的には、自分のもつ秘密鍵でトランザクションに署名をすることで、データの安全性を高めています。

ブロックチェーンの種類

ここまで、わかりやすさのために「ブロックチェーン」と一言でまとめて解説してきました。
しかし、実際には、ブロックチェーンは「管理者の在・不在」を軸に、複数の種類に分けることができます。

ブロックチェーンは、その種類によって、特徴やコンセンサスアルゴリズム、実際の導入時に考えるべき点など、あらゆることが大きく変わってきてしまいます。
そのため、プロジェクト時に「それ聞いたことがある」という程度には、用語に慣れ親しんでおく必要があるでしょう。

なお、ブロックチェーンの種類について詳しく知りたい方は、下記の記事も併せてご確認ください。
ブロックチェーンの種類は?〜パブリック・コンソーシアム・プライベート〜

ブロックチェーンの分類方法

ブロックチェーンは大別すると以下のように分けることができます。

ノードの参加者が限定されていないか、限定されているかが大きな論点です。

ノードの参加者が限定されているPermission型は企業向けのエンタープライズ用途に好まれますが、一方でこの仕組みはブロックチェーンを使う意義が薄いのでは、という指摘もあります。

代表的なブロックチェーンの種類

前述の分類に従い、頻出するブロックチェーンをマッピングしたものが次の図です。

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