BlockDAG Basics
Notes on what a blockDAG is and why Kaspa uses one instead of a blockchain.The problem with chains
In a blockchain, every block has exactly one parent. When two miners find blocks at nearly the same time, only one can extend the chain - the other becomes an orphan and its work is discarded. This is why chains like Bitcoin keep block rates slow (~10 minutes per block): slower block rates mean fewer parallel blocks, and less wasted work.
This caps throughput. Increasing the block rate of a blockchain increases orphan rates and degrades security. See How Increasing the Throughput Harms Bitcoin’s Security by Ori Newman.
Blocks with multiple parents
Kaspa replaces the chain with a Directed Acyclic Graph (DAG) of blocks - a blockDAG. Instead of referencing one parent, each block references all DAG tips known to its miner 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 not thrown away.
- High block rates are safe. Kaspa currently produces 10 blocks per second. Parallel block creation is expected and handled by the protocol.
- Confirmations accumulate quickly. 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. If they contain conflicting transactions, the network needs a rule to decide which came first.
That rule is PHANTOM GHOSTDAG, Kaspa’s consensus protocol. At a high level: it classifies blocks as blue (well-connected, presumed honest) or red (poorly connected), selects a backbone of chain blocks through the DAG (the VSPC), and uses that backbone to produce a full ordering of all blocks and transactions. DAGKnight is the proposed successor protocol.
Vocabulary
Core blockDAG terms, defined fully in the Glossary:
- Tips - blocks with no children yet; the current frontier of the DAG.
- Past / Future - everything a block builds on / everything built on it.
- Anticone - blocks with no ordering relationship to a given block.
- Selected Parent - the parent with the highest blue work.
- Mergeset - the blocks a chain block merges into the backbone.