Claim: Directed Acyclic Graph (DAG) DLT is a more recent solution that offers the benefits of blockchain (claim 1) with better performance (Claim 2).
Category: Distributed Ledger Technology (DLT)
Claim 1: Challenge with 50 Cred
Claim 2: Back with 5 Cred
Definition: What is a DAG?
Another form of Distributed Ledger Technology (DLT) that uses a directed graph instead of a chain of blocks as data structure.
(Visualization of DAG: https://peaq.io/visualization)
Prominent Projects involved in DAG include IOTA, Nano, Byteball.
How does DAG work?
Each new transaction confirms one or several previous transactions (parent), by signing their parent’s hashes and including their parents in its composition. See this article. (In other words, the success of current transaction relies on future transactions to validate it.)
Claim 1: Offers the benefits of blockchain.
The benefits of blockchain now are mainly decentralization (A) and immutability (B).
The idea of decentralization is having distributed network participants to agree on the truth state of ledger. A good article from Lior Yaffe, however, pointed out some potential flaws of DAG achieving state synchronization among all nodes.
His arguments (quotes from article) mainly include:
- Single coordinator node: IOTA currently relies on a single coordinator node while Byteball relies on 12 witness nodes all controlled by the developer himself to checkpoint the state of the DAG.
- Latency of transaction propagation: Simply put, the blockchain state is modified by every block while the DAG state is modified by every transaction. If a node lags 1 second with 1000 TPS, this node is almost certain to not be able to process some of the transactions immediately because of missing 1000 approved transactions.
In summary, is DAG really achieving decentralization having to need coordinator nodes? Also, is this decentralization robust when it may face immense difficulty for nodes to synchronize state?
Similar to blockchain logic where each new block refers to previous block hash.
In a directed acyclic structure, the links point in the same direction with earlier transactions linked to later transactions (aka directed); information cannot return to the original node without passing through other subsequent nodes first (aka acyclic).
However, according to IOTA’s own blog post, it seems that there’s security issues with IOTA tangle (a kind of DAG), regarding a parasite chain attack as an attempt to double spend funds in the tangle. (This can be further verified by my personal chat with IOTA Foundation Lewis Friedberg [during USC Blockathon :)] that the IOTA network is under frequent attack everyday.)
Therefore, it seems that the immutability nature of DAG isn’t proven yet. It will take time.
Claim 2: DAGS have better performance (higher throughput) than blockchains.
We can infer that better performance here refers to higher scalability. The inherent nature of DAG is the higher the volume of transactions, the faster each transaction get validated (because current transaction relies on future transactions to validate it).
In a chain, time takes to traverse blockchain = O(n)
In a graph, time takes to traverse graph = O(LOGn)
^This is big difference for large chains.
Stated by Lior Yaffe, a potential DAG problem is possible order differences. A blockchain is sensitive to order of blocks, but DAG, having a large number of simultaneous transactions, has no sensitivity to order of transactions.
This poses application limitation to use cases where ordering matters. On the flip side, it makes sense that IOTA is using DAG for IoT sensor data because for the most part, the data volume is huge but ordering doesn’t matter. Yet, for applications that involve usage of high value data-content (e.g. financial transactions), blockchain is a much better alternative.
Therefore, to say DAG has better performance, it has to depend on the use cases. In general, DAG has higher scalability than blockchain for now.