用語集 / マイニングとコンセンサス
難易度調整
別名はRetargetです。
- 難易度調整とは?
- 難易度調整とは、2,016ブロックごとにマイニングの難しさを再設定し、ハッシュレートの変化に応じてブロック間の平均時間を10分に近づけるルールです。
ビットコインにはスケジューラーが存在しないため、発行ペースを維持する唯一の方法は、マイナーが増えたときに探索を難しくし、マイナーが去ったときに易しくすることです。再計算は2,016ブロックごとに行われ、経過時間の目標は1,209,600秒で、変動幅は最大4倍までです。だからこそ、マイニングブームや暴落を経ても確認時間は維持されるのです。
仕組み
難易度調整は判断ではなく算術であり、すべてのノードが独立して実行します。
2,016ブロックの各ウィンドウの終わりに、ノードは2つのタイムスタンプを読み取ります。ウィンドウの最初のブロックのものと、最後のブロックのものです。経過秒数を2週間の秒数である1,209,600で割り、その比率を以前のターゲットに掛けます。ブロックが早く到着すると比率は1未満になり、ターゲットが下がって次のウィンドウは難しくなります。ブロックが遅く到着すると比率は1を超え、ターゲットが上がって次のウィンドウは易しくなります。結果は両端で制限されます。経過時間は302,400秒以上、4,838,400秒以下として扱われるため、1回の再調整でどちらの方向にも4倍を超えて動くことはありません。
この計算には有名なオフバイワンがあります。2,016ブロックのウィンドウに含まれる間隔は2,015個だけであり、コードはそれを補正せずにタイムスタンプを測定します。その影響は小さく、恒久的です。ネットワークは10分ごとではなく9.9950分ごとのブロックを目標とするため、ビットコインの時計は素朴な10分スケジュールよりわずかに進みます。実際の利益がないのに修正すればハードフォークになるため、これまで修正されたことはありません。
弱い入力はタイムスタンプであり、それを巡るルールは意図的に緩く作られています。ブロックのタイムスタンプは、直前11ブロックの中央値より大きく、受信ノード自身の時計より2時間以上先でないことだけが求められます。したがってマイナーには再調整をわずかに動かす余地があり、これが理論上のタイムワープ攻撃の根拠であり、タイムスタンプのルールを厳しくする提案が繰り返し出てくる理由です。
最初の調整は2009年12月30日、ブロック32,256で行われ、難易度は1から1.18に上がりました。それ以降はすべて同じ短い算術であり、およそ2週間ごとに適用されています。
ビットコインを購入する際にこれが重要な理由
難易度調整があるからこそ、ビットコインの出金には予測できる待ち時間があり、マイニングの商品は疑って読むべきなのです。
再調整の間、難易度は固定されたままハッシュレートは自由に動くため、ブロック間隔はずれます。ネットワークの大部分が停止するとブロックは遅くなり、通常は半時間で完了する出金も、次の調整がペースを取り戻すまで目に見えて長くかかります。それは取引所が処理を滞らせているのではありません。ネットワークが、現在の難易度が設定されたときのハッシュレートを下回って稼働しているのであり、2,016ブロック以内に自動で修正されます。
また、1つの政府が与えられる損害の大きさも制限します。中国が2021年にマイニングを禁止したとき、ネットワークの半分以上が数週間で停止しましたが、プロトコルは会議もなしにそれを受け止めました。難易度が下がり、ブロックは再び速くなり、機器はカザフスタン、米国などへ送られました。当サイトの国別ガイドは同じ物語の政治的側面を示しており、禁止措置によって誰がマイニングするか、どこで合法的に購入できるかは変わっても、ブロックが届き続けるかどうかが変わることはありません。
最後に、固定のマイニング収益を掲げる商品には懐疑的になってください。難易度はほぼすべての複数年にわたる期間で上昇傾向にあり、ほかに何も変わらなくても、ある機器が稼ぐコインは時間とともに減るということです。安定した毎日の支払いを約束するクラウドマイニング契約は、プロトコルが作用して妨げるものを約束しているのです。
2021年7月の再調整、記録上最大の下落
2021年7月3日にマイニングされたブロック689,472は、ビットコイン史上最大の下方調整をもたらしました。難易度は1回で27.94%下落しました。
原因は技術的ではなく政治的でした。中国のマイニング禁止により、7日間平均ハッシュレートは6月中旬の毎秒約136エクサハッシュから約85エクサハッシュへと、およそ35%低下しました。難易度はより大きなネットワーク向けに設定されていたため、そのウィンドウのブロックは予定よりかなり遅れて到着しました。再調整は要件をほぼ28%引き下げ、ブロック時間は10分に向けて急速に戻り、発行は同じ曲線上で続きました。その期間の4回連続の下方調整により難易度は合計でおよそ45%取り除かれ、ネットワークは決して止まりませんでした。
この出来事は、この仕組みを支持する最も強い単独の根拠です。委員会が投票することも、緊急パッチが出荷されることもなく、ユーザーは何もする必要がありませんでした。
難易度調整vs難易度
難易度は数値であり、難易度調整はそれを変える出来事です。難易度は、現在の探索がルールの許す最も易しい探索よりどれだけ難しいかを示す単純な比率であり、それ自体では変動しません。調整は、次の2,016ブロックに向けて新しい値を設定する再計算です。「難易度」と表示されたチャートが階段状に見えるのはまさにこのためです。値はエポック内では平坦で、再調整のときだけ段階的に変わります。
難易度調整vs半減期
難易度調整はブロックを見つけるのがどれだけ難しいかを変え、半減期はブロックを見つけることでどれだけ支払われるかを変えます。両者は別々の時計で動き、2,016ブロックと210,000ブロックで、決して連動しません。半減期はマイナーの収益を一夜にして削り、それに続く停止は数週間後の低い難易度として現れますが、2つのルールはコード上で互いを参照しません。両者を混同することが「難易度の半減期」という言葉の由来であり、そのような出来事は存在しません。