ビットコインの暗号化:ハッシュ関数の 5 つの特徴とマイニングの原理

ビットコインの暗号化:ハッシュ関数の 5 つの特徴とマイニングの原理

ビットコインは世界で初めて成功した暗号通貨であり、これまでの試みでは通貨に関するさまざまな問題をビットコインほど効果的に解決したものはありません。

ビットコイン自体は暗号技術の発展の産物であり、「一方向ハッシュ関数」とデジタル署名という暗号技術における非常に重要な 2 つの技術を使用して構築されています。今日は、一方向ハッシュ関数の 5 つの重要な特性と、ビットコインのマイニングに関連する技術的原理について説明することに焦点を当てます。

まずハッシュ関数の特性について説明しましょう。

一方向ハッシュ関数(一方向ハッシュ関数)は、一般的にハッシュ関数とも呼ばれます。

最初の特徴:入力は任意の長さにすることができ、出力は固定長である

ハッシュ関数は、入力情報が何を表しているかを知る必要はなく、情報の長さも重要ではありません。ハッシュ関数への入力が固定長のビット値で出力される限り。例えば、有名な SHA256 ハッシュ関数では、任意の値を入力すると、出力は 0 と 1 の 256 ビットになります。『三国志演義』のコピーや文字 a だけを入力すると、出力は 256 ビットのデータになります。

2つ目の特徴:ハッシュ値の計算が高速化される 

この点は誰もが見落としがちな点であり、慣れていることなのであまり気に留めていないようです。実際、この点も同様に重要です。一方向ハッシュの計算は非常に高速であり、暗号化や検証の速度を確保できるためです。

3つ目の特徴は、耐衝突性です

X≠y、H(x)=H(y) 入力空間は出力空間よりもはるかに大きくなります。たとえば、256 ビットのハッシュ値は、出力スペースが 2^256 であることを意味します。入力は無限に可能であり、出力は固定長です。

しかし、現在のところ、H(x)が右側の値と等しくなるようなxを見つける良い方法はありません。

この値を見つけるためにすべての入力を反復処理することをブルートフォースクラッキングと呼び、これがマイニングマシンにおける「ハッシュ衝突」という用語の由来となっています。

ハッシュ衝突防止の目的は、アップロードされたデータとダウンロードされたデータが同じであることを保証することですが、少しでも変更されると、結果は大きく異なります。例えば、入力した情報が「紅楼夢」という本(もちろんコンピュータは0と1として認識します)だったとして、「紅楼夢」の100ページ目の5番目の文のカンマをピリオドに変更すると、出力されるハッシュ値はまったく異なるものになります。これはハッシュ関数の非常に重要な特性です。

しかし、衝突抵抗が発生しないという数学的証明は現在のところありません。 MD5 が最も良い例です。以前は非常に安全でしたが、後にそれを破る方法が見つかりました。

4番目の特徴:隠れたり一方通行になったり

ハッシュ関数の計算プロセスは一方向かつ不可逆です。 xはH(x)を推測するために使用できますが、それを逆方向(一方向)に推測する方法はありません。つまり、ハッシュ値は入力xの情報を明らかにしません。つまり、x の情報は隠されており、x も隠されています。

入力空間は十分に大きく、値が均一でなければならないため、ブルートフォースによる解読は困難です。

3 番目と 4 番目の特性を使用して、非常に興味深いアプリケーション シナリオを作成できます。

たとえば、何かを予測するなどです。現実の世界では、予測と結果の間には微妙な関係があることがよくあります。例えば、三国時代、曹操は当時の人物鑑定の専門家であった許紹を訪ね、自分がどのような人物であるかを尋ねました。許紹は曹操について「平時には有能な大臣であり、混乱時には裏切り者の英雄であった」と評した。彼の評価が正確であったかどうかを言うのは難しい。おそらくこの発言が曹操の心理に影響を与え、曹操はこの方向に発展し、それが自ら検証した予言となったのであろう。そのため、予測が本当に正確であるかどうかを判断するのは困難です。

もっと簡単な例としては、影響力のある株式アナリストが、株価が明日上昇するかどうかを今日予測するというものがあります。そして、彼が通貨の価格を公表すれば、通貨の価格に影響を与える可能性があります。

