Updated: 7/28/2026

The BlockDAG

What a blockDAG is - blocks with multiple parents, why nothing gets orphaned, and the vocabulary of the DAG.

Why Kaspa Exists ended with the fix for the blockchain bottleneck: remove the single-parent rule. This page is what that actually looks like.

Blocks with multiple parents

Kaspa replaces the chain with a Directed Acyclic Graph of blocks - a blockDAG. Instead of referencing one parent, each new block references all DAG tips its miner knows about at the time of mining. A block can have multiple parents, and multiple blocks can share a parent.

Consequences:

  • No orphans. Blocks created in parallel are all merged into the DAG. Honest work is never thrown away.
  • High block rates are safe. Parallel blocks are expected and handled by the protocol, so the block rate can be pushed to 10 per second.
  • Confirmations accumulate fast. At ~100ms per block, confirmation count grows at roughly 10 per second.

The tradeoff: ordering

A chain provides transaction ordering for free - blocks are ordered by height. A DAG does not. Two blocks in each other’s anticone have no inherent order, and if they contain conflicting transactions, the network needs a rule to decide which came first.

That rule is Kaspa’s consensus protocol, covered on the next page: GHOSTDAG.

Vocabulary

A handful of terms describe position in the DAG. Full definitions in the Glossary:

  • Tips - blocks with no children yet; the current frontier the next block will point at.
  • Past / Future - everything a block builds on / everything built on top of it.
  • Anticone - blocks with no ordering relationship to a given block; neither is in the other’s past. These are the parallel blocks.
  • Selected Parent - the parent with the highest blue work (a GHOSTDAG concept, defined on the next page).
  • Mergeset - the blocks a chain block merges into the backbone.

The DAG is visible live: block explorers render the parallel blocks and their parent links in real time. See the Explorer Tour.