近期 Harmony 的事挺震撼。攻击者靠重放跨分片收据,凭空铸出占比超过两成的 ONE 代币,项目方一边冻结资金,一边准备把整条链回滚到攻击前的区块。社区里吵成一锅粥:该改,还是不该改?我盯着“回滚”两个字看了很久。

它戳中一个被很多人误解的问题:一条链的“确定”,到底是一瞬间盖下的章,还是一点点长出来的?

@Dusk 白皮书第 3.8 节里,它管这个叫滚动最终性,把每个区块的状态分成四档:accepted(被接受)、attested(被背书)、confirmed(被确认)、final(最终)。这四档是递进的——区块被接受之后并不是立刻钉死,而是随着后面一个个新区块叠上来,确定性才一点点变厚。

规则其实很直觉:后面每多一个“被背书”的区块,前面这个就更稳一分;只有它脚下的祖先都成了 final,它自己才算 final。换句话说,确定性不是它自己的,是从脚下继承来的。#dusk

让这些背书有分量的,是质押者锁在里面的 $DUSK 。投错票、帮着造假会被罚没,所以每一档“确认”背后都有真金白银托着。

这里头藏着个悖论,我叫它“借来的确定性”:哪怕区块已经标成 final,只要祖先被推翻,它照样跟着倒。这跟 Harmony 回滚是同一个道理——账本能不能改,从来不是“能或不能”的二元题,而是“代价有多大”的梯度题。技术能给定性定级,可要不要回滚,终究还是人性拍板。DYOR,别只信我这一嘴。