ブロックチェーンとは

ブロックチェーンとは

ブロックチェーン(分散型取引台帳)とは、過去からの取引履歴(ブロック)を一本の鎖のようにつなげ、正確な取引履歴を維持しようとする技術です。ひとつのブロックは、取引記録の集合体と、各ブロックを接続させるための情報で構成されます。ブロックチェーンとは、このブロックが複数連結された鎖(チェーン)のことを指します。もしも、ある取引について改ざんしようとする場合、それより新しいすべての取引について改ざんしなければならない仕組みとなっているため、データの破壊・改ざんが極めて困難になっています。

また、ブロックチェーン化された取引記録は、金融機関などの中央集権型のシステムとは異なり、複数の端末がそれぞれ情報を共有し、常に同期される分散型取引台帳という仕組みで管理されます。そのため、一部の端末が停止しても、システム全体の稼働に影響を与えないよう信頼性を担保しています。

ブロックチェーンとは
ブロックチェーンとは
出典:ブロックチェーン技術を利用したサービスに関する国内外動向調査報告書 - 経済産業省
Point!

ブロックチェーン(分散型取引台帳)とは、過去からの取引履歴(ブロック)を一本の鎖のようにつなげ、正確な取引履歴を維持しようとする技術。

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

ブロックチェーンは、複数の端末によって管理されます。この仕組みは、一般的な中央集権型システムに見られるクライアント・サーバ型モデルとは異なり、それぞれの端末が対等の立場で通信を行います。他の端末(ノード)に対してデータの提供、および要求を行う自律分散型のネットワークモデルです。このようにサーバ、またはクライアントの立場が固定されない非中央集権型のネットワークモデルを P2P(Peer to Peer)と呼びます。

クライアント・サーバ型モデルと P2P 型モデル
中央集権型システムと非中央集権型システム(P2P)

P2P 型ネットワークの最大の特徴は、システムが分散されており、一部の端末がダウンしてもシステム全体は動き続けることができる点です。

ブロックチェーンは、P2P 型ネットワークで運営されています。参加者全員が同じブロックチェーンを保有し、お互いに持っている情報が正しいかチェックし合うことで、データの正当性を証明しています。

Point!

ブロックチェーンは P2P 型のネットワークモデルで運営されており、参加者がお互いの情報をチェックし合うことでデータの正当性を証明している。

ブロックは、ヘッダ(データの先頭部分)で繋がっています。ブロックがチェーンに追加される場合、新しいブロックのヘッダには、前のブロックのヘッダ情報が暗号化されて組み込まれます。

ブロックチェーンの構造
ブロックチェーンの構造
Hint!

暗号化には、SHA-256 と呼ばれるハッシュ値を計算する関数が使用されます。ハッシュ値とは、任意の長さの原文から固定長の値を算出する要約関数の一種です。ハッシュ値は不可逆的であり、ハッシュ値から原文を求めることはできません。

(原文)あいうえお
(SHA-256)fdb481ea956fdb654afcc327cff9b626966b2abdabc3f3e6dbcb1667a888ed9a

マイナーは、ブロックチェーンに新しいブロックを追加するために、ハッシュ値からナンス(Nonce)を求めます。ナンスとは、Number used once(一度だけ使用される使い捨ての数字)の略で、ブロックを新規作成するときにマイナーによって求められる数値です。正しいナンスを求めるには、特定の文字列が含まれるハッシュ値が出現するまでナンスを変更して何度も計算しなければなりません。

ブロックチェーンの分岐

ブロックチェーンはソフトウェアのルールを変更するときに意図的に分岐(フォーク)することが可能です。フォークにはハードフォークソフトフォークの2種類あります。

ハードフォークとは、フォーク前のソフトウェアと互換性がない、新しいブロックが作れるようになるルール変更のことです。一方、ソフトフォークとは、フォーク前のソフトウェアとも互換性がある、新しいブロックが作れるようになるルール変更のことです。

