昨夜、Duskのドキュメントを読み返し、特にDSアルゴリズムと、コンセンサスのためにプロビジョナーがどのように選出されるかの節を確認しました。
まず、ステークの適格性ルールを整理しようとしました。プロビジョナーのステークSは、その金額が最低額(1000 DUSKに設定)以上であり、さらに年数/長さが0〜Mの範囲に収まっている場合にのみ適格とみなされます。DSプロセスでは、適格なステークを、ステークの大きさと、前のブロックハッシュおよびプロビジョナーの公開鍵に基づく決定論的な関数を組み合わせたスコアで順位付けします。最も高いスコアのプロビジョナーが、次のブロックを提案できる存在になります。
さらに読み進めると、流れがよりはっきりしました。選出されたプロビジョナーが候補ブロックをブロードキャストし、他のプロビジョナーで構成される委員会がバリデーションを行い、ValidBkメッセージが単純過半数(½ + 1)だけ出そろうと、ブロックはラティフィケーション(承認)へ進みます。ラティフィケーション自体はさらに強い閾値 ⅔ + 1 が必要で、その時点でブロックは最終確定と見なされ、新しいプロビジョナー集合がロックインされます。アテステーションと投票の委員会も、同じ決定論的な方法で形成されますが、シードが異なるだけです。
ただ、私の中でまだ未解決に感じるのは、Mの正確な値と、1000 DUSKのフロアが、チェーン全体にどれほど敏感なのかという点です。これらのパラメータが変わった場合、外からは見えにくい形でプロビジョナー集合の実効的な分散性は変化するのでしょうか? そして、ブロックがアテストされた後に、後続の監査でDSランキングが操作(ガミング)されていたことが判明した場合、実務上どれくらいの救済手段が存在するのでしょうか?
同じページを掘り下げた他の方々が、これらの過半数(多数決)閾値周りのセキュリティマージンをどのように読んだのか、気になります。
#dusk $DUSK @Dusk
まず、ステークの適格性ルールを整理しようとしました。プロビジョナーのステークSは、その金額が最低額(1000 DUSKに設定)以上であり、さらに年数/長さが0〜Mの範囲に収まっている場合にのみ適格とみなされます。DSプロセスでは、適格なステークを、ステークの大きさと、前のブロックハッシュおよびプロビジョナーの公開鍵に基づく決定論的な関数を組み合わせたスコアで順位付けします。最も高いスコアのプロビジョナーが、次のブロックを提案できる存在になります。
さらに読み進めると、流れがよりはっきりしました。選出されたプロビジョナーが候補ブロックをブロードキャストし、他のプロビジョナーで構成される委員会がバリデーションを行い、ValidBkメッセージが単純過半数(½ + 1)だけ出そろうと、ブロックはラティフィケーション(承認)へ進みます。ラティフィケーション自体はさらに強い閾値 ⅔ + 1 が必要で、その時点でブロックは最終確定と見なされ、新しいプロビジョナー集合がロックインされます。アテステーションと投票の委員会も、同じ決定論的な方法で形成されますが、シードが異なるだけです。
ただ、私の中でまだ未解決に感じるのは、Mの正確な値と、1000 DUSKのフロアが、チェーン全体にどれほど敏感なのかという点です。これらのパラメータが変わった場合、外からは見えにくい形でプロビジョナー集合の実効的な分散性は変化するのでしょうか? そして、ブロックがアテストされた後に、後続の監査でDSランキングが操作(ガミング)されていたことが判明した場合、実務上どれくらいの救済手段が存在するのでしょうか?
同じページを掘り下げた他の方々が、これらの過半数(多数決)閾値周りのセキュリティマージンをどのように読んだのか、気になります。
#dusk $DUSK @Dusk
