What is DAG?
DAG stands of a Directed Acyclic Graph. It is a directed graph data structure that uses a topological ordering. The sequence can only go from earlier to later. DAG is often applied to problems related to data processing, scheduling, finding the best route in navigation, and data compression.
In general, it all comes down to some kind of web, consisting of nodes connected to each other with edges. An edge is basically a connection between nodes with a specific direction. It is not possible to traverse it in the opposite direction. Acyclic means that it’s not possible to encounter the same node for the second time when moving from node to node by following the edges. In other words, it is non-circular.
One of the differences lays in the data structure. Instead of adding blocks sequentially to a chain, uses its Direct Acyclic Graph (or web). So, validation is parallelized which results in higher throughput. A new contender, with new technology, has entered the scene known as Byteball and they are offering the solution to where Bitcoin and its blockchain went wrong while adding new features on top of it with its use of the Directed Acyclic Graph (DAG) organizational model.
DAG works differently than the blockchain. Whereas the blockchain require Proof of Work from miners on each transaction the DAG gets around this by getting rid of the bblock entirely. Instead, DAG transactions are linked from one to another, meaning one transaction confirms the next and so on. These links are where the term DAG comes from, just like blocks getting hashed are where the blockchain receives its name.
Blockchains allow one to track down any record stored in a ledger’s history, but their sequential structure is also what hinders significantly their transaction throughput the flat list nature of blockchains is the biggest bottleneck for their ability to scale.
Well, a DAG works differently. This data structure resembles a flow chart where all points are headed in one direction. You can compare a Directed Acyclic Graph (DAG) to a file directory structure where folders have subfolders that branch into other subfolders and so on; they are tree-like.
As a blockchain grows over time, nodes will need more and more storage capacity and a higher bandwidth (volume increases) to keep up-to-date with the transactions added to the ledger.
This has the potential to become very costly, keeping in mind that internet speed will increase and storage cost will decrease over time. Other elements include: no data privacy as many blockchains are public and unwanted centralization because of the miners.
Concepts in the DAG Blockchain
A DAG works in depth. This means that every node consists of multiple layers of transactions. When a transaction is registered in a node, it first has to verify two other transactions before his transaction will be verified. Those two transactions are chosen according to an algorithm.
The node has to check if the two transactions are not conflicting. For a node to issue a valid transaction, it must solve a cryptographic puzzle similar to those in the Bitcoin network (Proof of Work). Just two verifications are needed to verify a transaction. This gives the benefit of a drastic decrease in unnecessary verification.
Besides that, miners are eliminated as well. You may think this is not a good thing, but it is! The only incentive for miners is the reward they get when they’ve mined a block. This can result in conflicting visions and goals between miners and token holders.
Within a DAG, the nodes itself become the ‘miners’. This process is also much more lightweight because you only have to verify transactions for the two closest nodes. As miners are eliminated and we validate transactions ourselves, transaction fees are reduced to zero.
Added to that, the power of some blockchains is more centralized than you might have thought. Miners form large mining pools to reduce variation of the mining reward. In case of Bitcoin, it is possible that the ledger becomes so large, that only few servers can host and verify it (e.g. Chinese mining farms). A DAG tackles this problem of unwanted centralization.
With the advancement of DAG, we’re looking at a future where high functioning and minimum transaction fee chains are possible. That means users can send micro-payments without heavy fees like Bitcoin or Ethereum.
DAG will be used for applications that require scalability in the thousands of transactions per second. The launch of CryptoKitties clogged the Ethereum network which resulted in slow transactions and high fees. Ethereum has a solution to this called sharding, but it is 5 years out. Applications will soon, I think, be turning to DAG to scale.
The first crypto project we must mention when talking about DAG is IOTA. This “new generation” cryptocurrency is set out to eliminate completely the concept of a miner’s fee.
IOTA makes use of a partial PoW (Proof-of-Work) stake, and so cannot be considered a full DAG application, but the product’s usage of it makes for an enticing look into what such a technology might provide in future. The IOTA token is designed to work as a micro-transaction token for the world of connected devices. Using DAG (which IOTA calls the Tangle), IOTA is able to assign the same exact duties to its every member; all the users on the network are both issues and transaction validators at the same time. To have a transaction verified by IOTA, one has to approve two previous transactions (and ensure they’re not conflicting). Also, one needs to attach a tiny amount of proof of work as low difficulty computations are needed to prevent spam on the network. Besides, IOTA’s DAG data structure allows for the network’s easy scalability. Everyone is participating in reaching a consensus and, therefore, the more people are using IOTA, the faster the network becomes. ByteBall, on the other hand, is a few steps closer to the true nature of DAG.
The second famous blockchainless cryptocurrency is Byteball. Blockchain technology has changed the way the world records digital data, but it also has deficiencies that have impeded its overall adoption and use. To avoid many of the problems associated with blockchain, byteball has decided to utilize a completely different method to connect and verify its data entirely.
Byteball does not have a blockchain nor blocks. Transactions are their own blocks and do not have to connect in a straight chain, they are linked to multiple previous transactions and from a structure called a DAG.
Byteball is different from IOTA in other ways too — it presents a ton of additional features. It offers native smart contract functionality and a conditional payment platform (which is nowhere near as advanced as EVM), a messaging system, private transactions through a specialized currency blackbytes, and even a chatbot.
If you have interest in blockchain technology than you will surely love to explore these articles too: