マイニングラボ:元数学教員がブロックチェーンにおけるハッシュ関数(ナンス)を独自解釈してみた結果



どうも、彫師衆が一人、影さんこと彫影(仮)です。よろしくお願いいたします。
彫師の電さんと共に、不定期でラボの広報を務めます。

マイニング、流行っていますねぇ。かくいう私も今まで「仮想通貨」というワードは聞きしも、自分が携わることのないどこか遠い世界のことのように感じていたのですが、ひょんなことから縁もあり、このラボの一員として迎えてもらうことになりました。
 別の畑からジョブチェンジした身であり、素人ながら仮想通貨について調べるうちに、なかなかどうして面白いじゃないかと興味を持った次第です。

さて、このラボの名前にもなっている「マイニング」ですが、どういったものなのか。実は、私の前職は数学の教員でした。仮想通貨事業に携わることになり、数学の知識を活かして自分なりにマイニングの仕組みを解釈してみたので、挨拶代わりに記してみようと思います。もちろん、これは独学の解釈であり、細かい間違いもあるかもしれないことを前置きして保険をかけておきます。
 すでにマイニングに精通されている読者の皆様には耳タコで、あんたの言うことなんざ知ってるわと思うかもしれませんが、どうかお耳汚しを許してください。

ハッシュ関数について

何それ、教科書で見たことない!? これが第一印象です。まぁでも、関数というからには変数(xやyみたいな)で構成された式なのでしょう。えーっと、何々? ハッシュ関数とは、どんな値を代入しても決まった桁数になり、かつ不可逆的な一方通行な16進数で構成された関数のことらしいです。・・・お、おぅ;
 いや、もう少し頑張ってみよう。そんで、マイニングで行われているのは、直前のブロックチェーンから算出されたハッシュ値にどの数値を加えれば、採掘難易度により指定された値以下のハッシュ値が導き出せるか。その数値(ナンス)を見つけ出す作業かぁ。授業中、脱落して居眠りする生徒の気持ちが分かりますわ。
 それでも完全についていけなかったわけではありません。ちょいと文字式を使って置き換えてみます。

 問.2+ ≦5 この不等式を満たす数字は何か?

本当は、数字じゃなくて実数とかが良いんでしょうけど、別に数学の授業じゃないのでアバウトにいきましょう。(笑) これは楽勝ですね、3以下の適当な数字入れれば正解です。
 極端な例ですが、こういう値を見つける作業なんでしょうね。では、次の問題いってみますか。

 

写真
問.x2 – x – 2 ≦0 を解くと?
はい、この時点でグラフ嫌いな人はギブアップしそうですね。
本当なら、図も因数分解した式も付けず出題しますが、別に数学の授業じゃないので 以下略)
答えとして、x に代入できるのは、-1以上2以下の数字です。
確かめ方は簡単で、その数字を代入して計算結果が0以下になればいいんです。

 

で、結局何が言いたいの?
 はい、おっしゃる通りです。結論を言うと、要は例題と同じことをハッシュ関数でも適用してやればいいんです。

問.「0e95fd5c4r~」+ ≦「0000000a1~」
 この不等式を満たす数字(ナンス)は何か?

こういうことなんですよ! いやぁ、納得しました。・・・え?回りくどいって?
 私は一言も分かりやすく解説する、なんて言ってませんよ。ただ、独自解釈した内容を記しているだけですので、悪しからず。笑)
 もう一つ付け加えるならば、ハッシュ関数はその他の式同様、答えが正しいか確かめるのは簡単なんです。何せ、代入するだけですから。
 ただその逆、この答えを人の手で探し出せ言われたら、まず無理です。だからこそ、マイナーの方々はGPUやASICを駆使して計算していくんですな。

ちなみに、このハッシュ関数は不可逆的な性質で、逆算して元の内容を割り出すことができない暗号セキュリティ機能まで搭載しているため、ブロックチェーン以外にも使われているとか。
 マイニング成功による報酬制度も絡めて考えると、この労働意欲を上手いこと制御するシステムは、月並みな感想ですが、よく形作られているなと思いました。
 まさに、「電子業界の産業革命やー!w」・・・忘れてください。

とにかく、ルーキーながら私もラボの一員として、鋭意活動していく所存です。次回は、データセンター内の様子もアップしていこうと考えています。長くなりましたが、ご精読ありがとうございました。
 (どうでもいい余談ですが、電さんや私こと影を始めとする彫師衆は、仮想通貨でランダムに連想されたワードを、名に冠しています。こういう遊び心も大事ですよね。笑)

最新情報&掲示板

メールアドレスが公開されることはありません。