ビットコインの暗号化:ハッシュ関数の 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万ドルを追加投資

推薦する

ビットコインは一時9,000ドルまで下落したが、ファンダメンタルズは依然として堅調

Bitpushのデータによると、時価総額が最も大きい暗号通貨ビットコインは木曜夜に突然急落し、9,3...

Chia公式回答:Chiaマイニングに参加する前に知っておくべき20の質問

Chia Network にはハードディスクマイニングの概念が含まれているため、いわゆる「Chia ...

仮想通貨取引所コインベース、差し迫った禁止措置にもかかわらずインド事務所開設準備

インドで仮想通貨の禁止が迫っているにもかかわらず、米国を拠点とする仮想通貨取引所Coinbaseはイ...

BitDeerとF2Poolが戦略的提携を結び、多通貨マイニングを拡大し、米国に進出してグローバルエコシステムを開発

「F2Pool」といえば、マイナーなら誰でも知っていると思います。中国で最も古いマイニングプールであ...

カナンクリエイティブ、鉱業事業を行うためにカザフスタンに事業拠点を設立

6月23日のCoindeskによると、Canaan Creativeは暗号通貨マイニングに参入し、カ...

鉱業業界 2019年第2四半期調査レポート |トークンインサイト

○ ●要点の要約: 1. 2019年第2四半期のビットコイン価格の急騰により、ビットコインマイニン...

Wu Says Podcast: 暗号通貨界の若者3人が「最初の金の壺と最初の穴」について語る

注: この号の内容は純粋に個人的な経験に基づくものであり、いかなる財務アドバイスも構成するものではあ...

ブロックチェーン業界の幹部が規制問題に関する請願書に署名

Crazy Review : 「Muskoka Group」は、「Blockchain Revolu...

SparkOS は N カードの寿命を延ばします 1063

原題: 1063の生死への道、今度こそ答えを出せる「PU 1、CUDAエラー11 - DAGのバッフ...

米国政府は販売している

ビットコインは一晩で28.5K前後で推移しています。最近オンラインで公開された3月31日の執行記録に...

宇宙開発競争に関するこれらの質問に関して、Filecoinの役員がどのように答えるかを見てください

9月17日北京時間午前9時、Filecoinは第3回コミュニティAMAイベントを正式に開始し、主にF...

フィンテックの新興企業 Chain と Visa が提携し、グローバル決済ネットワークを立ち上げる

クレイジーなコメント: Chain は、プラットフォームをオープンソース化し、Chain Core ...

ビットコインがApple Payの最大のライバルに

過去 1 年間、Apple Pay はモバイル決済の最も革新的な形態の 1 つと見なされてきました。...

ビットコインマイナーは12月に約7億ドルの収益を上げ、イーサリアムオプション保有高は過去最高を記録した。

The Block Researchによると、ビットコインマイナーは12月に約7億ドルの収益を生み...

初期のビットコインマイナー数人は、2009年にこのアドレスから転送された50ビットコインが自分たちとは何の関係もないと否定している。

昨夜、初期のビットコインマイニングアドレスから突然50ビットコインが転送され、暗号通貨コミュニティで...