暗号通貨の世界におけるハッシュの力

ハッシングは、任意のサイズのデータを固定長の結果に変換する、暗号通貨の分野における基本的なプロセスです。このプロセスは、アルゴリズムとして実装されたハッシュ関数と呼ばれる数学的な式によって行われます。

全てのハッシュ関数が暗号化を含むわけではありませんが、いわゆる暗号ハッシュ関数は暗号通貨のエコシステムにおいて重要です。それによって、ブロックチェーンや他の分散システムはデータの整合性とセキュリティの重要なレベルを達成しています。

ハッシュ関数は、従来のものと暗号的なものの両方が決定論的です。これは、入力データが変わらない限り、ハッシュアルゴリズムは常に同じ結果、つまりダイジェストまたはハッシュを生成することを意味します。

暗号通貨で使用されるハッシュアルゴリズムは、通常、一方向関数として設計されており、これは considerableな時間と計算リソースなしには逆転できないことを意味します。言い換えれば、入力から出力を生成することは比較的簡単ですが、その逆を行うことは非常に困難です。一般的に、入力を見つけるのが難しいほど、ハッシュアルゴリズムは安全であると見なされます。

ハッシュ関数の動作

異なるハッシュ関数は異なる長さの結果を生成しますが、各ハッシュアルゴリズムの出力サイズは常に一定です。例えば、SHA-256アルゴリズムは256ビットの結果しか生成できず、一方SHA-1は常に160ビットのダイジェストを生成します。

これを説明するために、「Gate」と「Gate」という言葉をビットコイン(で使用されるSHA-256ハッシュアルゴリズムに通します)。

SHA-256の

エントリー

出力 (256 ビット)

ゲート

7f98b5c76e1f90c0e51e5947eae545f3b6f4b4736c774c504d7e6741f5070861

ゲート

E77B9A9AE9E30B0DBDB6F510A264EF9DE781501D7B6B92AE89EB059C5AB743A0

小さな変更があったことに注意してください。(最初の大文字)は、全く異なるハッシュ値を生成しました。しかし、SHA-256を使用しているため、出力は常に256ビット(または64文字)の固定サイズになります。さらに、アルゴリズムを通じて2つの単語を何度実行しても、2つの出力は一定のままです。

同じ入力をSHA-1ハッシュアルゴリズムに通すと、次の結果が得られます:

SHA-1 (英語)

エントリー

出発(160 bits)

ゲート

96A296D224F285C67BEE93C30F8A309157F0DAA7

ゲート

5F42C325EEF7E85610308428B407748B77D8C98E

SHAはSecure Hash Algorithmsの略である(安全なハッシュアルゴリズム)であることに注意することは興味深いです。これはSHA-0およびSHA-1アルゴリズム、ならびにSHA-2およびSHA-3ファミリーを含む暗号学的ハッシュ関数のセットです。SHA-256はSHA-2ファミリーの一部であり、SHA-512および他のバリエーションとともに存在します。現在、安全と見なされているのはSHA-2およびSHA-3ファミリーのみです。

この技術の重要性

従来のハッシュ関数は、データベース検索、大規模ファイルの分析、情報管理など、幅広い用途があります。一方、暗号学的ハッシュ関数は、メッセージ認証やデジタルフィンガープリンティングなど、情報セキュリティアプリケーションで広く使用されています。ビットコインの文脈では、暗号学的ハッシュ関数はマイニングプロセスの不可欠な部分であり、新しいアドレスや鍵の生成においても重要な役割を果たしています。

ハッシュの真の潜在能力は、大量の情報を扱うときに明らかになります。たとえば、長いファイルやデータセットをハッシュ関数に通して、その結果を使ってデータの正確性と完全性を迅速に確認することができます。これは、ハッシュ関数の決定論的な性質のおかげです:入力は常に圧縮され、簡略化された出力を生成します(ハッシュ)。この方法は、大量のデータを保存し「記憶する」必要を排除します。

ハッシュは、ブロックチェーン技術の文脈で特に有用です。ビットコインのブロックチェーンは、ハッシュに関連する複数の操作を含み、そのほとんどはマイニングプロセス中に実行されます。実際、ほとんどすべての暗号通貨プロトコルは、トランザクションをブロックにリンクしてグループ化し、各ブロック間に暗号リンクを作成するためにハッシュに依存しており、それによってブロックチェーンを形成します。

クリプトグラフィック ハッシュ 機能

暗号技術を使用するハッシュ関数は、暗号学的ハッシュ関数として定義できます。一般的に、暗号学的ハッシュ関数を解読するには、膨大な回数の総当たり攻撃が必要です。「逆転」させるためには、適切な出力が得られるまで、試行錯誤で入力を選択する必要があります。しかし、異なる入力が同じ結果を生成する可能性もあり、その場合は「衝突」が発生します。

技術的に、暗号学的ハッシュ関数は安全と見なされるために三つの特性を満たさなければなりません。それらを次のように説明できます:衝突耐性、前画像耐性、第二前画像耐性。

