Duskを調べるために数日費やしているうちに、ある点が私の目に留まりました。興味深いのは、すべてがうまくいくときにコンセンサスがどのように機能するかだけではありません。ネットワークがそこに到達できないときに何が起きるのかです。

複数のイテレーションが失敗し続けている状況を想像してください。重要なプロビジョナーがオフラインだったり、隔離されたりしています。システムは単にタイムアウトし続けて、待ち続けることもできます。

Duskは別の道を選びます。

ホワイトペーパーによると、連続16回の失敗イテレーションの後、Succinct Attestationプロトコルはエマージェンシーモードに入ります。ステップのタイムアウトは無効化され、候補ブロックが生成され、検証と承認の両方でクォーラムが達成されるまで処理は前に進みます。

しかし、重要なトレードオフがあります。

複数のオープンイテレーションを同時に実行することで、有効なブロックに到達できる可能性は高まりますが、フォークが発生する可能性も高まります。Duskは、それらのフォークを「最も低いイテレーションからの候補」を選ぶことで解決します。

私が注目したのは、失敗がプロセスの終わりとして扱われないという設計思想です。プロトコルには、極端なネットワーク状況でも決定へ向かうための定義された道筋があります。

そのため、エマージェンシーモードは単なるバックアップの切替スイッチというより、Duskが失敗を扱う方法の一部として慎重に設計されたもののように感じられます。

@Dusk $DUSK
$GPS
#dusk $PORTAL