私は自分にシンプルな質問をした後、ダスクの緊急モードを調べ始めました。合意形成(コンセンサス)に責任を持つ参加者のほとんどが突然オフラインになったら、何が起きるのか?
攻撃ではありません。悪意あるブロックでもありません。
ただ、合意に到達するだけの出資(ステーク)参加が足りないのです。
@Dusk の緊急モードが私の興味を引いたのは、それが理由でした。
最初は、緊急モードは主に緊急ブロックを生成することだと考えていました。よく見ると、必ずしもそれが本質ではありません。
1回の合意形成の反復が失敗しても、ダスクはすぐに扉を閉じません。前の反復が開いたまま、新しい反復が始まることで、残ったプロビジョナーが合意に到達できる可能性が増えます。
しかしそれはトレードオフも生みます。複数の反復を生かし続けることで、競合するブロックが発生する可能性が出てくるのです。
だからダスクは、最も低い(成功した)反復を優先します。
そして参加がなお不十分な場合、緊急ブロック要求(EBR)が別の回復経路を提供します。ネットワークの多数派の出資を表すEBRが集まると、空の緊急ブロックを生成できます。
そのブロックは取引を処理するためにあるのではありません。チェーンを前進させ、別の合意形成を試みるための新しいシードを確立することが目的です。
つまり、緊急モードは「合意が成功したときに何が起きるか」についてのものではありません。合意形成の前提が成り立たなくなったとき、プロトコルがどう振る舞うか——それが焦点なのです。
より深いトレードオフはここにあります。可活性(liveness)を保つことは有益ですが、複数の結果があり得る状況でも、回復経路は決定的である必要があるのです。
残された問いは、参加の劣化が一時的ではなく恒常的である場合、この回復経路がどれほど耐えうるか、です。
@Dusk $DUSK #dusk