難易度は、ハッシュを見つけるのがどれほど難しいかを示すために使用される値ですこれは、システムによって定義されたターゲットよりも低くなります。
ビットコインネットワークにはグローバルブロックの問題があります。有効なブロックには、このターゲットの下にハッシュが必要です。マイニングプールには、共有の下限を設定するプール固有の共有の難易度もあります。
ビットコインのマイニングの難易度
ビットコインネットワークでは、すべてのブロックにグローバルな難易度が設定されています。正当なものと見なされ、設定されたターゲットよりも低いハッシュ値が必要です。
暗号通貨マイニング難易度マップ
難易度は2016ブロックごとに変化します。これは、次の式を使用して計算されます。
ここで、targetは256ビットの数値です。
Difficulty_1_targetはさまざまな従来、ハッシュ関数の最初の32ビットは0に等しく、残りはすべて1です(pdiffまたはプールの難易度とも呼ばれます)。ビットコインプロトコルは、浮動小数点と制限された精度を持つタイプとしてターゲットを提供します。さまざまなビットコインクライアントが、このデータに基づいて暗号通貨の難易度を判断することがよくあります。
暗号通貨の難易度をブロックに保存する
すべてのブロックには、16進ターゲットのパックバージョン(「ビット」と呼ばれる)が含まれています。
次の式を使用すると、ターゲットは任意のブロックから取得できます。たとえば、ブロックにパックされたターゲットが0x1b0404cbとして表示される場合、その16進バージョンは次のようになります。
このフィールドの最大値は0x7fffffで、最小値は0x008000です。
可能な最大ターゲット(難易度が1)の場合、0x1d00ffffとして定義され、16進数で次のように表示されます。
次は、難易度を計算する簡単な方法です。テイラー級数の変更バージョンを使用して対数を計算し、ログを使用して難易度の計算を変換します。
最大、現在、最小の難易度
現在の難易度はBitcoinコマンドライン「getDifficulty」を使用して確認します。
ターゲット関数に最小値がないため、最大難易度はおおよそ次のように計算できます:maximum_target / 1(0は方程式を無限に大きくするため) )これは考えられない数です(〜2から224)。
最小難易度は1に等しいです。
難易度の変更
難易度は2016年ごとに変更されます2016年の前のブロックを検出するのにかかった時間に基づくブロック。ブロックが10分ごとに検出された場合(当初は均等な放出を目的としていたため)、2016ブロックの検出には正確に2週間かかります。以前の2016ブロックが2週間以上で見つかった場合、暗号通貨マイニングの難易度は低くなり、それらがより速くマイニングされた場合は、それが高くなります。以前の2016ブロックを見つけるために費やされた時間が多ければ多いほど(または少なくなるほど)、難易度を下げる(上げる)ことが多くなります。
ブロックハッシュをマイニングするには、ターゲット(プルーフオブワーク)よりも低くする必要があります。 。ハッシュは0から2 * 256-1までの乱数です。
難易度は、10分ごとに1ブロックの速度で以前の2016ブロックを見つけたかのように設定されます
の平均時間単一のブロックを見つけることは、次の式を使用して計算できます。時間=難易度* 2 ** 32 /ハッシュレートここで、「難易度」はBTC難易度ネットワークの現在の暗号通貨の難易度レベルであり、「ハッシュレート」はマイナーが1秒間に見つけるハッシュの量です。
現在の難しさは何ですか?
ビットコインのgetDifficultyによって出力されたオンラインの現在の難易度。
ビットコイン難易度チャート
最大の難易度はどれくらいですか?
そこには最小ターゲットではありません。最大難易度はおおよそ次のとおりです。maximum_target/ 1(0は無限大になるため)、これは途方もなく巨大な数(約2 ^ 224)です。
実際の最大難易度はcurrent_targetの場合です。 = 0ですが、それが起こった場合、難易度を計算することはできません(幸い、計算できないので、「大丈夫です」)
ネットワークの難易度を下げることはできますか?
はい。できます。
BTCの最小難易度はどれくらいですか?
ターゲットが最大許容値にある場合の最小難易度は1です。
特定の難易度をもたらすネットワークハッシュレートはどれですか?
難易度は、前の2016ブロックを見つけるのにかかった時間に基づいて2016ブロックごとに調整されます。 10分ごとに1ブロックという望ましい速度では、2016ブロックを見つけるのにちょうど2週間かかります。前の2016ブロックを見つけるのに2週間以上かかった場合、難易度は下がります。 2週間もかからない場合は、難易度が高くなります。難易度の変化は、前の2016ブロックが見つけるのにかかった2週間以上または2週間未満の時間に比例します。
ブロックを見つけるには、ハッシュがターゲットよりも小さい必要があります。ハッシュは事実上、0から2 ** 256-1までの乱数です。難易度1のオフセットは
であり、難易度Dのオフセットは
したがって、難易度Dのブロックを見つけるために計算する必要のあるハッシュの予想数は
です。または単に
難易度は、前の2016ブロックが10分ごとに1つの割合で検出されるように設定されているため、600秒で(D * 2 ** 48 / 0xffff)ハッシュを計算していました。 。これは、ネットワークのハッシュレートが前の2016ブロックを超えていたことを意味します
。
精度を大幅に損なうことなくさらに簡略化できます。
難易度1では、1秒あたり約7マッシュです。
執筆時点では、難易度は22012.4941572です。これは、2016年のブロックの前のセットで、平均ネットワークハッシュレートが次のようになったことを意味します
ブロックの生成はどれくらいの期間で予想されますか?
(永遠の質問。)
ブロックを見つけるための平均時間は、次のように計算することで概算できます。
ここで、難易度は現在の難易度、ハッシュレートはマイナーが1秒あたりに計算するハッシュの数。時間は、見つかったブロック間の平均(秒単位)です。
たとえば、Pythonを使用して、1Ghash / sマイニングリグを使用してブロックを生成する平均時間を計算します。難易度が20000の場合:
平均して24時間弱かかることがわかります。
- ハッシュを1回粉砕しても、「勝つ」可能性は同じです。他の。数字ゲームは、ハードウェアが1秒間に試行できる回数です。
- 難易度(上記)とkhash / secレート(クライアントから報告)を知る必要があります。
- マイニングハードウェアの比較には、何が得られるかを予測するのに役立つ統計がいくつかあります。
- 計算機にアクセスするか、自分で計算を実行します。
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- それはただの確率であることを忘れないでください!N日ごとに勝つという保証はありません。
- 作業証明
- ブロック
- 暗号通貨リスト
- トランザクションの確認
- マイニングプール