ブロックチェーン

【基礎】ブロックチェーンの仕組みを分かり易く解説!

【基礎】ブロックチェーンの仕組みを分かり易く解説!

2017年、話題沸騰になりました仮想通貨。注目の集まった理由は、色々とありますが、特に重要視する必要があるのが、革新的技術であるブロックチェーン(BlockChain)と呼ばれる技術に支えられている事です。

そこで、今回は、ブロックチェーンの基礎を中心に、分かり易く解説します。

※ブロックチェーンは用途によって、少し構成が変わります。今回、解説するブロックチェーンは、ビットコインなど仮想通貨に利用している構成になります。

ビットコインは、以下の記事で解説しておりますので、ご覧下さい。

ブロックチェーンとは?

ブロックチェーン=皆で管理する台帳

ブロックチェーンとは、分散型取引台帳と呼ばれる新しい技術です。

分散型取引台帳とは、その名の通り、取引台帳分散する事を指します。

往来であれば、決済履歴などの取引データは、

・銀行(中央管理者)>ユーザー(利用者)

で管理しておりましたが、ブロックチェーンでは、

・ユーザー(管理者兼利用者)=ユーザー(管理者兼利用者)

の様に、ユーザー同士でオープンに管理する事が出来ます。

P2Pネットワーク

ユーザー同士で管理している点を、もう少し深く解説します。

ブロックチェーンは、ユーザー同士で管理する為に、P2Pネットワーク(Peer to Peer)構成を採用しています。

P2Pネットワークの解説に入る前に、現在主流の中央管理型ネットワーク構成を確認しましょう。

中央管理型ネットワーク構成は、データを管理しているサーバーに、ユーザーがアクセスする構成です。

この場合、データを管理しているサーバーに問題が発生した場合、ユーザーはアクセス不可になるリスクがありますが、このリスクを解消出来るのがP2Pネットワーク構成です。

 

P2Pネットワーク構成とは、ネットワークに参加しているユーザー同士で管理する構成です。中央管理型の様に、データを管理しているサーバーが存在しない代わりに、ネットワークに参加しているノード(ネットワークに参加している端末)のマシンパワーを借りて、データを分散し保管する様にしています。

これにより、どのマシンに問題が発生しても、他のマシンで分散管理しているので、アクセス不可などの問題も発生しません。

 

そして、ブロックチェーンは世界中のマシンパワーを借りて、分散管理しているので、運用リスクを大幅に削減する事が出来ています。

ブロックチェーンのデータ記録方法

前項でブロックチェーン(P2Pネットワーク)は、

・ブロックチェーンには、中央管理者が存在しません

・その代わり、ユーザー同士で管理している

と述べました。

では、どの様にユーザー同士で管理しているのか?疑問に思うと思います。その疑問を解決するには、ブロックチェーンのデータ記録方法を知る事が1番の近道です。

 

ブロックチェーンは名前からも想像出来ますが、ブロックを鎖状に繋げ記録しています。

ブロックの中身には、

・前ブロックのハッシュ値

・Nonce(ナンス)値

・取引データ

と呼ばれる値が含まれています。

順番に解説します。

ハッシュ値

ハッシュ値とは、データを変換し固定長の値に変換した値の事を指しています。

 

例えば、1234と数字を入力し、これをハッシュ値に変換すると、

03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4

になります。上記のハッシュ値は、ビットコインで使用されるアルゴリズム「sha256」のハッシュ値です。

 

ハッシュ値は、1文字でも変わると、全く違うデータに変わりますので、取引データを改ざんされた場合、ハッシュ値も変化する事で、容易に改ざんされた部分を特定出来るメリットがあります。

Nonce値

Nonceとは、Number used onceの略で、日本語で「一度だけ使われる数」という意味です。

Nonce値は、ブロックチェーンに多数あるブロックを、唯一無二のブロックにする役割があります。イメージとしては、社員番号になります。

Nonce値の選定方法は、

・前ブロックのハッシュ値

・取引データをハッシュ値に変換した値

