我读到SA共识这段的时候,第一反应是去找它的最终性时间参数。白皮书写了"数秒内实现最终性",但没写精确是几秒。这个模糊让我有点不舒服,但也让我更想搞清楚它背后的逻辑。

先看对比。比特币$DUSK 的最终性靠的是概率,6个区块确认大概1小时,你等得越久越确信交易不会被回滚。以太坊的PoS最终性靠Casper协议,需要两个epoch,大概12.8分钟。Dusk说它只要数秒,凭什么。

关键在它的确定性分配机制。白皮书说,每轮开始前,DS算法已经提前选出了谁来做区块生成者,谁来做投票委员会。这个"提前知道"意味着投票者在区块被生成之前就已经准备好了,不需要临时拉人、不需要全网广播找共识。通信成本被大幅压缩。

我拆解了一下它的流程。每轮包含多个迭代,每个迭代有三个阶段,提案、投票、确认。投票委员会只由被选中的那组验证者参与,不是全网一起投。参与投票的节点数被控制在一个较小的范围内,所以投票过程的通信量很小,几轮信息交换就能完成@Dusk

但这里有一个我没想通的地方。白皮书提到了"滚动最终性"这个词,但具体机制没有展开。我的理解是,它可能指最终性不是一次性锁定的,而是随着新区块不断生成,前一区块的最终性概率逐步提高。如果是这样,那"数秒"可能指的是第一层确认,不是最终不可逆。#dusk

而且我注意到,白皮书没有给出精确的秒数。3秒和9秒都叫数秒,但对金融场景来说,意义完全不同。这个问题我暂时没法从白皮书里找到答案,可能得等主网上线后的实际测试数据。