1.はじめに
「ブロックチェーンって結局何なの?」
これは1か月前までの私の心の声です。
昨今よく「ブロックチェーン」という技術を耳にしますが、名前こそ聞いたことあれど、どういった技術でどういった分野に活用できるものなのかはさっぱりわかりませんでした。
調べてみたところ今までにSIerの経験をある程度積んでいる人なら理解できそうなものは多く見つけられたのですが、初心者にはハードルが高いなと感じるものも多々あったので、今回は私がこの一か月間で調べた内容をもとに、簡単に概要を説明できたらと思います。
#2.ブロックチェーンとは?
ブロックチェーンとはつまり、分散型ネットワークを構成する複数のコンピュータに取引内容などのデータを同期して記録させることにより、耐障害性に優れ、データの改ざんが困難なシステムを構築する手法のことです。
以下に詳細を記載していきます。
##2-1.成り立ち
もともとブロックチェーンとは、ビットコインを支える中核の技術として生み出されたアイデアです。
ビットコインが世に知られるようになるのと共にブロックチェーンの技術も知られるようになり、仮想通貨のみならず他の分野でも応用できるのではないか?と考えられ世に広まっていくようになりました。
##2-2.特徴
なぜ様々な分野で技術が利用されるようになってきたのか。それには以下のようなブロックチェーン技術の特徴が大きく関わっていると考えられます。
- 耐障害性が高い
- 改ざんが困難
上記がブロックチェーンの大きな特徴のうちの2つとなりますが、なぜこの技術を実現させることができるのかについては次項にて記述します。
##2-3.仕組み
分散型台帳技術
ブロックチェーンの技術は**「分散型台帳技術」**と呼ばれています。これは「P2P(ピアツーピア)方式」とも呼ばれていて、一般的なインターネット通信方式であるクライアント-サーバ型のような、管理者が存在するサーバによってシステムが管理され、データがデータベースに記録されるようなものとは異なり、コンピュータ同士が直接つながることで通信することができ、つながっているコンピュータ自身がそれぞれ管理者の役割をするような技術となります。
この、直接つながれているコンピュータの一つ一つがそれぞれ「ブロック」と呼ばれ、チェーン状につながっていることからブロックチェーンと呼ばれるようになりました。
図の引用元:【レッスン④】ブロックチェーンって分散型データベースと何が違うの?
###2-3-1.耐障害性が高い
ここで2-2で述べた「1.耐障害性が高い」の特徴がなぜ実現できるのかという話になるのですが、単一障害点がないというのが大きな理由となります。
すべてのブロックにおいて同一の取引内容(トランザクションと呼ばれています)を保持しているため、どこか一つのブロックで障害が発生したとしても、その他のブロックでカバーができるため耐障害性が高い技術となっています。
###2-3-2.改ざんが困難
ブロックを構成する要素は大きく分けて以下の3つがあります。
- 取引内容
- 前のブロックのハッシュ
- ナンス
ブロックがチェーン状につながっていることがブロックチェーンと呼ばれる由来であることは前述のとおりですが、ブロックのつながり方のイメージは以下の通りです。
「ナンス」というのは、ブロックチェーンの仕様によりハッシュ値のルール(「ハッシュ値の上位3桁が000である」など)が設けられている際に、その条件にあったハッシュ値を算出するために必要となる値のことを指しています。
この条件に合ったハッシュ値を算出できるナンスを探すことを「マイニング」と呼ぶのですが、条件に合うハッシュ値が算出するまで値を総当り的に探す必要があり極めて労力がかかるため、基本的にはマイニング業者というマイニングをするための業者に作業を委任しています。
さてここでなぜ2-2で述べた「2.改ざんが困難」な特徴を実現可能なのかという話になります。
例えば、一つのブロックの取引内容の改ざんを行ったとします。
この際「前のブロックのハッシュ」および「ナンス」は変わっていないわけですから、ハッシュ関数は入力されるデータが1文字でも異なれば全く異なるハッシュ値を算出することになりますので、改ざんを行ったブロックのハッシュ値は次のブロックに保持されているハッシュ値と異なるものになってしまいます。
よって、ハッシュ値の整合性が取れなくなり、すぐに改ざんを行ったことが発覚します。
改ざんが発覚すると、他の51%以上で使われている正しい情報に切り戻す処理が発生します。
このことからデータの改ざんが困難であるため改ざんを防止することができる技術となっています。
図の引用元:ブロックチェーンの仕組みとは?図解で知る基礎知識
#3.まとめ
ブロックチェーンとは、、
- ビットコインを支える中核の技術として生み出されたアイデアである
- 一つ一つのコンピュータ同士が繋がることでそれぞれが管理者の役割を果たし、耐障害性が高い技術となっている
- 新しいブロックが作られるときにはその前のブロックのハッシュ値を含めて作成されるので、改ざんが困難な構成となっている
#さいごに
今回はブロックチェーンの概要についてまとめてみました。
私自身調べていく中で、わかりにくい表現があり自分の中に落とし込むのに時間を要したものもあったので、わかりやすい表現を心がけて書いてみました。
わかりやすさを追求した結果、かなり端折っている箇所もあります。以下に本記事を書く際に参考にしたサイトを記載しておきますので、そちらも読んで理解を深めていただければと思います。
この記事が皆さんのブロックチェーンの勉強のきっかけになれば幸いです。
それではまた。
#参考
ブロックチェーン(blockchain)の基礎知識
【レッスン④】ブロックチェーンって分散型データベースと何が違うの?
ブロックチェーンの仕組みとは?図解で知る基礎知識
ブロックチェーンの仕組み 〜初心者のためのわかりやすい解説〜
4枚の図解でわかるブロックチェーン技術