TOP
47.03score

裏技君_

スポンサーOvertex

なぜなにProof of Work

前回の続きだよ。

このBを1000個作り、A’のハッシュ値を持つBを特定し、インターネットのファイルと共にアップロードすれば、
Aのファイルを騙ったBのファイルをインターネット上に置き、Aのファイルと勘違いさせることが出来る様になります。
つまり、10bitのハッシュアルゴリズムだけでは、1000個のファイルを作るだけで突破されてしまうのです。
1000個って手作業だと死ぬほど大変そうですが、適当なプログラムを組み込んで自動生成したら1秒くらいで解かれちゃいます。
こんな感じで、存在する可能性のあるハッシュは10bit、1024通り以上の強度は保持出来ません。
しかし、ハッシュアルゴリズムは1bit増やすだけで、ハッシュ強度が倍に強化されます。
後は簡単、プログラムで大量に生成しても間に合わないくらいのハッシュ強度を実装すれば良いのです。
つまり、ハッシュを256bitまで増やして1.158e+77通りのハッシュ可能性を作れば良いのです。
(10^77は77-68(無量大数)=9(億)、ってことで12億無量大数らしいよ!すごいね!ちなみに12倶胝っていうらしい)
これでさっきのプログラム自動生成機に突っ込んでも、なんかこう、12億無量大数を1000で割った秒数くらい計算が必要になります。
多分、現代の計算機能力だと宇宙誕生から宇宙の終わりまで計算しても追いつかないと思います。
ここを覚えておくと、仕事証明の理解がグっと楽になります。

さて、仕事証明では実際にこの「ハッシュの強衝突の真似事」を延々と行っています。
別にハッシュ値の全部を当てるようなことはやっていません。
具体的にはハッシュ値の先頭から何個ゼロが続いているかを延々と競っています。

マイニングされたブロック 24/09/2017


こちらのサイトを見ると分かりやすいかも。
ハッシュの値を見ると、16進数表記でゼロが17個並んでいますね。あとその直後の数値も7以下の物が並んでいます。
これは2進数表記で70個のゼロが並んでいるのと同じです。
70bit分のハッシュ値を衝突させると言うことは、118059京分の1ですね。
これを力業で、さっき言った「Bのファイルを1000通り」の手法をそのまま使って、みんなで競い合っている訳です。
採掘者達は10分間に「Bのファイルを118059京通り」作っちゃってる訳です。
118059京通りの全てを見なくても、ハッシュの特性さえ分かっていれば、
ハッシュ値からAを予測することや、A’のハッシュを持つBを気軽に作れないことが全員分かるため、
Bのハッシュがゼロ70個であることを確認するだけで、その人の仕事量を測ることが出来ます。

これが仕事証明の基本です。

.

最終更新日:2016-03-25 05:56

コメント (0)