我研究PoS链时,过去最在意的是APY和锁仓期。研究Dusk的Succinct Attestation和Proof-of-Blind Bid后,我反而开始盯着一个更实际的问题:当$DUSK 已经进入Blind Bid状态,用户到底需要经过什么条件才能真正拿回它。
我原本认为,参与共识无非就是质押和委托。但研究Dusk的技术文档后,我发现这其实是一条状态转换。正常情况下,用户把#dusk 锁定进Bid Contract,生成一个包含承诺金额与secretHash的bid,插入Merkle Tree,同时附带两个关键高度:h{eligibility}(开始参与共识)和h{expiration}(过期高度)。在Generation阶段,网络通过Proof-of-Blind Bid隐私保护地提取Generator,出价者身份始终被混淆;与此同时,Provisioner通过确定性抽签进入委员会,在Reduction和Agreement阶段对候选区块进行两轮投票,达成统计最终性。
真正让我在意的是,提交Bid并不等于随时可退出。因为Bid Contract规定,在h{expiration}到达之前,用户无法发起F^{WithdrawBid}。而且Dusk把角色做了分离:你既可以是Generator(通过Blind Bid竞争出块权),也可以是Provisioner(通过Stake Contract锁定质押参与验证)。如果你作为Provisioner双签或作恶,任何人都可以调用Stake Contract的F^{Slash}函数举报,你的质押会被部分罚没。也就是说,参与共识不是一个按钮,而是一段受协议规则约束的时间窗口——你的@Dusk 在过期前既在保护网络,也在承担被惩罚的风险。
所以我看来,Dusk真正解决的是:PoS共识中leader选举的透明性和MEV问题,协议就用Blind Bid、确定性抽签、角色分离和统计最终性把这些状态拼出来。代价也很明显,用户不再只是"质押DUSK等收益",而是要理解Bid、Stake、Generator、Provisioner和Slashing之间的关系。
我长期会观察的,不是质押入口有多简单,而是普通用户是否真的理解自己参与共识时到底在等待什么。