では、彼が本当に正確であることをどうやって証明するのでしょうか?株の検討情報は紙に書いてもらったり、パソコンに保存してもらったりしますが、翌日の市場が開いた後に内容を密かに変更できないことが条件なので、予想が株価に影響する心配はありません。今や残されたことは、彼がすでに書いたものを改ざんしていないことを確認することだけだった。

次に、ハッシュ アルゴリズムを使用できます。予測結果(情報)はxです。 x にハッシュ関数を適用し、ハッシュを公開し、翌日の終了時に x をリリースします。昨日のデータを変更すると、ハッシュも変更されます。誰でもハッシュを使用してこの x を計算し、昨日発表されたハッシュ値と比較することができます。

実際には、実際の入力空間はそれほど大きくなく、入力は十分にランダムではありません。このxを見つけるために、上昇や下降などの語彙文を組み合わせて並べる人がいるのではないかと心配です。セキュリティ確保のため、ノンス乱数が追加されます。式は以下のように表されます。

H(x丨丨nonce) nonceは乱数である

これは、予測結果情報 x の後に乱数を追加し、ハッシュをまとめることを意味します。

5番目のポイントパズルに優しい

つまり、x を見ると、H(x) が何であるかが分からないということです。入力データから出力がどのようになるか判断することは不可能です。つまり、入力情報がわかっていても、出力ハッシュ値が何であるかを一目で知ることはできません。このパズルの親しみやすさは、入力値 x を制御しても目的の出力値 H(x) を取得できないという点に価値があります。

そのため、隠蔽性とパズルのしやすさという 2 つの特性を組み合わせると、入力情報はわかっていてもハッシュ値がわからない場合は、すぐに計算できますが、事前に判断することはできません。ハッシュ値がわかっても、入力値が何であるかはわかりません。逆計算は非常に困難で、ブルートフォースでしか解読できません。

したがって、出力値を特定の値未満など特定の範囲内に収めたい場合、コンピューターは答えを 1 つずつ推測して、どの入力が目的の範囲内に収まる出力値を生成するかを確認することしかできません。

最初の K ビットが 0 のハッシュ値を取得したいのですが、先頭にこれほど多くの 0 がある x をどうやって取得したのかわかりません。

マイニングとは、この乱数である nonce を見つけることです。

H (ブロックヘッダー + nonce ) ≤ ターゲット

これはビットコインマイニングの基本原理であり、ハッシュ衝突を使用して、ターゲットよりも小さいナンス(32 個のゼロなど)を見つけます。ブロック ヘッダー (またはブロック ヘッド) には、すべてのマイナーが知っている情報 (バージョン、プレハッシュ、マークル ルート、ntimenbits など) が含まれているため、誰が最初に nonce を推測できるかを競います。

注: バイナリの世界では、各ビットは 0 または 1 であるため、サイズの比較は先頭の 0 の数を比較することになります。先頭の 32 ビットは 0 であり、これは当然、先頭の 31 ビットが 0 (32 番目のビットが 1) であるよりも小さくなります。この対象のいわゆるサイズ比較は範囲を限定するためのもので、sha256 が出力する数値はすべて 256 ビットの 2 進数 (ハッシュ関数の出力値は固定長) であるため、先頭の 0 が多い方を比較することは、結果値の領域を限定するのに非常に便利な方法です。多くの人がこの点を見落としていますが、実は非常に基本的な数学の知識であり、注目に値します。

マイニングの基本的な考え方は上記の情報から来ています。ビットコインのマイニングのプロセスは、実際にはナンスを見つけること、つまり出力範囲を決定した後、入力値を見つけることです。 H (ブロックヘッダー + nonce) ≤ ターゲット

入力値(各種情報+ノンス)をハッシュすると、結果の値が対象範囲を満たします。たとえば、最初の 35 個のゼロで十分です。入力後に推測したハッシュ値の最初の 40 がすべてゼロであれば、要件を確実に満たしています。実際、最初の 35 個のゼロは条件を満たしています。

次に、この情報を公開すると、他のマイナーが nonce 値を確認してハッシュし、nonce が適切であり、ターゲットの要件を満たすことができることをすぐに知ることができます。ここではハッシュ関数の計算速度の速さ(2つ目の特徴)が活かされています。

