What is a Directed Acyclic Graph (DAG)?
The key concept underpinning the recent cryptocurrency revolution is called blockchain. First introduced by Satoshi Nakamoto in his seminal whitepaper: Bitcoin: A Peer-to-Peer Electronic Cash System, a blockchain is essentially a decentralized and unchangeable record of transactions.
If I send one bitcoin from my wallet to your wallet for example, that transaction is recorded on the bitcoin blockchain. This is crucial because it prevents me from spending the same bitcoin again somewhere else. By recording all transactions, the blockchain ensures that the proprietary currency can only be spent once, solving the double-spend problem.
Then follow us on Google News!
Interestingly, if you head over to the Satoshi’s white paper, click “ctrl + f” and enter “blockchain”, the search will produce zero results. Indeed, Satoshi never called his discovery “blockchain” and instead simply referred to it as a “chain of blocks” – never giving it a proper name.
The technology poised to replace blockchain is commonly known by two names: “Directed Acyclic Graph” or a “DAG”. A Directed Acyclic Graph (DAG) is a new way of recording transactions, which relies on a network of participants to verify transactions in a secure and scalable way. DAGs do away with bulky chains and replace them with an interconnected graph that links old and new transactions.
This is just one of the many key features causing evangelists to hail DAGs as Blockchain 3.0, with Bitcoin and Ethereum representing versions 1.0 and 2.0. But what exactly is a Directed Acyclic Graph and how does it solve Blockchain’s problems? Let’s find out.
Problems with Blockchain
Whether you’re attending a major conference, going to fintech meetups, or browsing through Youtube, the hype around Blockchain is real. Recent converts to this revolutionary new technology espouse its merits and rarely seem to care about its flaws.
This approach is understandable for a new technology awash with hype, but Blockchain was first introduced to the world in 2009! More than enough time has passed for a sober analysis of Blockchain’s limitations.
Perhaps the biggest problem with Blockchain is that it does not inherently scale. Bitcoin, for example, is limited to 7 transactions per second, while Ethereum can only process 13. No matter how many miners or users join the network, this cap is hardcoded into the system. When more transactions are required, the system clogs up and users have to spend a significant amount of time waiting for their funds to be processed.
To get a feeling for how brittle the system really is, take a look at the Ethereum-based game CryptoKitties. As the popularity of the game grew, so did the number of transactions processed on the blockchain, congesting the system and causing a sixfold increase in the number of pending transactions.
The second major problem with Blockchain comes from the data required for each transaction to take place. As the number of transactions increases so does the quantity of data that needs to be processed by the P2P network. For the network to scale, therefore, it needs to provide thousands of Gigabytes of bandwidth per second to allow the data to flow through it.
The third issue worth mentioning regards the size of the Blockchain itself. As the number of transactions increases so does the amount of disk space required to store it on your computer. As a consequence, the Ethereum Blockchain has ballooned to over 420GB, while the Bitcoin Blockchain just surpassed 190GB.
The impact could be detrimental, as it is now impractical for many potential members of the network to run nodes. These are responsible for enforcing the consensus rules of the network. You may remember the double spend problem mentioned in the introduction – the network can only safeguard against this problem if enough full nodes ensure the integrity of the Blockchain.
What is a Directed Acyclic Graph?
We briefly touched upon this topic in the introduction but it’s worth giving a more detailed description of what a DAG actually is.
At the highest level, a DAG is a data structure which uses a topological order. Specifically, it is a sequence of transactions which flows from current to previous states. IOTA Co-Founder, Serguie Popov, describes the Tangle as being the “next evolutionary step” of the Blockchain.
In more digestible terms, in order for a transaction to take place, the initiating network member needs to validate two previous transactions through simplified PoW. As a result, everyone initiating transactions has to actively participate in creating network consensus by validating past transactions. Unlike Blockchains, where transactions can be made by participants not actively supporting the network, DAGs ensure that everyone who uses the infrastructure actively helps to maintain it.
Naturally, transactions are checked multiple times by different members of the network. Exactly who checks which transactions is typically decided in a mathematical way. IOTA, for example, uses the Random Walk Monte Carlo (RWMC) method to determine which members check which transactions. The more times a transaction is approved, the higher the likelihood that a transaction is legitimate.
This probabilistic approach stands in stark contrast to the “transaction finality” approach taken by Blockchains. Transaction finality typically relies on a predefined number of block confirmations occurring before a transaction is deemed to be part of the official history. This typically has the inconvenient side-effect of capping scalability, as a certain amount of time has to pass before a transaction becomes a fixed part of the record of transactions. DAGs probabilistic approach to transaction confirmations is a key reason for its inherent scalability.
An additional benefit is that Directed Acyclic Graphs do not need to pay miners to safeguard the network. Instead, transaction signatures, PoW and double spend checks are done by everyone participating in the network. As a consequence, DAGs typically do not involve transaction fees of any kind.
At this point, it is very easy to see why DAGs have been cast as Blockchain 3.0. A lack of transaction fees, coupled with seemingly infinite scalability make this technology one of the most promising solutions to Blockchain’s problems.
Where are DAGs being used?
Now that we understand the key features of a DAG, lets looks at the companies already using this technology.
IOTA – Giving machines financial agency
Germany-based Internet of Things platform IOTA is currently the most high-profile user of DAG technology. Founded in 2015, IOTA aims to bring scalable machine to machine payments to the Internet of Things. By using DAGs scalability and lack of transaction fees, IOTA wants to give machines financial agency, and enable them to perform micro-transactions amongst each other.
Nano – Fixing bitcoins problems by using the DAG
Nano uses an innovative hybrid approach to DAGs, which removes the need for probabilistic transaction confirmations. In order to achieve this, Nano uses a technology called BlockLattice to easily cache and find the most recent transactions. This method provides each user account with their own Blockchain, called an Account chain – with each block holding a single transaction.
This way, Nano is able to process thousands of transactions per second, with no transaction fees.
Problems with DAGs
Above we have discussed the key ways in which DAGs and Blockchains differ from each other. One important point they both have in common however, is that they are not perfect. DAGs, just like Blockchains, have flaws.
Perhaps the most significant disadvantage of a DAG is its often centralized nature. As is the case with IOTA, in order for DAGs to function properly, they need an exceedingly mature network of participants to continually initiate and validate transactions.
Noone using a DAG has reached this level of maturity and therefore needs to resort to centralization as a result. In IOTAs case, this takes the form of Coordinators – a number of nodes run by the IOTA foundation, which are considered trustworthy by the network.
A second disadvantage of Directed Acyclic Graphs is that they are still unproven at a large scale. Blockchains have been in use for nearly 10 years, and Ethereum is seeing daily transaction volumes of over $1 billion USD. Cryptocurrencies using DAGs are still far away from this kind of volume.
The above article is by no means comprehensive, but it does give you a good introduction to Directed Acyclic Graphs and the key ways in which they differ from Blockchains.
DAGs provide a number of innovative solutions to the mounting problems Blockchains are facing. A DAG’s ability to scale with zero transaction fees should be enough to send any cryptocurrency enthusiast down the Wikipedia rabbit hole.
That being said, Andreas Antonopoulos points out in this video that Directed Acyclic Graphs are far from perfect. Current incarnations like IOTA have become disconcertingly centralized, with certain members of the network seemingly requiring more trust than others.
Nevertheless, DAGs are a fascinating new technology and I can’t wait to see how platforms like IOTA and Nano use it in the year to come.
The post Is this the technology poised to replace blockchain? appeared first on IOTA News.