昨日、私は Dusk の最終性ルールを見ていて、ある小さな数式で手が止まりました。2 × n。
最初は、最終性のロールアップは固定数のブロックを待つだけの話だと思っていました。でも Dusk はそう扱いません。
ここで n は、同じラウンドにおけるあるブロックの、直前までの非アテステーション(非採録)イテレーションの回数です。n = 0 なら、新しいブロックはアテステーション済みとしてマークされます。アテステーション済みのブロックは、その後継者がアテステーション済み、または確定済みになったときに確定します。
しかし n > 0 のときは話が変わります。
ブロックは受理され、確定する前に、アテステーション済みまたは確定済みのブロックを 2 × n 連続で必要とします。
つまり、
n = 1 なら 2 ブロック。
n = 2 なら 4 ブロック。
n = 3 なら 6 ブロック。
n = 4 なら 8 ブロック。
ホワイトペーパーには簡単な例があります。あるブロックがイテレーション 5 の位置にあり、さらに 2 つ前のイテレーションがアテストに失敗している場合、確認の前に必要なのはあと 4 ブロック(2 × 2)で、その 4 ブロックはいずれもアテステーション済みまたは確定済みである必要があります。その後、親がすでに確定しているときに、そのブロックは最終確定します。
面白いのは、Dusk がすべてのブロックを同じように扱っていない点です。
失敗した低いイテレーションの後に到着したブロックには、より多くの不確実性があるため、プロトコルはより多くの証拠を要求します。
私にとって 2×n は、基本的に適応型の安全バッファです。
失敗した経路が多いほど、より多くの確認が必要になります。
それが、今では Rolling Finality の理解がかなり深まった部分です。
#dusk @Dusk $DUSK
最初は、最終性のロールアップは固定数のブロックを待つだけの話だと思っていました。でも Dusk はそう扱いません。
ここで n は、同じラウンドにおけるあるブロックの、直前までの非アテステーション(非採録)イテレーションの回数です。n = 0 なら、新しいブロックはアテステーション済みとしてマークされます。アテステーション済みのブロックは、その後継者がアテステーション済み、または確定済みになったときに確定します。
しかし n > 0 のときは話が変わります。
ブロックは受理され、確定する前に、アテステーション済みまたは確定済みのブロックを 2 × n 連続で必要とします。
つまり、
n = 1 なら 2 ブロック。
n = 2 なら 4 ブロック。
n = 3 なら 6 ブロック。
n = 4 なら 8 ブロック。
ホワイトペーパーには簡単な例があります。あるブロックがイテレーション 5 の位置にあり、さらに 2 つ前のイテレーションがアテストに失敗している場合、確認の前に必要なのはあと 4 ブロック(2 × 2)で、その 4 ブロックはいずれもアテステーション済みまたは確定済みである必要があります。その後、親がすでに確定しているときに、そのブロックは最終確定します。
面白いのは、Dusk がすべてのブロックを同じように扱っていない点です。
失敗した低いイテレーションの後に到着したブロックには、より多くの不確実性があるため、プロトコルはより多くの証拠を要求します。
私にとって 2×n は、基本的に適応型の安全バッファです。
失敗した経路が多いほど、より多くの確認が必要になります。
それが、今では Rolling Finality の理解がかなり深まった部分です。
#dusk @Dusk $DUSK
Fixed Finality
100%
Adaptive Finality
0%
Stronger Security
0%
2 投票 • 投票は終了しました