Lesson 0414 min
CONFIRMATIONS · FINALITY

What Is the Difference Between Confirmations and Finality?

Produce consecutive blocks and advance a simplified finality switch to separate ‘included’ from ‘safe to depend on’.

OBJECTIVESAfter this lesson, you should be able to:
  • Separate block height, confirmations, and finality
  • Watch later blocks create a safety buffer
  • Understand why financial apps wait for a dependable state
COURSE POSITIONStep 4 of 4
  1. PREVIOUSWhy Must the Same Transactions Have the Same Order?
  2. CURRENTWhat Is the Difference Between Confirmations and Finality?

    Produce consecutive blocks and advance a simplified finality switch to separate ‘included’ from ‘safe to depend on’.

  3. NEXTFree sandbox
BEFORE YOU READ

Think about these questions first.

Choose an answer before opening the explanation. You can add anything unexpected to your review list.

Q01Why distinguish finality after many confirmations?
SHORT ANSWER

Confirmations usually mean a reorganization is becoming harder; finality is a protocol commitment that is not easily revoked. Their assumptions differ, so applications wait for more than a block counter.

Compared with your prediction:

Seeing a transaction in a block does not mean an application can treat it as an irreversible fact. Produce consecutive blocks and advance a simplified finality switch to separate “included”, “confirmed”, and “safe to depend on”.

Height, confirmations, and finality

Block height says where the chain is. Confirmations say how many later layers exist. Finality says whether an application can depend on the state under its consensus rules. Networks provide different guarantees; this lab builds intuition by advancing finality one block at a time.

LEDGER SIMULATION虚拟积分 · 无真实密钥
LEDGER 001 · SIGN / VERIFY / APPLY

一笔交易如何变成状态?

交易先被签名和广播,再由节点验证并打包进区块。任何一步不满足规则,余额都不会改变。

当前链高#0TIP GENESIS
待打包交易0Pending
你的 Nonce0下一个可用序号
已确认0Included
被拒绝0Rejected
最终性高度#00 个区块等待
账户状态余额 + Nonce 是可验证状态
Nonce
0
公钥
pk_alice_demo
Nonce
0
公钥
pk_bob_demo
Nonce
0
公钥
pk_you_demo
交易队列0 TXS

还没有交易。先用正确 Nonce 广播一笔转账。

FOCUS EXPERIMENT · FINALITY确认数与最终性

第一笔交易需要一个区块,后面的空区块用来制造确认缓冲。最终性高度不会自动追上链高。

链高 / 最终性
#0 / #0
确认缓冲
0 个区块
观察提示

先看三张账户余额和 Nonce。签名只授权一组具体字段,节点还要在打包时检查 Nonce、余额和状态规则。

链上区块0 BLOCKS

还没有区块。交易先在本地 Pending,等节点打包。

节点事件1 EVENTS
  1. 01

    创世状态:三个账户各有 1,000 积分,Nonce 从 0 开始。

ACTION HISTORYExperiment timeline
1 state snapshots

Use the slider to return to an earlier step. Continuing from there replaces the later history with a new sequence.

Initial state
View experiment records →

Mine the first transfer block, create empty blocks for confirmation buffer, and then advance finality. Chain height can grow while finality moves at its own pace.

Expand: how this step works
if block.height <= finalizedHeight:
  application_may_depend_on(block)
else:
  wait_for_more_confirmations()

Real networks use validator votes, economic penalties, or other consensus rules. This lab only models the separation between block production and an application's finality choice.

KNOWLEDGE CHECK

Why might an application wait after a block is mined?

LESSON RECAPComplete the exercise and knowledge check first