Point!

ブロックチェーンは、ソフトウェアのルール変更時に意図的に分岐(フォーク)することができる。フォークには「ハードフォーク」と「ソフトフォーク」の2種類がある。

  • ハードフォークは、フォーク前のソフトウェアと互換性がない
  • ソフトフォークは、フォーク前のソフトウェアと互換性がある

例えば、1ブロックに記載できる取引量を増量するようにルールを変更するというチェーンができたとします。変更後のルールに賛同するマイナーが、フォークしたチェーンを繋いでいきます。この状態が続くことで、ブロックチェーンが分岐します。ビットコインは、台帳によって存在の正当性が証明されるため、「ブロックチェーンの分岐」は「ビットコインの分裂」を意味します。

ブロックチェーンがフォークしても、それぞれの台帳に記録されている情報は正当なものとして扱われます。そのため、従来のルールであるブロックチェーンのビットコインと、新ルールであるブロックチェーンのビットコインの両方を保有することになります。

ただし、そのままでは混乱を招くため、新ルールの方には異なる名称を付けることで対処しています。例えば、2017 年に発生したビットコイン分裂の際には、従来ルールのビットコインに加えて、新ルールのビットコインに「ビットコインキャッシュ(BCH)」という名前を付けました。その際には、従来のビットコイン保有者に対して、同数のビットコインキャッシュが割り当てられました。

意図しない分岐

ブロックを新規に作成する場合、複数のブロックが同時にマイニングされ、偶発的にフォークすることがあります。どちらのブロックも前のブロックを参照しているため、異なる取引情報が記載された最新のブロックが複数存在することになります。この状態では、どちらも正しい情報として認識されます。

フォークしたブロックチェーンは、最終的に正当とみなされたチェーンのみ残ります。偶発的にフォークしたブロックチェーンは、その時点ではどちらも正しい情報として認識されています。ただし、次のブロックを作成するマイナーは、フォークしたチェーンの中から、もっとも長いブロックを選び、そこに自分のブロックを加えるように計算されます。

フォークしたブロックチェーンの長さに一定以上の差がついた時点で、短い方は捨てられます。捨てられた場合、そのブロックのマイナーは報酬を受け取ることができなくなります。そのため、マイナーはより長い方にブロックを加えるインセンティブを持ちます。このインセンティブにより、チェーンがフォークしても、最終的にはひとつのチェーンに収束します。

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

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

ブロックチェーンでは、ネットワーク上のすべての参加者に分散して同等の情報を記録します。この記録に食い違いが出ないように、各リクエストが正しいのか検証するためのルールがコンセンサス・アルゴリズムです。

つまり、コンセンサス・アルゴリズムは、不特定多数の参加者の間で正しく合意形成を得るための仕組みです。そのためコンセンサス・アルゴリズムは、「合意形成アルゴリズム」や「合意形成」と呼ばれることもあります。

ブロックチェーンでは、ビザンチン障害(レスポンスは返すが、そのデータの妥当性が信頼できない問題)を引き起こす可能性があるため、不正なデータが含まれていたとしても正しく合意を形成できる仕組みが求められます。そのため、各リクエストを検証するためのルールがコンセンサス・アルゴリズムとなります。

Point!

コンセンサス・アルゴリズムとは、不特定多数の参加者の間で正しく合意形成を得るための仕組み。

コンセンサス・アルゴリズムには、いくつかの種類があります。

