2018年8月6日

ブロックチェーンは儲かるのか〜ハッシュとマイニング|マンガでわかるブロックチェーン【第3回】

ブロックチェーンは儲かるのか?ハッシュとマイニングについて漫画で解説します。


(企画・原作:森一弥 作画:佐倉イサミ

◀ 一つ前のお話「マンガでわかるブロックチェーン【第2回】電子マネーやポイントとなにがちがうの?〜仮想通貨とポイント」はこちら


ブロックチェーンは儲かるのか〜ハッシュとマイニング


秋葉原でバイトしている友達に聞いたんですけど、マイニングってお金儲けの手段なんですか?
まぁ、そういう側面が無いわけじゃない。
マイニングはブロックチェーンを支えている有志がやっている作業のことで、その作業に対する報酬がブロックチェーンっていう仕組み自体から支払われてるんだ
割の良いお仕事なんですか?
必ずしもそうとは限らないんだけどな。とりあえず仕組みを説明する。
ブロックチェーンってのは、ブロックがつながっているからブロックチェーンって呼ばれているって話はしたよな。ブロックってのは情報の単位みたいなものなんだけど、そのブロックの中身は、概要が書いてあるヘッダと、入金とか出金とかの取引が書かれているトランザクションに分かれてるんだ。
タイトルと本文って感じですか?
まあそんな感じ。一つのブロックの中のヘッダには「前のブロックのヘッダのハッシュ値」が含まれている。前回のあらすじみたいなもんかな。毎回、前回のあらすじが入っててブロックが全部つながってるので、ブロックチェーンって呼ばれるわけ。

つながっているからチェーンっていうのは前に勉強しました!
トランザクションには世界中の人が行っている取引がたくさん書き込まれている。取引っていうのは、AさんからBさんにいくら送金する、みたいなものを想像してもらえば大体あっている。
たくさん?上限は決まっていないんですか?
そうだな。例えばビットコインの場合は一つのブロックがだいたい10分に一回できているから、その間に取引きされた数にもよるし、ブロックのサイズの上限もある。
なるほど…。
たくさんある取引は、ひとつひとつハッシュに変換される。そして隣り合った取引のハッシュをつなげて、それを元データにしてさらにハッシュ値に変換する。繰り返していくとトーナメント表みたいなイメージになる。分かる?

そして最後に残るハッシュ値をブロックのヘッダに入れる。やり方はややこしいけど、今回のブロックに含まれている取引の概要みたいなものだな。

トーナメント表で「優勝」の部分に入っているハッシュ値がブロックのヘッダに入るんですね。
まぁ、そんな感じ。ここまでの説明で、ヘッダには前回のあらすじと、今回の概要が入っているってわかったかな?

で、さらに、ヘッダの中に入っている前のブロックのハッシュにはルールがあるんだ。特定の数字以下じゃなきゃいけないっていうルールがね。だから元のデータをちょっと書き換えて、ルールにうまく合うように延々繰り返さなきゃいけないわけ
データを書き換えられちゃうんですか!?改ざんできないのに?
よく覚えてたな。
前回のあらすじも、今回の概要も書き換えられないから、実はブロックの中のヘッダに、このために任意に書き換えられる領域が用意されている。この場所を「Nonce(ノンス、またはナンス)」と呼んでいるんだけどね。ハッシュの値が期待通りになるようなNonceを見つけることを「マイニング」っていうんだ
へー。誰かがハッシュ値を出す計算を繰り返しているってことですか。
そう。マイニングをやっている人たちのことを「マイナー」っていうんだけどね。計算をものすごくしている。電気代もかかる。ビットコインだとこのNonceを見つけるまでの時間がだいたい10分になっているので、ブロックができるまでがだいたい10分ってこと。
じゃあ運良く早く見つけられれば、ブロックができるあがる時間は10分以下になるんですね。
そう。さらに、コンピュータの性能が上がると、ハッシュ値の「特定の数値以下」ってルールも変わって、より計算が難しくなるので今までよりも時間がかかる。計算の難しさが調整されて、だいたい10分になるようになっている。
へぇー。でも、マイニングをすると儲かるっていうお話は……?
みんなにNonceを探してもらいたいけど、そのためにはモチベーションがないといけないからな。マイニングしている人たちは、トランザクションの最初に一つだけ自分宛ての取引を入れて良いことになっているんだ。今だと、12.5BTC入れて良いことになっている。

それが報酬なんですね !でも12.5BTC(ビットコイン)っていくらなんだろ?
……って、え!?、ええー!?
そ。結構な金額だろ。世界の誰かが10分に一回ぐらいそれだけの報酬を得ている。でも俺達の手元にあるようなPCだと何百年もかかる計算らしいぞ。電気代もすごくかかる。電気代が安い国でやるのが理にかなっているな。
そーなのかー、ざんねん。
ビットコインみたいなメジャーな仮想通貨以外でマイニングするって手もあるけど、やっぱり専用のコンピューターが必要だったりもするし、あんまりおすすめはしないよ。
…わかりました。
最近だと太陽光発電の余った電力でマイニングしようとか、いろいろ考えられているみたいだな。ちなみに、今説明してきたNonceを探す方法を「プルーフ・オブ・ワーク」っていうんだ。ま、あんまり詰め込んでもあふれそうだしな、今日のところはこんなもんだろ。
あうー。ありがとうございましたぁ。。

〜 自席への帰り道 〜

今日のはすごく専門的で難しかったけど、ブロックチェーンの仕組みがだいぶわかって来た気がする…!
ふむ。なかなかためになるセミナーじゃったな。。ホントにわかったのか?
難しい計算をした人が報酬をもらえるんだよね。そしてその人達がブロックチェーンを支えているのはわかったよ。
ふむ。その理解で合ってそうじゃの。
う、うん… まだちょっと不安だからもうちょっと自分でも調べてみるよ。なんだか分かったと思ったら急にお腹がへってきちゃった!
おー、セミナー終わったくま?今晩時間ある?
あ、長くまさん、お疲れさまです。今晩ですか?
時間あるなら、とあるレストランに僕の代わりに行ってほしいんだけどー

次回 【第4回】ブロックチェーンの活用例、トレーサビリティってなに? につづく!

◀ 一つ前のお話「マンガでわかるブロックチェーン【第2回】電子マネーやポイントとなにがちがうの?〜仮想通貨とポイント」はこちら

ポイントと用語解説

漫画の原作者である、アステリア株式会社 ブロックチェーン推進室長の森が、今回のお話の概要や会話に登場したキーワードについて簡単に解説します!

ハッシュ


ここではハッシュ関数、もしくはハッシュ値のこと。ハッシュ関数にはいろいろと種類があり、ビットコインで使われているものはSHA-256、SHA-512、RIPEMD-160など。本文の中にもあるように、ブロックチェーン以外でも様々なソフトウェアで使われる基礎技術。

ハッシュ値


データをハッシュ関数にかけて出力される値のこと。SHA-256であれば、256ビットの値が出力される。慣習的に16進数で表記される場合が多いので64文字で表される。

トランザクション


ここでは取引データのこと。単純にAさんからBさんへの送金を表す場合もあるが、複数の人の署名があって初めて送金できる「マルチシグ(マルチシグネチャ)」や、送金ではなくデータを記録する用途として使われる場合もある。

BTC


ビットコインの通貨単位。2017年末〜2018年初頭にかけて、一時的に1BTC=200万円を超えたこともある。なお、小さい単位として「satoshi」が存在している。1 satoshi = 0.00000001 BTC。

Nonce(ノンスもしくはナンス)


ブロックのヘッダに含まれる、ハッシュ値を調整するために設けられた領域のこと。

マイニング


ブロックを作成するため、決められたルール(特定の数値以下にする)に従うハッシュ値を生成するためのNonceを探す行為。特定の数値以下にすることは、ハッシュ値の文頭にゼロがいくつか続くことと同義なので、そう表現される場合もある。特定の数値は難易度と表現される。

プルーフ・オブ・ワーク(Proof of Work)


上記のNonceを探すマイニング行為による、ブロックの生成方法のことをいう。基本的に管理者が存在しない非中央集権型のシステムであるブロックチェーンでは、ブロックの生成をもって、参加者の合意がなされたとみなされる。プルーフ・オブ・ワークは合意形成方法(コンセンサスアルゴリズム)の1つ。他の方法としてプルーフオブステーク(Proof of Stake)、プルーフオブインポータンス(Proof of Importance)などがある。

おまけ

マンガの舞台となっているアステリアではブロックチェーンの技術職を募集中です!
ブロックチェーンの経験がなくてもOK、JavaScriptなどの開発経験とプレゼンを作れる能力を重視します。
詳細はこちらから。よろしくおねがいします!
この記事がよかったら「いいね!」
この記事を書いた人
森 一弥 アステリア株式会社 ノーコード変革推進室 エバンジェリスト。 2012年よりインフォテリア(現アステリア)勤務。2017年3月までは主力製品「ASTERIA WARP」のシニアプロダクトマネージャーとしてデータ連携製品の普及に務め、特に新技術との連携に力を入れる。 ブロックチェーン技術推進の一環として実証実験やコンサルティングなどを実施。ブロックチェーンを活用した株主投票では特許を取得。またブロックチェーン推進協会(BCCC)では技術応用部会を立ち上げ、技術者へブロックチェーンアプリケーションの作り方を啓発している。現在はAIやIoTなど先端技術の調査、普及啓発に努めている。