ターゲットハッシュの定義
ターゲットハッシュとは、新しいブロックが授与されるために、ハッシュされたブロックヘッダー以下でなければならない数値です。 ターゲットハッシュは、入力の難易度を判断するために使用され、ブロックが効率的に処理されるように調整できます。
ターゲットハッシュの分析
暗号通貨は、トランザクション履歴を含むブロックチェーンの使用に依存しており、「ハッシュ」または一連の数字と文字にエンコードされます。 ハッシュには、任意の長さのデータの文字列を取得し、それをアルゴリズムで実行して、固定長の出力を生成することが含まれます。 入力の大きさに関係なく、出力は常に同じ長さになります。 ハッシュを使用するということは、ブロックチェーンを扱う人はだれでも入力そのものではなくハッシュを覚えなければならないことを意味します。 各ブロックには、前のブロックヘッダーのハッシュが含まれます。
ブロックチェーンのデコードとエンコードは、マイニングと呼ばれます。 マイニングでは、コンピューターを使用してハッシュアルゴリズムを実行し、最新のブロックを処理します。マイニングに必要な情報はブロックのヘッダーにあります。 暗号通貨ネットワークはこのハッシュのターゲット値(ターゲットハッシュ)を設定し、マイナーはすべての可能な値をテストして、この値が何であるかを判断しようとします。
ブロックヘッダーには、ブロックバージョン番号、タイムスタンプ、前のブロックで使用されたハッシュ、マークルルートのハッシュ、ノンス、およびターゲットハッシュが含まれます。 ブロックは、ブロックコンテンツのハッシュを取得し、数字のランダムな文字列(nonce)を追加して、ブロックを再度ハッシュすることで生成されます。 ハッシュがターゲットの要件を満たしている場合、ブロックはブロックチェーンに追加されます。 ナンスを推測するためにソリューションを循環することは、作業の証明と呼ばれ、値を見つけることができる鉱夫はブロックを授与され、暗号通貨で支払われます。
ビットコインのターゲットハッシュは256ビットの数値であり、ブロックのヘッダーにあります。 ブロックをマイニングするには、マイナーがハッシュ(ハッシュ)された後、ビットコインネットワークで受け入れられた最新のブロックで使用される値以下の値(ノンス)を生成する必要があります。 この数は0(最小オプション)から256ビット(最大オプション)の間ですが、最大数になることはほとんどありません。 ターゲットハッシュは膨大な数になる可能性があるため、マイナーは成功する前に多数の値をテストする必要がある場合があります。 失敗した鉱夫は次のブロックを待たなければならず、それは鉱夫がハッシュソリューションの発見をレースや宝くじに勝つことに例えることにつながります。
ターゲットハッシュは定期的に調整されます。 新しいターゲットの生成に使用されるハッシュ関数には、ブロックチェーン(および暗号通貨)を安全にするために設計された特定のプロパティがあります。 これは決定論的であり、同じ入力が使用されるたびに同じ結果を生成します。 入力にハッシュを返すのに時間がかからないように十分に高速です。 また、特に大きな数値の場合、入力の決定が非常に困難になり、非常に異なるハッシュ出力で入力結果に小さな変更が加えられます。