#dusk $DUSK 证券后台最危险的提示,不一定是“失败”,而是“已受理”。失败至少会让人停下来,已受理却很容易被理解成钱货两清。链上也是一样:区块进了本地账本,不代表它已经走到绝对不可替换的最后一步。
我重新读 @Dusk 白皮书的Rolling Finality,才发现Dusk没有把所有“确认”混成一个词,而是分成accepted、attested、confirmed和final四种状态。accepted区块虽然拿到了成功证明,但如果它来自较高迭代,并且前面的较低迭代没有失败证明,后来出现一个较低迭代的合法区块时,它仍可能被替换,后面的区块也会跟着回退。
attested更稳,因为它要么来自第0次迭代,要么此前迭代都已经留下失败证明;confirmed还需要后续区块继续为当前链增加可信度;只有final才代表父区块也已经final,整条祖先路径封死,不能再被替换。
白皮书给了一个具体例子:某区块在第5次迭代产生,但此前只有两次迭代带有失败证明,它先被标记为accepted,需要再等4个连续的attested或confirmed区块,才会进入confirmed。也就是说,“已经出块”和“可以把证券交割当成不可撤销事实”之间,确实可能隔着几步。
我认可这种诚实。金融系统最怕把概率藏进一个绿色勾里。但它也给产品端留下了功课:钱包、交易场所和登记系统到底显示哪个状态?用户看到accepted时能不能继续转让或赎回?如果界面统一写成“成功”,再严谨的共识状态也会被产品文案抹平。
所以我看Dusk的秒级终结,不只看平均用了几秒,还会看异常迭代下从accepted走到final的分布,以及应用是否真的等到final再认账。终结性不是一个营销数字,而是一套不能把“差不多完成”说成“已经完成”的纪律。
我重新读 @Dusk 白皮书的Rolling Finality,才发现Dusk没有把所有“确认”混成一个词,而是分成accepted、attested、confirmed和final四种状态。accepted区块虽然拿到了成功证明,但如果它来自较高迭代,并且前面的较低迭代没有失败证明,后来出现一个较低迭代的合法区块时,它仍可能被替换,后面的区块也会跟着回退。
attested更稳,因为它要么来自第0次迭代,要么此前迭代都已经留下失败证明;confirmed还需要后续区块继续为当前链增加可信度;只有final才代表父区块也已经final,整条祖先路径封死,不能再被替换。
白皮书给了一个具体例子:某区块在第5次迭代产生,但此前只有两次迭代带有失败证明,它先被标记为accepted,需要再等4个连续的attested或confirmed区块,才会进入confirmed。也就是说,“已经出块”和“可以把证券交割当成不可撤销事实”之间,确实可能隔着几步。
我认可这种诚实。金融系统最怕把概率藏进一个绿色勾里。但它也给产品端留下了功课:钱包、交易场所和登记系统到底显示哪个状态?用户看到accepted时能不能继续转让或赎回?如果界面统一写成“成功”,再严谨的共识状态也会被产品文案抹平。
所以我看Dusk的秒级终结,不只看平均用了几秒,还会看异常迭代下从accepted走到final的分布,以及应用是否真的等到final再认账。终结性不是一个营销数字,而是一套不能把“差不多完成”说成“已经完成”的纪律。
