A way of structuring data, often used for data modelling, and increasingly as a consensus tool in cryptocurrencies.
Directed acyclic graphs consist of vertices and edges. There are no
blocks, unlike in a
blockchain. Instead,
transactions are recorded as vertices, and these are recorded on top of one another. Transactions are submitted to the DAG by
nodes, much like on a blockchain. In order to submit a transaction, a node must complete a
Proof-of-Work task.
In a DAG, every new transaction must reference previous transactions in order to be accepted onto the
network, in a similar manner to the way in which blocks on a blockchain contain references to previous blocks. When a transaction is referenced by another transaction, it is confirmed. In order for that transaction to be confirmed, it must be referenced by a further transaction, and so on.
The tip on which a new transaction will be built is determined by an
algorithm. Tips with more
confirmations are more likely to be selected for building.
DAGs have a number of perceived advantages. Transaction speeds are high as processing is not limited by block creation. There are no
transaction fees because there are no
miners — and, of course, the lack of
mining has huge environmental benefits.
However, there are significant drawbacks too. Perhaps the most important is that they are not fully
decentralized, unlike blockchains. In addition, the use of DAGs in cryptocurrency settings is very much in its infancy. These two factors combine to mean that, for the most part, DAGs are now used primarily as a way to get a network started rather than as a system on which to build a stable and lasting network.