を足して、ある一定の値以下になるNonce値を発見しなければ、Nonce値として認められない様になっております。条件に合うNonce値を発見するには、膨大な計算処理を行う必要があるので、世界中のノードで分散し行なっています。

そして、ハッシュ値とNonce値が決まると、仮のブロックが形成されます。

この段階では、ブロックチェーンに正式なブロックとして、生成される訳では無いので、次のステップであるPoW(Proof of Work)へ移行します。

PoW通過後、初めてブロックチェーンに、正式なブロックとして生成される事になります。

※以下の記事で、PoWの概要を解説しておりますので、ご覧下さい。

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

ここまで読んでいただけると、ブロックチェーンへのイメージが少し出来たと思います。

次の項では、ブロックチェーンのメリットとデメリットを解説していきます。

メリット

コスト削減

例えば、銀行の場合、ユーザーがお金を預けたり、引き出したりするには、銀行を通して行う事になります。

ですが、ブロックチェーンでは、銀行の様に、中央管理者が存在せず、ユーザー同士でオープンに管理しているので、銀行に比べ、低コストで運用する事が可能になります(サーバー費、人件費などの削減)。

また、銀行など、中央管理者が存在すると、

・管理者不在(銀行営業日外)=取引不可

になりますが、ブロックチェーンは24時間稼働しているので、場所・時間に縛られずに、取引する事が可能です。

この様な観点から、今後ブロックチェーンが、より世界に浸透すると、銀行が不要になる日もあるかもしれないと考えられています。

セキュリティー向上

ブロックチェーンでは、不正を行う事は不可能とされており、仮に、不正が発覚したとしても、ユーザー同士でオープンに管理しているので、すぐに特定出来るなどのメリットがあります。

また、中央管理型ネットワークの場合、障害が発生し復旧するまでの間、ダウンタイムが発生しますが、ブロックチェーンでは分散しデータを管理しているので、この様な事態にはなりません。要するに、24時間365日安定し稼働する事が出来ます。

デメリット

51%問題

ブロックチェーンの重要な問題と考えられる51%問題。これは、PoWを採用している以上、発生する可能性は0とは断言出来ません。

PoWでは、

1.ブロックを仮生成(未承認)

2.他のノード(コンピューター)が承認出来るか検証

3.検証後、問題無ければ承認

4.ブロックチェーンに、承認後の正式ブロックを生成

これを繰り返しています。

 

この場合、承認するノードの割合が51%以上であれば、正式ブロックとして承認されますが、この51%以上が悪意のあるノードであればどうでしょうか?

 

通常であれば、

1.悪意のあるブロックを作成(未承認)

2.他のノードで検証

3.不承認

4.新たに違うブロックを生成・・・

になりますが、

 

悪意のあるノードの割合が51%以上存在すると、

1.ブロックを作成(未承認)

2.他のノードで検証(悪意のあるノードが全体の51%以上存在)

3.半数を超えてしまう為、承認されてしまう

4.ブロックチェーンに、悪意のあるブロックが生成されてしまう

この様な展開になってしまいます。

 

ブロックチェーンに参加している割合の内、51%以上悪意のあるノードを集める事は不可能だと考えられていますが、可能性が0では無いのが現状です。

容量の問題

ブロックチェーンは、過去のブロックに変更を加えると、連鎖的に他のブロックにも影響する為、現状は作る事しか出来ません。

これは、1度生成されたブロックは消えないが、次々にブロックは生成されるので、ブロックチェーン全体の容量が膨らんでいく一方です。そして、容量の空きが無くなる可能性があるのでは?と問題になっています。

ブロックチェーンは進化の途中

如何でしたか?

今回は、ビットコインなど仮想通貨に使用されているブロックチェーンを中心に紹介しました。

また、今後は、金融は勿論

・医療

・ゲーム

・政治

など多様に利用されていくと思いますので、ブロックチェーンについては、今後も更に理解を深める事が重要だと思われます。

ブロックチェーンの今後については、以下の記事で解説しておりますので、1度目を通していただけると嬉しいです!