各プロパティを説明する前に、その論理を3つの簡潔なフレーズで要約しましょう:

  • 衝突耐性: 同じハッシュを生成する異なる二つの入力を見つけることが不可能であること。

  • プレイメージへの耐性: 与えられた出力から入力を見つけるためにハッシュ関数(を「逆転」する能力の欠如).

  • 第二前像抵抗: 最初のハッシュと同じハッシュを持つ第二の入力を見つけることが不可能であること。

###衝突抵抗

前述のように、衝突は異なる入力が同じハッシュを生成する場合に発生します。ハッシュ関数は、誰かがそのような衝突を発見するまで、衝突耐性があると見なされます。無限の入力と有限の出力があるため、どんなハッシュ関数にも常に衝突が存在することに注意することが重要です。

したがって、ハッシュ関数は、衝突を検出する確率が非常に低く、数百万年の計算を必要とする場合、衝突に対して耐性があるといえます。このため、衝突のないハッシュ関数は存在しませんが、一部は非常に堅牢であり、安定していると見なすことができます。(例えば、SHA-256)。

異なるSHAアルゴリズムの中で、SHA-0およびSHA-1ファミリーは衝突が検出されたため、もはや安全とは見なされません。現在、SHA-2およびSHA-3ファミリーのみが衝突に対して耐性があると見なされています。

プレイメージ耐性

この特性は、一方向関数の概念と密接に関連しています。ハッシュ関数は、生成された出力を使用して入力を見つけることができる可能性が非常に低い限り、前画像耐性があると見なされます。

このプロパティは、攻撃者が特定の出力に基づいて入力を予測する必要があるため、前のものとは異なることに注意してください。一方、衝突は、誰かが特定の入力が使用されたかどうかに関係なく、同じ出力を生成する2つの異なる入力を見つけたときに発生します。

プレ画像抵抗性の特性はデータのセキュリティにとって価値があり、メッセージの単純なハッシュが追加情報を明らかにすることなくその正当性を示すことができるためです。実際には、多くのサービスプロバイダーやウェブアプリケーションは、プレーンテキスト形式で使用するのではなく、パスワードから生成されたハッシュを保存し使用しています。

セカンドプリイメージ耐性

この種類の抵抗は前の2つの特性の間にあります。第二前画像攻撃は、以前に知られている別の入力を使用して生成された出力を生成するために特定の入力を見つけることを含みます。

言い換えれば、第二前画像攻撃は衝突の検出を伴いますが、同じハッシュを生成する2つのランダムな入力を見つける代わりに、攻撃の目的は、他の入力によって既に生成されたハッシュを再現できる入力を見つけることです。

したがって、衝突耐性のある任意のハッシュ関数は、第二の前画像攻撃に対しても耐性があります。なぜなら、後者は常に衝突を必要とするからです。しかし、衝突耐性のある関数に対しても前画像攻撃を実行することは依然として可能であり、これは与えられた出力に対して入力を探すことを含みます。

マイニング

ビットコインのマイニングには、ハッシュ関数を使用して行われる多数のステップがあります。これには、残高の確認、トランザクションの入力と出力のリンク、およびすべてのトランザクションをブロックにまとめてメルクルツリーを形成することが含まれます。しかし、ビットコインのブロックチェーンが安全である主な理由の1つは、マイナーが次のブロックの正しいソリューションを最終的に見つけるためにできるだけ多くのハッシュ操作を行わなければならないことです。

マイナーは、候補ブロックのハッシュを生成する際にさまざまな入力を使用する必要があります。ブロックは、正しく生成されたハッシュの形式での出力が特定の数のゼロで始まる場合のみ検証されます。ゼロの数はマイニングの難易度を決定し、ネットワークのハッシュレートによって変化します。

この文脈では、ハッシュレートはビットコインのマイニングに投資される計算能力の尺度です。ハッシュレートが増加し始めると、ビットコインプロトコルは自動的にマイニングの難易度を調整し、ブロックをマイニングするのに必要な平均時間を約10分に保ちます。複数のマイナーがマイニングをやめることを決定し、ハッシュレートが大幅に低下する場合、マイニングの難易度は一時的に計算を容易にするために調整され、ブロック生成の平均時間が再び10分に戻るまで(。

重要なことは、採掘者が衝突を探す必要がないということであり、特定の数のゼロで始まる)のように、有効な出力として生成できる複数のハッシュがあるということです。したがって、特定のブロックに対して複数の解決策が存在し、採掘者はマイニングの難易度によって決定される閾値に応じて、そのうちの1つだけを見つける必要があります。

ビットコインのマイニングはコストがかかる作業であるため、マイナーはシステムを欺くインセンティブを持たず、そうすることで重大な財務的損失を被ることになります。その結果、ブロックチェーンに参加するマイナーが増えるほど、より大きくて堅牢なものになります。

まとめ

ハッシュ関数がコンピュータサイエンスにおいて重要なツールの一つであることは疑いの余地がありません。特に大量のデータを扱う際には。暗号技術と組み合わせると、ハッシュアルゴリズムは非常に便利であり、さまざまな方法でセキュリティと認証を提供します。したがって、暗号ハッシュ関数はほぼすべての暗号通貨ネットワークにとって不可欠であり、その特性や動作メカニズムを理解することは、ブロックチェーン技術に興味のある人にとって確かに価値があります。

EL0.12%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
0/400
コメントなし
  • ピン
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)