ブロックチェーンのハッシュ関数

1. ハッシュは暗号化アルゴリズムです

(1)ハッシュ関数(Hash Function)、ハッシュ関数、ハッシュアルゴリズムとも呼ばれます。ハッシュ関数は、任意の長さのメッセージ M をより短い固定長の値 H(M) にマッピングできる
公開関数であり、H(M) はハッシュ値、ハッシュ値 (ハッシュ値)、ハッシュ値、またはハッシュ値と呼ばれます。メッセージダイジェスト。(2) これは、一方向の暗号化システム、つまり、暗号化のみで復号化を行わない、平文から暗号文への不可逆的なマッピングです。(3) その関数式は次のとおりです: h=H(m) 関数の説明: m: 任意の長さのメッセージ (異なるアルゴリズム実装には異なる長さ制限があり、一部のハッシュ関数 (SHA-3) ではメッセージ長が制限されませんが、一部の制限 (SHA) -2) ただし、制限があっても長さが非常に長いため、任意の長さのメッセージとみなすことができます) H: ハッシュ関数h: 固定長ハッシュ値





入力のデジタル形式やファイルのサイズに関係なく、出力は固定長のビット文字列です。ビットコインで使用されている Sha256 アルゴリズムを例に挙げると、どのようなデータ ファイルが入力されたとしても、出力は 256 ビットです

2. ハッシュ関数の特徴

優れたハッシュ関数には、可変長入力と固定長出力、衝突防止、および不可逆性という 3 つの特性が必要です。
(1) 不定長入力、固定長出力
いわゆる不定長入力と固定長出力については、前回の記事でも触れました。つまり、入力データの長さや大きさに関係なく、出力データの長さと形式は固定されます。たとえば、sha256 を選択した場合、出力は 256 ビットになります。
(2) 衝突防止
x が y に等しくなく、H(x) が H(y) に等しい場合、関数 H() は衝突防止ではないと言います。逆に衝突防止だと考えています。優れたハッシュ関数は衝突防止機能を備えていなければなりません。
(3)不可逆性(単一項目
ハッシュ関数 H() と入力データが与えられると、ハッシュ値は簡単に解けますが、ハッシュ値とハッシュ関数が与えられると、入力データを解くことはほぼ不可能です。不可逆性、一方向とも呼ばれます。

優れたハッシュ アルゴリズムは次のことを実現できます。
(1) 高速転送: 平文とハッシュ アルゴリズムが与えられた場合、限られた時間と限られたリソース内でハッシュ値を計算できます。
(2) 逆の難しさ: 与えられた (いくつかの) ハッシュ値では、限られた時間内に平文を逆にするのは困難 (基本的に不可能) です。
(3) 入力の感度: 元の入力情報が少し変更されると、結果のハッシュ値は大きく異なって見えるはずです。
(4) 衝突の回避:内容の異なる2つの平文をハッシュ値が一致するように見つけることは困難(衝突が発生する)。

3. ブロックチェーンにおけるハッシュ関数の役割

(1) 簡単な検証。ブロックチェーンでは、ハッシュ関数によってさまざまなデータの要約が生成されるため、2 つのデータが等しいかどうかを比較する場合は、それらの要約を比較するだけで済みます。たとえば、2 つのトランザクションが等しいかどうかを比較するには、2 つのハッシュ値を比較するだけで済み、高速で便利です。
(2) 改ざんを防止する。データを転送するには、転送プロセス中にデータが改ざんされないように、そのダイジェストを同時に転送するだけで済みます。データを受け取った側は、データのサマリーを再生成し、渡されたサマリーと生成したサマリーが等しいかどうかを比較し、等しい場合には、送信過程でデータが改ざんされていないことを意味します。
(3) POW コンセンサス アルゴリズムのワークロードの証明。これは主に pow コンセンサス アルゴリズムで使用されます。具体的には、あるデータを与えて、別のデータを検索させ、それらを組み合わせて計算されるハッシュ値が一定の値以下になるようにします。ビットコインと現在のイーサリアムはすべて POW コンセンサスを使用しています。

POW はじめにプルーフ・オブ・ワーク、プルーフ・オブ・ワーク。
POW コンセンサス アルゴリズムは主に、難易度の値を計算することによって誰がブロックを生成するかを決定します。POW のワークロードは方程式の解を指し、最初に解いた人がブロックを生成する権利を持ちます。前のブロックのハッシュ値とランダムな値のノンスから次のブロックのハッシュ値を計算する方程式であり、先にノンスを見つけた人が先に次のブロックのハッシュ値を計算できるというものです。計算難易度の値は、方程式に固定された解がなく、努力し続けることしかできないことを意味します。方程式を解くこの方法はハッシュ衝突と呼ばれ、これは確率的なイベントです。衝突が増えるほど、計算は難しくなります。方程式を解きます。ビットコインはPOWコンセンサスアルゴリズムを使用

おすすめ

転載: blog.csdn.net/weixin_42694422/article/details/119853859