ハッシュ
暗号化では、ハッシュという単語は、データの一部がハッシュ関数を介して送信(マッピング)された後にハッシュ関数によって生成される出力を指します。単なるハッシュ以外に、ハッシュ関数によって生成される出力は、ハッシュ値、ハッシュコード、またはダイジェストと呼ばれることもあります。
ハッシュとは何かをよりよく理解するには、ハッシュ関数とは何か、そしてそれらがどのように機能するかを議論する価値があります。
、任意のサイズの入力値を固定サイズの出力(ハッシュ)に変換する数学アルゴリズムです。ほとんどの場合、出力は16進数で構成されます。これは、ハッシュが数字(0から9)と文字(aからf)の組み合わせとして示されることが多いことを意味します。
たとえば、「Binance」という単語を入力値として使用し、それをSHA-256ハッシュ関数を介してマップすると、返される出力値(またはハッシュ)は次のようになります。
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
このアクションを何回実行しても、出力は常に同じになることに注意してください(入力が変更されない限り)。
一方、入力に小さな変更を加えると、ハッシュ関数は完全に異なるハッシュを出力として返します。たとえば、「Binance」ではなく「binance」という単語を送信すると、結果として次のハッシュが得られます。
59bba357145ca539dcd1ac957abc1ec5833319ddcae7f5e8b5da0c36624784b2
ハッシュは、情報が何であるかを明らかにすることなく、特定の情報の有効性を検証するのに役立ちます。実際には、ハッシュ関数はさまざまなシナリオに適用できます。いくつかのユースケースには、データベースルックアップ、大きなファイル分析、およびデータ管理が含まれます。
暗号化技術と組み合わせると、いわゆる暗号化ハッシュ関数が得られます。これらは情報セキュリティで広く使用されており、ほとんどのブロックチェーンネットワークの重要な部分です。
たとえば、ビットコインブロックチェーンにはハッシュを含む多くの操作があり、これらはマイニングのプロセスで重要です。
##ハイライト
-ハッシュは、ブロックチェーン計算を解決するために必要な暗号化された要求を満たす関数です。
-ナンスやソリューションのようなハッシュは、ブロックチェーンネットワークのバックボーンです。
-ハッシュは、ブロックヘッダーに存在する情報に基づいて作成されます。
-誰かがブロックチェーンをクラックしようとした場合、ハッシュの長さを推測することはほぼ不可能であるため、ハッシュは固定長です。
-同じデータは常に同じハッシュ値を生成します。
## よくある質問
###ハッシュ値はどのように計算されますか?
ハッシュ関数は、任意の長さのデータを固定長のデータ(たとえば、256文字)に変換する複雑な数学的アルゴリズムを利用します。元のデータのどこかで1ビットを変更すると、ハッシュ値全体が変更されるため、デジタルファイルやその他のデータの忠実度を検証するのに役立ちます。
###ブロックチェーンでハッシュは何に使用されますか?
ハッシュは、ブロックチェーンシステムのいくつかの部分で使用されます。まず、各ブロックには前のブロックのブロックヘッダーのハッシュが含まれており、新しいブロックが追加されても改ざんされていないことを確認します。さらに、プルーフオブワーク(PoW)を使用した暗号通貨マイニングは、一連の先行ゼロを含む特定のハッシュ値に到達するために、ランダムに生成された数値のハッシュを利用します。この任意の機能はリソースを大量に消費するため、悪意のある攻撃者がネットワークを追い抜くことは困難です。
###ハッシュ関数とは何ですか?
ハッシュ関数は、特定のデータセットを固定サイズのビット文字列(「ハッシュ値」とも呼ばれる)に変換または「マッピング」する数学関数です。