PoW(Proof of Work)
取引を承認するために膨大な計算によって合意形成を行います。計算に成功すると、取引データがブロックチェーンに追加されます。そして、この計算を最初に成功した人には、成功報酬(マイニング報酬)としてビットコインが与えられます。このアルゴリズムを採用している代表的な仮想通貨としては、ビットコインやライトコインがあります。
PoS(Proof of Stake)
仮想通貨の保有量に応じてブロックの承認率を決定します。マイニングに成功したマイナーは、次回の承認率を下げるなどしてマイニングの難易度を調整できます。ただし、資産を多く持つ人がブロックを承認しやすくなるため、中央集権化の課題が指摘されています。このアルゴリズムを採用している代表的な仮想通貨としては、イーサリアム 2.0 があります。
PoI(Proof of Importance)
PoS の中央集権化の課題を回避するため、保有量のほかに取引回数等を考慮し、保有量と流動性を配慮したコンセンサス・アルゴリズムです。このアルゴリズムを採用している代表的な仮想通貨としては、XEM があります。
PoC(Proof of Consensus)
他のコンセンサス・アルゴリズムとは異なり、管理主体(リップル社)が存在する中央集権型のコンセンサス・アルゴリズムです。リップル社が管理するバリデーター(承認者)による多数決によって合意されます。このアルゴリズムを採用している代表的な仮想通貨としては、XRP があります。
Point!

コンセンサス・アルゴリズムにはいくつかの種類があり、それぞれにメリット・デメリットが存在する。また、仮想通貨によって採用されているコンセンサス・アルゴリズムは異なる。

ブロックチェーンの種類

ブロックチェーンの種類には、大きく分けてパブリックチェーンコンソーシアムチェーン、そしてプライベートチェーンの3種類があります。

パブリックチェーン
データがすべて公開された状態で、不特定多数のマイナーによって管理されているタイプのブロックチェーンです。ブロックチェーンは非中央集権の思想があるため、ブロックチェーンの多くはパブリックチェーンに属します。
コンソーシアムチェーン
パブリックチェーンとプライベートチェーンの中間に位置するブロックチェーンです。コンソーシアムチェーンは、特定多数の運営者によって非公開なデータが処理されます。
プライベートチェーン
特定の管理者が存在するタイプのブロックチェーンです。プライベートチェーンは、特定の管理者によって非公開なデータが処理されます。
Point!

ブロックチェーンの種類には、パブリックチェーン、コンソーシアムチェーン、プライベートチェーンがある。ただし、ブロックチェーンは非中央集権の思想があるため、多くはパブリックチェーンに属する。

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

ブロックチェーンのメリットは、サーバダウンが発生しないこと(ゼロダウンタイム)や、データの改ざんが非常に困難であることが挙げられます。従来の中央集権的な仕組みでは、サーバや管理者に問題が発生した場合にはシステム全体が影響を受けます。しかし、ブロックチェーンの仕組みでは、そのような問題を解決できるため、大きなメリットがあります。また、データの破壊や改ざんができない点についても、公的な記録を残したい場合には大きなメリットになります。

ただし、ブロックチェーンにもデメリットはあります。それは、データを消せない点、合意形成に時間がかかる点、取引データが肥大化する点です。

まず、データの破壊や改ざんができない点はメリットですが、逆にデータが消せない点はデメリットにもなり得ます。例えば、個人情報など本人の求めに応じて削除しなければならない場合、ブロックチェーンでは仕組み上、削除することはできません。

次に、ビットコインで採用されている PoW の場合、1回の合意形成には 10 分程度の時間がかかります。クレジットカードが多くの決済を毎秒処理できていることを考えると、ブロックチェーンの合意形成(決済完了)にかかる時間はとても遅いと言えます。合意形成に時間がかかっても良いサービスであれば問題ありませんが、決済処理速度が求められるサービスではデメリットになります。

最後に、ブロックチェーンの利用が普及すると、トラフィックと取引履歴のデータ量は増えていくため、次第に取引データが肥大化していきます。今後、あらゆる分野でブロックチェーンが利用されることになった場合、コンピュータやネットワークの処理速度では対応できなくなるリスクがあります。

0
SHARE
Twitter
@murashun
お問い合わせ
murashun@gmail.com
ご質問(マシュマロ)
https://marshmallow-qa.com/murashun
ご支援(Stripe)
https://checkout.stripe.com/