ビットコインは世界で初めて成功した暗号通貨であり、これまでの試みでは通貨に関するさまざまな問題をビットコインほど効果的に解決したものはありません。 ビットコイン自体は暗号技術の発展の産物であり、「一方向ハッシュ関数」とデジタル署名という暗号技術における非常に重要な 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 歳 |
<<: 通貨市場はやや冷え込み、鉱業業界は冬に向けて備蓄している
8月1日、米国特許商標庁の公式サイトはウォルマートのデジタル通貨特許申請書類を公開した。ブロックチェ...
Cryptopotatoは8月31日、ビットコインのマイナーや投資家によるトークンの売却が鈍化し、「...
ブルームバーグによると、ローゼンブラットのアナリスト、ジュン・チャン氏は調査レポートの中で、デジタル...
メディアの報道によると、事情に詳しい4人の関係者は、米国の発行会社やその他の企業は、米証券取引委員会...
イーサリアムのPectraアップグレードは2025年3月に開始される予定で、当初は別々に実施される予...
フィリピン・ビジネス・デイリーによると、フィリピン警察は昨日、バシラン地域で中国人6人が500万ペソ...
このレポートでは、主に2019年3月1日から3月31日までのデジタル通貨市場の変化の簡単な分析に基づ...
メッシュ ネットワーキング テクノロジーは、インターネット プロバイダーがユーザーに課金する問題を解...
韓国政府は、近い将来に暗号通貨取引を禁止する予定はないことを明らかにした。韓国政府報道官は声明で、政...
著者 |ハシピ分析チーム...
表紙ニュース記者 鍾小禄四川省丹巴県のビットコイン採掘工場で50台以上のビットコイン採掘機が一夜にし...
1月12日のマイニングウェブサイトによると、Bitmain初の新型ビットコインマイニングマシン「An...
経済において最も重要なものはお金です。私は金融危機の前に有名な物理学者に関する本を読みました。彼は、...
Crazy Review : Valve のゲームおよびデジタル メディア プラットフォーム Ste...
ビットコイン価格の「フラッシュクラッシュ」により、マイニング業界で大規模な停止が発生した。 10日間...