Note: Blockchain reorganizations can happen for a variety of reasons. It's an engineering best practice to expect reorganizations and make your system resilient to them.
When you submit a transaction to CPN, it is initially in the pending
state and
waiting to be broadcast to the blockchain. Once the transaction is broadcast to
the blockchain, it transitions to the broadcasted
state, and the transaction
is waiting to be included in a block.
CPN monitors each block of supported blockchains and the status of CPN transactions on those chains, updating the status as necessary.
Block confirmation is the process of validating and adding transactions to a block on a blockchain. Each time a new block is added to a blockchain, it confirms the previous blocks.
Without a sufficient number of confirmations, transactions are vulnerable to alteration through blockchain reorganization. Blockchain reorganization occurs when validators discard one or more blocks that were previously part of the canonical chain and replace them with a different set of blocks, rewriting part of the chain.
Note: Blockchain reorganizations can happen for a variety of reasons. It's an engineering best practice to expect reorganizations and make your system resilient to them.
Each additional block confirmation added after a block makes that block less likely to be removed in a reorganization. Each block confirmation adds confidence that the transaction is permanently included in the blockchain.
For a given block, the confirmation number is the number of subsequent blocks added to the blockchain.
For a given transaction included in a block, CPN waits for a set number of
blocks (in addition to the original) to be added to the chain before it
considers the transaction final. This number varies across supported
blockchains. When a sufficient number of blocks are appended after the original
block, CPN updates the status of the transaction to completed
and notifies
both the OFI and BFI of the status change.
Note: Even if a transaction is visible on a block explorer, it doesn't
necessarily mean that the transaction is considered completed
by CPN,
because it's possible that it hasn't reached the number of block confirmations
for finality.
While CPN uses a conservative configuration for block finality on each supported blockchain, there is no guarantee that a deep reorganization, which invalidates multiple blocks, won't happen. The possibility of an incident like this is small.
In cases where a deep reorganization affects a CPN transaction, reach out to Circle for support.