暗号通貨の難しさとは何ですか?
難易度は、ネットワークのハッシュパワーが変化してもブロック間の平均時間を一定に保つためにビットコインやその他の暗号通貨が使用するパラメーターです。
暗号通貨の難易度の説明
プルーフオブワークブロックチェーンを使用するビットコインおよびその他の暗号通貨は、マイニングと呼ばれるプロセスを通じて維持されます。 このシステムでは、マイナー(暗号通貨のソフトウェアクライアントを実行しているコンピューター)が競合して新しいブロックを見つけ、最新のトランザクションデータのバッチをチェーンに追加します。 彼らは手数料と(場合によっては)新しいトークンの見返りを受け取ります。
新しいブロックを見つけるのにかかる時間は、ランダムチャンスと難易度の2つの要因に左右されます。 ランダムチャンスから始めます。 マイナーは、トランザクションデータのバッチを取得し、ハッシュアルゴリズムを実行します。これは、特定のデータセットが与えられると、常に同じ出力を生成するが、元のデータを表示するために出力を逆にすることができない一方向関数です。 ハッシュがどうなるかを予測する方法はありません。 ハッシュが特定の要件を満たすと、新しいブロックが見つかります。 データの各セットには特定のハッシュ関数の出力が1つしかないため、マイナーは、新しいハッシュを取得するためにデータにナンス(「1回使用した番号」)を追加する必要があります。 それでも結果が要件を満たさない場合、マイナーは新しいnonceで再試行します。
ハッシュが満たさなければならない要件は、難易度に対応しています。有効なハッシュは、暗号通貨のプロトコルによって自動的に設定される(および定期的に調整される)特定の目標値を下回っていなければなりません。 目標値が低いほど、許容できる結果を得るためにマイナーはより多くのハッシュ関数を繰り返す必要があります。つまり、難易度は高くなります。 理論的には、マイナーは最初の試行で幸運を得て、特定のブロックの有効なハッシュを取得できます。ただし、時間が経つにつれて、難易度が高くなるため、マイナーは平均してブロックあたりのノンスを増やす必要があります。
難易度はどのような目的に役立ちますか?
唯一の実用的な結果がマイナーが同じ機能をさらに繰り返さなければならないということである場合、なぜより高い難易度を設定しますか? ビットコインのホワイトペーパーでは次のように説明しています。
「ハードウェアの速度の増加とノードの実行に対する関心の変化を補うために、作業時間の難易度は、1時間あたりの平均ブロック数を対象とした移動平均によって決定されます。 」
ビットコインは、平均10分ごとに新しいブロックをブロックチェーンに追加するように設計されています。 (他の暗号通貨はより頻繁なブロックを目指しています;例えば、ライトコインは2.5分を目指しています。)問題は、ネットワークのマイナーが集合的に制御する計算能力の量が非常に異なる可能性があることです。 中本Sが最初のブロックを採掘したとき、ネットワーク上にはたった1台のマシン、おそらくは単純なラップトップまたはデスクトップしかありませんでした。 現在、倉庫サイズのASICファームが多数あります(ASICは、ハッシュ関数を可能な限り高速で処理するように特別に設計されたマシンです)。
ネットワークが安定した平均レートで新しいブロックを生成することを保証するために、ソフトウェアはターゲットハッシュを自動的に上下に調整するように設定されており、それぞれ難易度が高くまたは低くなります。 中本がジェネシスブロックをマイニングしたとき、ビットコインの難易度は1でした。
ビットコインの難易度をリアルタイムで確認するには、このチャートをご覧ください。
2019年7月末現在、難易度は9.013兆です。 以下のチャートは、時間の経過に伴うビットコインの難易度の変化を示しています。