ASERT 解説
ASERT(Absolutely Scheduled Exponentially Rising Targets、aserti3-2dとして実装)は、2020年11月から稼働しているBitcoin Cashの難易度調整アルゴリズムで、Bitcoinのように2,016ブロックごとではなく、すべての単一ブロックに対してマイニング難易度を再計算する。
ASERT(Absolutely Scheduled Exponentially Rising Targets、aserti3-2dとして実装)は、2020年11月から稼働しているBitcoin Cashの難易度調整アルゴリズムで、Bitcoinのように2,016ブロックごとではなく、すべての単一ブロックに対してマイニング難易度を再計算する。固定アンカーポイントからチェーンの実際のタイムラインがブロックあたり10分の理想スケジュールからどれだけ乖離したかを測定し、2日間の半減期で難易度を指数関数的に戻す。ソロマイナーにとって重要な効果:機会主義的なハッシュレートがチェーンを侵略するために使う収益性の高い窓を消す、継続的で崖のない調整——安定してマイニングするすべての人の確率を守る。
重要なポイント
- エポックごとではなく、ブロックごとに。Bitcoinは~2,016ブロック難易度を固定してから跳ぶ;ASERTは毎ブロック調整する。プラトーなしは窓なし——マイナーにとって最も重要な単一の結果。
- 式は1行だ。next_target = anchor_target × 2^((actual_time − scheduled_time) / half_life)。難易度はチェーンがスケジュールからどれだけ乖離したかによってスケールされたアンカーの難易度だ。
- 2日間の半減期が調整ノブだ。スケジュールより2日進めば難易度が倍になる;2日遅れれば半分になる。実際のハッシュレートを追跡するのに十分に速く、幸運なブロックのノイズを無視するのに十分に遅い。
- 安定したマイナーを報いるよう設計された。ASERTの明示的な設計目標には、チェーン間を飛び回るスイッチマイナーの利益優位性の最小化が含まれていた——これはまさにマイノリティチェーンのソロマイナーが求める保護だ。
- 同じ設計が小さすぎるチェーンを罠にかけることがある。短いハッシュレートの洪水が難易度を急上昇させ;去ると、小さなチェーンは10×スパイクから回復するのに~6.6日かかることがある。そのためASERTの小さなチェーンでの動作は同時に機能であり危険でもある。
この記事は、ASERTがチェーンの鎧であるBitcoin Cashプロファイルと、反対の世界——窓がまだ存在し使われるチェーン——を探るBC2リターゲット窓ガイドと並んだ難易度科学クラスターにある。ASERTを理解することは、なぜ一部のチェーンにはそれらの窓があり他のチェーンにはないのかを理解することだ。
ASERTが解決するために構築された問題
すべてのプルーフ・オブ・ワークチェーンは一つの質問に継続的に答えなければならない:ハッシュレートが参加したり去ったりするとき、どうやってブロックが約10分ごとに到着し続けるようにするか?Bitcoinの元の答え——前のエポックのペースから2,016ブロックごとに再計算——はハッシュレートが巨大で安定しているときは完璧に機能する。小さなチェーンでは特定の、悪用可能な方法で失敗する。
Bitcoin Cashはこれを苦い経験で学んだ。2017年のフォーク後の最初の難易度アルゴリズム、およびその前の緊急調整は激しい振動を生んだ:難易度が落ち、機会主義的な「スイッチマイナー」が簡単なブロックを採掘するために殺到し、難易度が急上昇して彼らが去り、チェーンは次の低下まで停滞した——安定してマイニングするすべての人を傷つけるのこぎり歯。パターンには名前と犠牲者があった:収益性の高い窓、そしてその取り分が希薄化された忠実なマイナー。ASERTは、競合アルゴリズムに対する広範なシミュレーションの後、具体的にそののこぎり歯を平らにするために設計された——その明示的な目標には、ブロック時間を目標近くに保つこと、確認時間を目標近くに保つこと、そして安定したマイナーとスイッチマイナーの収益性ギャップを削減することが含まれていた。
aserti3-2dが実際にどのように機能するか
アルゴリズム全体は一つの優雅な式だ:
next_target = anchor_target × 2((time_delta − ideal_block_time × (height_delta + 1)) / half_life)
平易な言語で読め。チェーンの過去から固定されたアンカーブロックを取れ——Bitcoin Cashでは、ASERTが有効化される直前のブロック。その難易度が永久的なベースラインだ。今どの新しいブロックに対しても、2つのことを計算する:time_delta、アンカーから実際に経過した時間、そしてスケジュールされた時間、アンカーからのブロック数にideal_block_time(600秒)をかけただけのもの。それらの差——チェーンはその理想のタイムテーブルより進んでいるか遅れているか?——が指数に入り、半減期で割られる。チェーンがちょうどスケジュール通りなら、指数はゼロ、20 = 1、難易度はアンカーと等しい。スケジュールより進むと指数が正になり、リードの半減期ごとに難易度が倍になる。遅れると負になり、ラグの半減期ごとに難易度が半分になる。
2つの設計上の選択がそれを堅牢にする。アンカーが絶対的(固定点、決してスライドウィンドウではない)であるため、丸めの不正確さが月をかけて蓄積することができない——すべてのブロックは同じ起点から新しく計算される。そして浮動小数点演算が異なるプロセッサで異なる結果を生む——コンセンサスの大惨事の待機中——ため、ASERTは固定小数点整数演算と三次多項式で指数を近似し、すべてのマシンのすべてのノードがバイト同一の難易度を計算する。それは3行の整数コードに偽装した制御システムフィードバックループだ。
2日間の半減期:重要な数字
半減期はASERTの個性だ。Bitcoin Cashは2日間(技術的には288ブロックの理想時間)を選んだ、そして人間が読める版はちょうどその通り聞こえるほど明確だ:チェーンがスケジュールより2日進むごとに難易度が倍になる;2日遅れるごとに難易度が半分になる。
なぜ具体的に2日か?シミュレーションで見つかった均衡点だ。半減期が短すぎると難易度が速いブロックの幸運な連続ごとにビクビクして統計的ノイズに過剰反応する——チェーンが決して安定しない。長すぎると実際のハッシュレートの変化に遅々として反応し、目標から数日乖離して閉じるはずだった窓を再開する。2日がスイートスポットにある:実際の変化に約1日で応答、個々のブロックのランダムジッタに対しては無感覚。これから出てくる実用的な計算:2×の難易度スパイクからの回復に2日、4×スパイクに4日、10×スパイクに約6.6日——チェーンが小さい瞬間に非常に重要になる数字。
ASERTがソロマイナーにとって意味すること
重要度順に3つの結果。
あなたの安定した確率は保護される。これが見出しだ。エポックリターゲットチェーンでは、バーストマイナーは難易度の低下を待ち、簡単な窓の間に押し寄せ、修正前に去ることができる——彼らが採掘するすべての簡単なブロックはあなたが採掘しなかったもので、操作されたインターバルのあなたの取り分を希薄化する。ASERTはその窓を消す:難易度は彼らが来た瞬間に上がり、去った瞬間に下がる、ブロックごとに、農作する遅延がない。忠実なマイナーの期待される取り分はクリーンなままだ。
あなたが見る難易度は正直だ。Bitcoinでは、今日の難易度は最大2週間前のネットワークを反映する;ASERTチェーンでは最後の数ブロックのネットワークを反映する。あなたが確率を計算するとき——計算機で、または手計算で——ASERTチェーンの数字はライブ価格であり、遅延平均ではない、したがってあなたの確率推定はチェーン自体と同じくらい最新だ。
あなたはタイミングを計れない——他の誰もそうだ。保護の裏面はASERTがスマートな参入ポイントを提供しないことだ。飛び込む難易度の低下はない、なぜならどの低下もすべてのネットワークに同時に価格設定されているから。これはリターゲット窓チェーンでの遊び可能なダイナミクスとは正反対で、公平な取引だ:スケジュールを操作できる機会を、誰もあなたに対してスケジュールを操作しないという保証と引き換えに諦める。
小さなチェーンのパラドックス:ASERTの最も鋭い刃
ここで優雅さが両刃になる。ASERTの応答性は、難易度が本物の持続的なシグナルを追跡できるよう十分な安定したハッシュレートを持つチェーンを前提とする。それに非常に少ないハッシュレートのチェーンを与えると、一人の大きなマイナーが武器になる——常に悪意的にではなく、時には単に現れることで。
失敗のモード:大きなマイナーが数時間、小さなチェーンに真剣なハッシュレートを向ける。ブロックが飛び、チェーンがスケジュールよりはるかに先に行き、ASERTが忠実に難易度を急上昇させる——おそらく10×。そして大きなマイナーが去る。今、チェーンの通常の適度なハッシュレートはその10倍のサイズのために構築された難易度に直面し、ブロックが止まる。標準の2日間の半減期では、10×スパイクから回復するのに約6.6日かかる——チェーンが実質的に凍結し、確認が止まり、アルゴリズムが守るはずだった忠実なマイナーが取り残されてひき続ける約1週間。それは難易度アルゴリズムバージョンのストレス傷害だ:健全なチェーンを強くする筋肉が弱いものを引き裂くことができる。
これが、ASERTを採用するより新しく小さなSHA-256チェーンが短縮された半減期で頻繁に立ち上げる理由——スパイクから数日ではなく数時間で回復——生存可能性と引き換えにノイズ感度を少し多く受け入れる。また、非常に小さなチェーンが彼らの魅力的な確率が示唆するより危険にマイニングされる大きな理由で、ラダーの底にハッシュレートを向ける前に完全に理解する価値があるトレードオフだ。
結論
ASERTはプルーフ・オブ・ワークの静かな傑作の一つだ:1行の式、指数の整数近似、そして2日間の半減期——これらが一緒に激しい難易度ののこぎり歯を滑らかで崖のない曲線に変える。Bitcoin Cashのソロマイナーにとって、それは見えないようにそしてあなたの利益に機能する——スイッチマイナーからあなたの取り分を守り、あなたの確率を分単位で正直に保ち、そしてあなたがどうせ決して勝てなかったゲームの機会を諦めるだけを求める。
そしてその最も鋭い刃——小さなチェーンでのスパイクトラップ——において、難易度科学クラスターで最も深い教訓を教える:同じメカニズムが後ろにどれだけのハッシュレートがあるかにまったく依存して鎧や危険になることができる。あなたがどのチェーンにいるかを知れば、あなたがどのASERTをマイニングしているかを知る。
安定したマイナーを保護するチェーンをマイニングせよ
SoloFuryはBitcoin Cashを独自のノードで実行している——ASERT保護、ブロックごとの難易度、バーストマイナーがあなたの取り分を侵略する窓なし。非カストディアルcoinbase支払い、1%手数料、全地域のTLSエンドポイント、計算機でのライブ難易度。安定したハッシュレートはこのアルゴリズムが報いるために設計されたものだ。
BCHをソロマイニングする →ライブ難易度の確率を見る →よくある質問
ASERTとは何か、Bitcoinの難易度調整とどう違うか?
ASERT(aserti3-2d)は、固定アンカーポイントからブロックごとに10分のスケジュールからどれだけ乖離したかを測定して難易度を再計算する。Bitcoinは2,016ブロックごとに再計算する。結果:ASERTにはプラトーも窓もない——スイッチマイナーが悪用する簡単なマイニング機会——Bitcoinには各エポックの終わりに悪用可能な窓がある。
ASERTの2日間の半減期とは何か?
半減期はASERTの応答速度を決める。2日間では:チェーンがスケジュールより2日進んでいれば難易度が倍になり、2日遅れていれば半分になる。実際のハッシュレートの変化を追跡するのに十分に速く、幸運なブロックの統計的ノイズを無視するのに十分に遅い。
ASERTはどのようにソロマイナーを保護するか?
スイッチマイナーは難易度の低下を待ち、簡単な窓の間に押し寄せ、修正前に去る——彼らが採掘するすべての簡単なブロックはあなたが採掘しなかったもので、操作されたインターバルのあなたの取り分を希薄化する。ASERTはその窓を消す:難易度は彼らが来た瞬間に上がり、去った瞬間に下がる、ブロックごとに。
ASERTでの小さなチェーンのパラドックスとは?
ASERTの応答性は十分な安定したハッシュレートを前提とする。数時間だけ小さなチェーンに大量のハッシュレートを向ける大きなマイナーは難易度を10×に引き上げて去ることができる。標準の2日間の半減期では、10×のスパイクから回復するのに約6.6日かかる——チェーンが実質的に凍結した1週間。