Kaspalytics Learn is under (heavy) construction. Check back regularly!
Updated: Aug 14, 2026

The BlockDAG

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

Kaspa removes the single-parent rule: a block’s header carries a parent list of up to sixteen entries (see Blocks). This page describes the structure that results.

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.

The figures below show the same six blocks under both rules. A chain keeps only one of two simultaneous blocks; the DAG keeps both, and the next block references each of them.

One parent per block - a chain
ABCDXorphanYorphan
accepted discarded
X and Y are valid blocks that met the difficulty target. Because only one block may extend B, both are discarded, along with their proof of work and any transactions only they contained.
All known tips as parents - a blockDAG
ABCXYD
merged into the DAG
Same six blocks, nothing discarded. D references every tip its miner could see, so C, X and Y all become part of the record.

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 approximately 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.

Past, future, and anticone are defined per block, not per DAG: every block partitions the whole DAG into its past, its future, and its anticone. Select a block to see its partition:

Past, future, anticone - from wherever you stand
ABCDEFGH
Hover, tap, or focus a block to see its past, future, and anticone.
past - everything it builds on future - everything built on it anticone - no ordering either way
B and C are in each other's anticone: neither is in the other's past, so the DAG structure does not determine which came first. E and F likewise. GHOSTDAG resolves this ambiguity.

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

Kaspalytics strives to provide accurate data - our highest level of effort is given to data validation and maintenance. However, we cannot guarantee 100% accuracy. Data is subject to inaccuracies and change.

Contact | © 2026 Kaspalytics