Recently, Harmony’s situation has been quite shocking. The attacker replays cross-shard receipts to fraudulently mint over 20% of ONE tokens out of thin air. The project team freezes funds and, at the same time, prepares to roll the entire chain back to the block before the attack. The community is in an uproar: should it be changed or not? I stared at the words “rollback” for a long time.
It touches on a problem that many people misunderstand: on a blockchain, what does “finality” really mean—an instantaneous stamp of approval, or something that grows over time?
In section 3.8 of the @Dusk whitepaper, it calls this rolling finality. It categorizes the state of each block into four levels: accepted (accepted), attested (attested), confirmed (confirmed), and final (final). These four stages are progressive—once a block is accepted, it isn’t immediately set in stone. As more and more new blocks are stacked on top, the determinism gradually becomes thicker.
The rule is actually intuitive: for each additional block later that is “attested,” the earlier one becomes more secure by one degree; only when all of its ancestors beneath it reach final does the block itself count as final. In other words, finality isn’t intrinsic to a block—it’s inherited from what lies under it.#dusk
What gives these attestations weight is the $DUSK staked by validators. Casting a wrong vote or helping fabricate information will be penalized and confiscated, so behind every “confirmation” there is real value backing it.
There’s a paradox here, which I call “borrowed finality”: even if a block has already been marked final, if its ancestors are later overturned, it will fall along with them. This is the same as the logic behind Harmony’s rollback—the question of whether the ledger can be changed is never a binary “yes or no” problem, but a gradient problem of “how much it would cost.” Technology can assign finality tiers, but whether to roll back ultimately comes down to human judgment. DYOR—don’t just trust my word.
It touches on a problem that many people misunderstand: on a blockchain, what does “finality” really mean—an instantaneous stamp of approval, or something that grows over time?
In section 3.8 of the @Dusk whitepaper, it calls this rolling finality. It categorizes the state of each block into four levels: accepted (accepted), attested (attested), confirmed (confirmed), and final (final). These four stages are progressive—once a block is accepted, it isn’t immediately set in stone. As more and more new blocks are stacked on top, the determinism gradually becomes thicker.
The rule is actually intuitive: for each additional block later that is “attested,” the earlier one becomes more secure by one degree; only when all of its ancestors beneath it reach final does the block itself count as final. In other words, finality isn’t intrinsic to a block—it’s inherited from what lies under it.#dusk
What gives these attestations weight is the $DUSK staked by validators. Casting a wrong vote or helping fabricate information will be penalized and confiscated, so behind every “confirmation” there is real value backing it.
There’s a paradox here, which I call “borrowed finality”: even if a block has already been marked final, if its ancestors are later overturned, it will fall along with them. This is the same as the logic behind Harmony’s rollback—the question of whether the ledger can be changed is never a binary “yes or no” problem, but a gradient problem of “how much it would cost.” Technology can assign finality tiers, but whether to roll back ultimately comes down to human judgment. DYOR—don’t just trust my word.


