昨天晚上失眠了,我有翻开 $DUSK 白皮书第3.1节我读了三遍才把成熟期公式看明白
M = 2×epoch − (height mod epoch),epoch=2160个区块,我当时心想不就是等两个epoch吗,搞这么复杂干嘛。后来把不同时间点质押的情况代入才算清楚,这个公式算的是"什么时候统一生效",不是"等多久"

在epoch开头质押,height mod 2160 = 0,M = 4320个区块;在末尾质押,height mod 2160 = 2159,M = 2161个区块。不管什么时候质押,都会在下一个epoch边界统一进入eligible set。这个结果比我想的更有意思,委员会选举在每个epoch开始时是确定的,不用在epoch中间实时更新eligible set

我才注意到,1000 DUSK最低门槛和这个成熟期不是独立的两件事。白皮书写minStake = 1000 DUSK,但如果没有成熟期,攻击者可以在一个轮次中质押1000 DUSK参与,参与完立刻解质押,再创建新身份参与下一轮。成熟期把这条路堵死了,因为每笔质押必须锁定至少2161个区块,攻击者无法在短时间内重复使用资金

@Dusk_Foundation 白皮书里提到质押总量超过2.1亿DUSK,但我不确定这个数据是写白皮书时的快照还是持续更新的,所以没法判断现在实际有多少个活跃provisioner。不过从设计方向看,1000 DUSK决定的是攻击者需要多少资金才能影响网络,成熟期决定的是这笔资金需要锁定多久,两者结合比单独一个门槛的效果强很多
#dusk $DUSK @Dusk
我还在想的一个问题是,如果网络规模增长,1000 DUSK这个参数需不需要动态调整,我找了一晚上资料目前没有给答案