Skip to main content

Direct acyclic graph (DAG)

Strictly speaking, a directed acyclic graph (DAG) is a mathematical concept and nothing particularly innovative in itself. As a DAG is a type of graph, then it is a structure made up of nodes, or vertices, and edges connecting the nodes. The two main particularities of a DAG that distinguish it from other general types of graphs are:

  • Each edge has a direction, indicated by arrows.
  • It does not allow cyclic relationships of nodes.

Directed Acyclic Graph: Purple vertices are the transactions. Each transaction references (edges) two previous ones that validate it.

The concept of directed acyclic graph is similar to that of the blockchain. DAG is composed of a network with a number of different nodes approving transactions. Every new transaction that is performed necessitates the validation of at least two earlier transactions before it is successfully recorded onto the blockchain network. As new transactions are entered, more transactions are authorized/validated and entered, resulting in a distributed network of double-checked transactions.

In a DAG-based cryptocurrency, each vertex in the structure represents a transaction and there is no notion of blocks. So instead of gathering transactions into blocks, each transaction is built on top of another. Still, there's a small Proof-of-Work operation that's done when a node submits a transaction. This ensures that the network isn't being spammed and also validates previous transactions.


Some DAG-based cryptocurrencies are IOTA, DagCoin, and Nano.

Unlike the blockchain concept, DAG requires no miners to authorize each transaction as being authentic. By having two parent transactions endorse the validity of a later transaction, human involvement becomes replaceable causing an enormously faster development:

  • Not requiring miners authorization revenues transactions go through almost directly.
  • If there are no miners, there are no miners fees, helping to retain authentic transaction fees to a lowest.