超簡単に説明!ビットコイン・ブロックチェーンの仕組み【初心者向け】

こんにちは。メーカー営業の佐藤です。

今日は仕事で商流についての打ち合わせをしてきました。
営業マンはただモノを売るだけが仕事ではなく、
どのお客様にどの代理店からモノを販売するか、というような商流の販売戦略、
仕組み作りも重要な仕事です。

どういう風にお客様と繋がるか、ってことですね。

ビットコインもブロックチェーンという繋がりの技術を使っています。
今日は、このブロックチェーンについてお伝えしていきましょう。

ビットコイン暴騰中

ビットコイン、話題ですね。
価格もガンガン上昇中で、現在1BTC=60万円を突破しています。
これは11月に実施される可能性のあるハードフォーク(仕様変更)の影響と思われます。

バードフォークでビットコインが分裂、あらたな通貨が誕生し、
ビットコイン保持者は新通過を貰えるんじゃないかという期待と、
前回、8月の分裂騒動同様の価格変動を予想して、
みんながビットコインを買いに走り、暴騰している状況のようです。

このように非常に盛り上がっているビットコインですが、
その技術の中核はブロックチェーンです。

このブロックチェーンは将来、
色々な事に応用できるのではと非常に注目されていますが、
どのような技術なのでしょうか。

今日はビットコインに使われているブロックチェーン技術について、
できるだけ噛み砕いてお伝えしようと思います。

※わかりやすくする為に一部表現を簡素化しています。

ブロックチェーンの技術とは

ブロックチェーンとは、言葉のまんまの技術です。
「ブロック」が、「チェーン」で繋がっています。

ブロックの中には、
・今発生したビットコインの取引記録=トランザクション
・計算問題=ナンス(nonce)
・前のブロックの要約記録=ハッシュ値

この3つが入っています。
名称未設定アートワーク 2

このブロックがどんどん作られ、ブロック同士がチェーンで繋がっていき、
中に入っている取引記録が、ブロック単位で数珠つなぎに記録されていきます。

ちなみに今のブロックのサイズは1MB(メガバイト)ですが、
2017年11月にハードフォーク(ビットコインの仕様変更)で2MBに拡張される可能性があります。

マイニングとは

このブロックを作る作業が「マイニング」です。
ブロックを作った時に報酬が支払われますので、ビットコインを採掘することに例えて、
マイニング(mining=採掘)と言われます。

ブロックを形成するには、ナンスという計算問題を解くことが必要です。
ナンスを解くとブロックが形成され、マイニング成功となります。

名称未設定アートワーク 3

なお、このナンスという計算問題を解くには、
約10分の時間が必要で、つまり1ブロックできるまでに約10分かかります。

マイニングをする人たちを「マイナー(採掘者)」と呼んでいますが、
マイナーは何人もいて、このナンスという計算問題を解く競争をしています。

名称未設定アートワークその計算競争の中、ナンスを一番速く解いたマイナーがブロックを形成でき、
その報酬として、ビットコインをゲットできます。

ナンスを解く難易度は、都度調整されるようプログラミングされていて、
マイナーのパソコンの性能がアップすると、
計算の難易度も上がっていくようになっています。

この調整により、いつでも計算=マイニングに約10分かかるようになっています。

マイニングには超ハイスペックパソコンが必要

ビットコイン初期は、個人で所有するレベルのパソコンでもでマイニングが出来ていましたが、
マイナーが増え、競争が加熱し、パソコンの性能がとんでもなくアップした今、
マイニングには専用の超ハイスペックパソコンが使用されています。

とてもではないですが、個人パソコンのスペックでは競争に加わることができないレベルになっている状況です。

マイニングに成功すると、現在は12.5BTC(ビットコイン)が貰えます。
今日現在、2017年10月中旬のレートで約790万円です。
すごいですね。
競争が過熱して当然です。

このように、相当な労力をかけて計算問題を解き、
ブロックを作成する作業を、プルーフオブワーク(Proof of work)と呼んでいます。
労力をかけた事の証明、ということです。

プルーフオブワーク(Proof of work)は改ざんの防止策

マイニングで作られたブロックはどんどん繋がっていき、
取引の記録が残っていきます。
取引記録は全て公開されますので、履歴が全て誰でも参照出来ます。

これら取引記録=ブロックチェーンは、
ノードと呼ばれる、ビットコインプログラムのインストールされた世界中のパソコンに記録されていきます。
ノード(パソコン)は数千存在していると言われ、peer to peer = P2Pという技術で繋がっています。

P2Pの技術ではノード(パソコン)が直接繋がって、情報をやり取りします。
通常、銀行などであれば、銀行がデータを1箇所に集めて管理していますが、
P2Pでは集中管理するサーバーやパソコンは存在しません。

集中管理であれば、改ざんや不正、ハッキングを防ぐために、
データの管理場所を強固に守る必要があります。

ではビットコインにおいては、改ざんや不正を防ぐために
それぞれのノード(パソコン)を守る必要があるでしょうか。
そもそも、個人のノードが不正を働いたら、
かんたんにデータの改ざんができてしまうのではないでしょうか。

それを防いでいるのが、先程説明したナンスの計算=プルーフオブワークです。

不正を防ぐ仕組み

データを自分の都合よく改ざんするにも、ブロック内のナンスの計算が必要です。

しかも、1つのブロックを改ざんするだけではダメです。
ブロックチェーンの記録は全てオープンになっていますので、
前後のブロックをも改ざんしないと、取引記録の整合性が取れず、改ざんがバレます。

さらに、ブロックを改ざんするにもナンスを10分かけて解かなくてはなりません。
どんな超ハイスペックパソコンを使っても10分かかります。

改ざんしたいブロックの後ろにブロックチェーンが10個つながっている状況であれば、
10個のブロックのナンスを全て解いて、
10個のブロックを全て改ざんして帳尻を合わせなくてはいけません。

つまり、改ざんするためにもとんでもない労力がかかります。

改ざんして、ナンスをひたすら計算していく間にも、
正規の取引記録のブロックがどんどん伸びていきますので、
それを追い越して最後のブロックまで改ざんするには大変な労力になります。

自分以外のマイナーの能力を大幅に上回っていないと、ブロックの伸びに改ざんが追いつきません。

不正を働こうとしても割に合わないプルーフオブワーク

そもそも、ブロックチェーンの改ざんが実行できるパソコンのパワーを持っているのであれば、
普通にマイニングして、他のマイナーにナンス計算競争で勝利し、
正規にビットコインをゲットするほうが効率的/合理的です。

プルーフオブワークの労力=仕組みにより、
改ざんを防ぐというよりは、改ざんを諦めさせています。

とんでもない労力をかけて悪事を働くより、
正しいことに労力をかけたほうが実入りが大きい、という状況を作り出しているのです、

プルーフオブワークを考案したSatoshi Nakamotoってすごいですね。

この技術によって高い信頼性を得ているビットコインは、
将来のデジタル通貨として非常に期待されており、
その中核技術であるブロックチェーンも同様に注目されているのです。