誰もがダスクの「高速ファイナリティ」について語ります。私は、最初のブロックが失敗したときに何が起きるかという面白い部分を見つけました。@Dusk

午後ずっと、ホワイトペーパーと現在のドキュメントにあるダスクのファイナリティ規則を掘り下げました。そして n=0 の経路こそが、私を止めた(気づかせた)のです。

ブロックは4つの状態を経て進みます。Accepted(受理)、Attested(承認済み)、Confirmed(確定)、そして Final(確定的)。鍵となるのは n で、同じラウンド内でそれ以前の反復がすでに何回失敗したかを表します。

n が0の場合、そのブロックはすぐに Attested としてマークされます。そこから、後続のブロックが1つだけ存在し、それが自体 Attested または Confirmed であれば、ブロックは Confirmed になります。これがドキュメントが説明する高速パスです。

n が0より大きい場合はルールが変わります。ブロックはまず Accepted として開始されます。そして、その後に続く 2n 回連続の Attested または Confirmed ブロックが必要です。例として、反復5(iteration-5)のブロックで、それより前に失敗が2回あるなら、さらに良好なブロックが4つ必要です。つまり、それが Confirmed になり、かつ親がすでに Final であることが確認されて初めて不可逆になります。

この設計は、最初に成功したジェネレーターにより強いファイナリティを与える意図的なものです。後からのものは、過去の試みが本当に失敗したという証拠がネットワークにより多く蓄積されてから、同じ強さを得ます。

その部分は納得できます。

ただ引っかかっているのは、日常会話で遅い経路が現れることがどれほど稀なのかという点です。通常の条件では、多くのブロックは n=0 の経路を取り、強いファイナリティに素早く到達します。追加の要件は、ネットワークがすでにストレス下にあるときにだけ現れます。

それでも、「instant finality(即時ファイナリティ)」と引用している人たちが、2つの経路の違いを実際に座って(時間をかけて)理解したことがあるのは、結局どれくらいの人数なのか気になっています。#dusk $DUSK