この記事では、多くのブロックチェーン アプリケーションの基礎であり、ビットコインの暗号マイニングの基本原理である特異ハッシュ関数の特性についてまとめています。記事の冒頭で述べたように、ビットコインは暗号化機能に加えて、デジタル署名というもう 1 つの非常に重要なコンテンツも使用します。これについてはすぐに話しましょう。

現在世の中にあるいわゆるブロックチェーンアプリケーションは、ビットコインのデータ構造(マークルツリーなど)を利用したり、決済にUTXOモデルを利用したりしていることがあります。トレーサビリティと呼ばれることもあれば、契約と呼ばれることもあります。多くのアプリケーションでは、その概念が何であれ、そのほとんどはハッシュ関数を使用し、ハッシュ関数の 5 つの特性のいくつかを活用します。

記事が進むにつれて、ビットコインと業界についてのより多くの情報が明らかになり、ハッシュ関数がビットコインとブロックチェーン業界の基盤である理由が徐々に誰もが理解できるようになります。

著者: 村長 2 歳


<<:  通貨市場はやや冷え込み、鉱業業界は冬に向けて備蓄している

>>:  ポリチェーンがネルボスに570万ドルを追加投資

推薦する

AppleはiPhoneのマイニングを禁止したが、マイニングマシンになるデバイスは増えている

企画|ジュリアン著者: ビザンチン総主教鉱業はもともと、石炭や石油の採掘など、地殻や表面から鉱物資源...

ブロックチェーン技術、銀行はただトレンドを追っているだけでしょうか?

2016年初頭、コンセンシスの共同設立者アンドリュー・キーズ氏は、生産削減と中国投資家の注目により...

約8%の大暴落!ビットコインは死んだのか?最大の「空売り屋」がやってくる!

第1四半期の調整後のA株市場と非常によく似ているのは、ファンドが酒類に加えて他の興味深い銘柄も探り始...

ETC の生産削減と ETH2.0 の統合は、Ethereum Classic に新たな希望をもたらすでしょうか?

序文2003年16日から2003年3月23日まで、ETC25.6USDは2.04USDまで上昇し、最...

誰かが10億ドル相当のビットコインを移動した

ビットコインの取引はブロックチェーンに公開的に記録されます。 6月27日、誰かが101,857.24...

中央銀行は、将来的にはブロックチェーン技術に基づくデジタル通貨が標準通貨になる可能性があると改めて述べた。

クレイジー解説:中国の中央銀行のデジタル通貨はどのようなものになるのか?さまざまな噂が流れています。...

Hut 8 が 12 の新しいビットコイン採掘ブロックデータセンターを追加

globenewswireによると、世界最大の公開暗号通貨マイニング企業Hut 8は11月12日、カ...

Bit.com グローバルエリートトレーディングコンテストが本日正式に開幕

「特に、トレーディングコンテストを通じて、Bit.com が提供できる製品やサービスをより多くのユー...

ブロックチェーンの裏話: あなたの携帯電話はJPモルガン・チェースよりも便利

Huobiブロックチェーン研究センターの編集によると、最近出版された書籍「Blockchains i...

誰もがブロックチェーンについて話している

ダボスで開催される世界経済フォーラムは近年、ビットコインやブロックチェーンなどの新しい金融技術にます...

ブロックチェーンは中央銀行のヘリコプターマネー政策を改善できる

多くの投資銀行が、ビットコインなどの暗号通貨の基盤となる技術であるブロックチェーンに興味を示している...

イーサリアム財団、盗まれたDAO資金を凍結するためのソフトフォークアップデートを正式にリリース

2016年国際ブロックチェーンサミットが予定通り中国北京で開催され、Bankledgerは会議への参...

逃げ出した最近の「取引所」の一覧、偽の取引所には近づかないように

暗号通貨取引所が「清算」の波に直面するまで、あと18日残っている。一部の取引所はこれを機に逃げ出す可...

[誇張ではなく、ビットコインは生死の瀬戸際にいる] すべてのコイン保有者に2MB拡張を支持するよう要請する

著者: 江卓尔、ライトコインマイニングプールの創設者関心のある人: ビットコイン/ライトコインのマイ...

フォース情報局 | FilecoinコンセンサスのWeb3.0に対する美しいビジョン

この記事はIPFS Force Zoneによって書かれました前面に書かれている内容:世の中に道はない...