受这次台风“沙德尔”影响,我在机场等延误航班,广播每隔十分钟播一次“抱歉通知”,从“预计延误一小时”改到“两小时”,最后直接变成“请您耐心等待”。旁边大哥气得给客服打电话:“到底飞不飞?”客服说:“天气原因,我们也在等最新指令。”我坐在那儿忽然觉得——这种“永远在等最终结果”的状态,不就是很多区块链的最终性困境吗?
绝大多数PoS链的交易确认,说白了也是“等等看”——等更多区块接上来,等分叉概率降到足够低,才敢说这笔钱真的到账了。问题是你不知道要等多久。
Dusk白皮书里描述的Rolling Finality(滚动最终性),把这件事拆成了四档状态:Accepted(已接受)、Attested(已见证)、Confirmed(已确认)、Final(最终)。Accepted只是有成功证明,但还可能被低轮次区块替换掉;Attested意味着前面所有迭代都失败了,这区块已经不可被同轮次替换;Confirmed是后面接的区块足够多,除非祖先被回滚,否则基本稳了;Final才是彻底锁死,任何情况都不可逆。
数据支撑这个设计的必要性:理论上一个区块最多可以跑50次迭代,如果连续16次失败,协议自动进入紧急模式——所有超时关闭,迭代无限持续直到产出区块。50次是最终配置上限,但紧急模式下开放路径会继续运行。
说句实话,以前看别的项目讲“最终性”,总觉得像机场广播一样——说了等于没说。 Dusk这套四档状态让我第一次觉得,最终性是可以被量化和预期的。Accepted到Final的每一档,都有明确的数学条件,不是“等等看”三个字糊弄过去。
今天这趟航班最后延误了四小时才飞。如果区块链的最终性也像机场那样靠“等”,谁敢拿它做金融结算?Dusk把“不可逆”拆成了四个台阶,每个台阶都有明确规则——这种确定性,才是金融级该有的样子。#dusk $DUSK @Dusk
绝大多数PoS链的交易确认,说白了也是“等等看”——等更多区块接上来,等分叉概率降到足够低,才敢说这笔钱真的到账了。问题是你不知道要等多久。
Dusk白皮书里描述的Rolling Finality(滚动最终性),把这件事拆成了四档状态:Accepted(已接受)、Attested(已见证)、Confirmed(已确认)、Final(最终)。Accepted只是有成功证明,但还可能被低轮次区块替换掉;Attested意味着前面所有迭代都失败了,这区块已经不可被同轮次替换;Confirmed是后面接的区块足够多,除非祖先被回滚,否则基本稳了;Final才是彻底锁死,任何情况都不可逆。
数据支撑这个设计的必要性:理论上一个区块最多可以跑50次迭代,如果连续16次失败,协议自动进入紧急模式——所有超时关闭,迭代无限持续直到产出区块。50次是最终配置上限,但紧急模式下开放路径会继续运行。
说句实话,以前看别的项目讲“最终性”,总觉得像机场广播一样——说了等于没说。 Dusk这套四档状态让我第一次觉得,最终性是可以被量化和预期的。Accepted到Final的每一档,都有明确的数学条件,不是“等等看”三个字糊弄过去。
今天这趟航班最后延误了四小时才飞。如果区块链的最终性也像机场那样靠“等”,谁敢拿它做金融结算?Dusk把“不可逆”拆成了四个台阶,每个台阶都有明确规则——这种确定性,才是金融级该有的样子。#dusk $DUSK @Dusk

