我读SA共识的第一反应是,1000 DUSK这个数字是怎么拍出来的。白皮书只给了结果,没给推导过程。所以我顺着它的参数往回推。

它设了一个epoch,是2160个区块。按Dusk目前出块速度算,大概6小时一个epoch。然后它给了一个成熟期公式,M = 2 × epoch - (height mod epoch)。也就是说,你质押一笔DUSK,得等大半个epoch到一整epoch之后,才能真正开始干活。

这个设计有意思的地方在于,它把所有新质押的生效时间对齐到epoch的边界。不是随到随生效,而是集体在同一个起点激活。这么做的目的,我猜是为了让DS算法的确定性抽签有一个稳定的质押池快照。如果随时进随时生效,那每个区块的候选provisioner集合都在变,确定性分配就不好做了$DUSK

那1000 DUSK本身呢。我算了一下,如果门槛设成100,那provisioner数量会暴涨,每个epoch的64个slot竞争更激烈,但单个节点的质押量太低,网络安全性反而可能被稀释。如果设成10000,那散户基本进不来,provisioner变成少数大节点的游戏,去中心化就打折扣。@Dusk

1000这个数,卡在中间。我翻了其他几条PoS链的参数,Dusk这个门槛不算高,但也不算低。它像是在说,我不希望你随便拿点零花钱就来跑节点,但我也不希望你非得是大户才能参与。

不过我还是有一个没想透的问题。白皮书没有给出provisioner的总数目标区间,也没有说64个slot的竞争烈度在什么比例下是最优的。没有这些数据,我其实没法判断1000到底准不准。也许它的合理性,只能在主网上线后用实际数据来验证。#dusk