#dusk $DUSK
合意ドキュメントの別々の箇所で「2/3」と「1/2」という数字が繰り返し登場し、それらを同じ閾値で、表記が違うだけだと扱い続けていました。でも違います。これは、結果が異なる2つの別々の定足数ルールです。
ブロック承認の閾値: 委員会クレジットの≥2/3が「有効 (Valid)」に投票しなければなりません。これは上回多数(スーパーマジョリティ)です。64クレジットの委員会なら、ブロックが受理される前に、少なくとも43クレジットがそのブロックが正しいことに同意する必要があります。
ブロック却下の閾値: 委員会クレジットの>1/2 — ちょうど半分より厳密に多く、さらに1 — が「無効 (Invalid)」「候補なし (NoCandidate)」「定足数不足 (NoQuorum)」に投票しなければなりません。これは単純多数です。64クレジットの場合、少なくとも33です。
同じ委員会。別の基準。承認に到達するほうが、失敗を引き起こすよりも難しい。
では、却下の閾値もなぜ2/3を要求しないのでしょう。
非対称性は意図的です。設計上の狙いは、ブロック承認には高い確信が必要だということです。強い多数が正しいと認めない限り、ブロックが受理されるべきではありません。けれども、失敗した反復を打ち切ることには同じリスクはありません。ブロック生成器がオフラインだった、または無効なものを送ったのであれば、失敗を確認するためにより高い閾値を待つのではなく、ネットワークが素早く次へ進めるようにしたいのです。より低い却下閾値は、ネットワークの失敗検知を速め、より早く再試行させます。
実際、私は「速さ」の観点よりも「セキュリティ」の観点から、この閾値の非対称性のほうが興味深いと思います。より難しい承認閾値は、攻撃者が悪意のあるブロックを受理させるコストを、善意のバリデータが悪いものを却下するコストよりも大幅に高くします。
ただし、説明されていないと感じた点があります。それは、委員会の重み付けがこれらの閾値とどう相互作用するのか、ということです。64クレジットのうち20を保有する単一のプロビジョナーが、承認を実質的に阻止できるのか、それとも自分だけで却下を加速できるのか。あるいは、委員会内でのクレジット分布のために、そうした集中が現実的に不可能なのか。@Dusk
$DUSK #dusk
合意ドキュメントの別々の箇所で「2/3」と「1/2」という数字が繰り返し登場し、それらを同じ閾値で、表記が違うだけだと扱い続けていました。でも違います。これは、結果が異なる2つの別々の定足数ルールです。
ブロック承認の閾値: 委員会クレジットの≥2/3が「有効 (Valid)」に投票しなければなりません。これは上回多数(スーパーマジョリティ)です。64クレジットの委員会なら、ブロックが受理される前に、少なくとも43クレジットがそのブロックが正しいことに同意する必要があります。
ブロック却下の閾値: 委員会クレジットの>1/2 — ちょうど半分より厳密に多く、さらに1 — が「無効 (Invalid)」「候補なし (NoCandidate)」「定足数不足 (NoQuorum)」に投票しなければなりません。これは単純多数です。64クレジットの場合、少なくとも33です。
同じ委員会。別の基準。承認に到達するほうが、失敗を引き起こすよりも難しい。
では、却下の閾値もなぜ2/3を要求しないのでしょう。
非対称性は意図的です。設計上の狙いは、ブロック承認には高い確信が必要だということです。強い多数が正しいと認めない限り、ブロックが受理されるべきではありません。けれども、失敗した反復を打ち切ることには同じリスクはありません。ブロック生成器がオフラインだった、または無効なものを送ったのであれば、失敗を確認するためにより高い閾値を待つのではなく、ネットワークが素早く次へ進めるようにしたいのです。より低い却下閾値は、ネットワークの失敗検知を速め、より早く再試行させます。
実際、私は「速さ」の観点よりも「セキュリティ」の観点から、この閾値の非対称性のほうが興味深いと思います。より難しい承認閾値は、攻撃者が悪意のあるブロックを受理させるコストを、善意のバリデータが悪いものを却下するコストよりも大幅に高くします。
ただし、説明されていないと感じた点があります。それは、委員会の重み付けがこれらの閾値とどう相互作用するのか、ということです。64クレジットのうち20を保有する単一のプロビジョナーが、承認を実質的に阻止できるのか、それとも自分だけで却下を加速できるのか。あるいは、委員会内でのクレジット分布のために、そうした集中が現実的に不可能なのか。@Dusk
$DUSK #dusk

