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

推薦する

中国と米国の金融政策の突然の変化により、BTCは混乱の中で突破口を開く準備ができている。

本レポートに記載されている市場、プロジェクト、通貨などに関する情報、意見、判断は参考目的のみであり、...

ブロックチェーン民主主義宣言: 人民の、人民による、人民のための政府を創る

私たちは危機に満ちた世界に住んでいます。ヒューマン・ライツ・ウォッチ事務局長ケネス・ロス氏は次のよう...

マイニング王は失われた、ビットメインの自力救済の物語

出典/ブレインホールこの記事の本来の目的は、読者にビットメインの内部紛争の原因と結果を理解してもらう...

強気相場のヒント: 短期的な感情を捨ててリターンを最大化するにはどうすればよいでしょうか?

強気相場は、価格が上昇傾向にあり、潜在的な利益が無限にあるように見えるため、投資家にとって刺激的な時...

イーサリアム GPU マイナーは ASIC の普及に抵抗する感情があり、ProgPoW が解決策になるかもしれない

今年4月以来、イーサリアムASICマイニングマシンをめぐる論争は激化し続けています。先週木曜日、AS...

マイナーの移行:ビットコインのハッシュレートが2日間で42%上昇

多くの中国人マイナーが四川省からの毎年恒例の移転を完了したようで、ビットコインのハッシュレートは2日...

新華社:デジタル人民元紅包試験プログラムは終了しました。体験はどのようなもので、結果はどうですか?

新華社記者の呉宇と呉燕廷約1週間続いた深センのデジタル人民元紅包実験は成功裏に終了した。 「幸運な人...

ビットコイン詐欺師が警察官になりすました疑いで捜査

カナダ王立騎馬警察(RCMP)は、カナダのアルバータ州ストラスコーナ郡で発生した2件のビットコイン(...

Xiaoliang のマイニング日記: 康定ビットコイン鉱山での 3 か月

5月26日から、私はGoodBitcoin社が展開する大規模なビットコインマイニングファームがある中...

金丘株式が新三板に上場、ブロックチェーン金融シナリオの実装を促進

7月18日、上海金丘実業有限公司は新三板(株式コード:837901)に上場し、上海自由貿易区で上場し...

米国株式市場における3大ビットコイン採掘会社の暗い歴史:製薬、不動産、自動車は製造してきたが、ビットコインは製造したことがない

ウー氏は著者にこう語った |ミャオハシュこの号の編集者 |コリン・ウー仮想通貨の強気相場が加速するに...

JPモルガン・チェース:ビットコインの価格はマイニングコストを下回っており、中国を除く世界中のマイニングファームは赤字に陥っている

JPモルガン・チェースが1月24日に発表したレポートによると、第4四半期の世界のビットコイン生産の加...

Antminer S17 Proを1つの記事で理解する

グローバル最適化の可能性は大きいです。 Bitmainの第2世代7nmチップBM1397を搭載したA...

日本の3つの上場企業が新たなマイニング計画、暗号通貨取引所、トークンファンドを立ち上げ

Bitcoin.comによると、日本の上場企業3社が仮想通貨事業に関して個別に発表を行った。その中で...

Wirex は Shapeshift の API を統合し、数十の代替コインが Wirex デビットカード サービスを使用できるようにしました。

Wirex のビットコイン デビット カードは発売以来好評を博しています。現在、ユーザーはすべての...