DevelopersSeptember 14, 2026by
EmpoorioChain Core
EmpoorioChain Core

Forks, Reorganisations and What GRANDPA Finality Means for Anyone Holding Value

The dilemma

On a chain with probabilistic finality, a block is never final — only increasingly unlikely to be reverted. Exchanges wait N confirmations and choose N by appetite for loss. A deep reorganisation — natural or hostile — can undo transactions everyone had treated as settled. The industry's answer has been confirmation counts, insurance funds and, occasionally, social rollbacks.

EmpoorioChain's answer

Deterministic finality. GRANDPA finalizes a block when two thirds of the validator set have voted for a chain containing it. A finalized block cannot be reverted by the protocol; a node that sees a conflicting finalized block has detected a Byzantine fault (more than a third of validators equivocating), not a reorganisation. There is no confirmation count to choose. Finalized is the state, and on the testnet it arrives about 17 seconds after inclusion.

Before finality, blocks can be reorganised — Aura produces them optimistically. That is why every client shows three states and treats included as provisional.

What this guarantees an exchange

Credit deposits at finality and the chain will never take them back without a fault that the whole network can see and prove. The exchange-integration guide says exactly this: credit on chain_getFinalizedHead, not on inclusion.

What it does not guarantee

  • Liveness. GRANDPA needs two thirds. The testnet has two validators; lose one and finality stops — nothing is reverted, but nothing is finalized either. Fault tolerance is zero, and the decentralization report says so.
  • Against a supermajority. If more than a third of validators are Byzantine, GRANDPA's safety proof no longer holds. With two validators run by one operator, the network's safety is that operator's honesty. This is the honest reading of the current state.

Insurance

pallet-insurance (runtime index 71) provides coverage pools and claims as a native primitive — designed for smart-contract or protocol-level cover, not as a reorg fund. On a chain with deterministic finality, the thing to insure is not "my transaction was reverted" but application-level failure. The pallet is wired and unexercised, and the DeFi audit that would precede any real cover is not commissioned.

The trade

Deterministic finality trades liveness for safety: the chain would rather stop than finalize something wrong. For a payment network — a merchant releasing goods, an exchange crediting a deposit — that is the right trade, and it is why the ecosystem's clients are built around finalized rather than confirmations.

Based on CONSENSUS_STATUS.md, INTEGRACION_EXCHANGES.md, DECENTRALIZATION_REPORT.md and PALLET_REFERENCE.md.

Share this article