钱包里那个"已确认"的小图标看起来平平无奇,翻完Dusk的最终性文档后我才意识到,这个不起眼的提示背后压缩了四种彻底不同的可信度等级。
一个新出的区块先经历"被接纳"这个阶段,此时如果同一轮里出现了更早的候选块,它随时可能被替换掉。熬过去升到"被证实"级别,才算摆脱了这种被顶掉的命运;再往上是靠后续区块堆积出来的"已锁定";到"完全定案"这一层,得等它的父块也走完整个流程。
关键的地方在于,从新生到完全定案需要多少后续区块背书,并没有统一答案。这个数字和该区块出生时经历过多少次失败尝试挂钩——出生越坎坷,后面就要用更多确认量来对冲那份先天不确定性。同样是"确认"这个标签,实际含金量可能相差悬殊。
顺着这个思路看别的模块,我发现同一种分层哲学在其他地方也出现了。负责路由不同类型交易的那个核心合约,会根据交易属性把它们分到相应的验证通道,走完各自流程后再统一登记到链上账本。可见的转账、加密的转账、账户型的、票据型的,都得以一致方式落地。
再把视角挪到撮合场景就有意思了——每一笔成交要让市场认可,就得让链上留下可被复核的痕迹。分级最终性给了应用一把有刻度的判断尺,什么时候可以对外承诺、什么时候只能临时预记账,节点自己拿捏。
代价是这层复杂度对普通用户不可见。极端网络分叉的时候,这个信息差落在谁头上,影响究竟如何,还需要继续观察的。
#dusk @Dusk $DUSK
一个新出的区块先经历"被接纳"这个阶段,此时如果同一轮里出现了更早的候选块,它随时可能被替换掉。熬过去升到"被证实"级别,才算摆脱了这种被顶掉的命运;再往上是靠后续区块堆积出来的"已锁定";到"完全定案"这一层,得等它的父块也走完整个流程。
关键的地方在于,从新生到完全定案需要多少后续区块背书,并没有统一答案。这个数字和该区块出生时经历过多少次失败尝试挂钩——出生越坎坷,后面就要用更多确认量来对冲那份先天不确定性。同样是"确认"这个标签,实际含金量可能相差悬殊。
顺着这个思路看别的模块,我发现同一种分层哲学在其他地方也出现了。负责路由不同类型交易的那个核心合约,会根据交易属性把它们分到相应的验证通道,走完各自流程后再统一登记到链上账本。可见的转账、加密的转账、账户型的、票据型的,都得以一致方式落地。
再把视角挪到撮合场景就有意思了——每一笔成交要让市场认可,就得让链上留下可被复核的痕迹。分级最终性给了应用一把有刻度的判断尺,什么时候可以对外承诺、什么时候只能临时预记账,节点自己拿捏。
代价是这层复杂度对普通用户不可见。极端网络分叉的时候,这个信息差落在谁头上,影响究竟如何,还需要继续观察的。
#dusk @Dusk $DUSK