People were excited about the potential of blockchain and cryptocurrencies to overthrow the old, dysfunctional monetary system.
The crypto market grew 400% in two months between November 2017 and early January 2018, and it looked like the sky was the limit for this new technology.
But then something went wrong.
The Bitcoin and Ethereum networks were inundated with transactions and started to slow down dramatically.
Bitcoin transaction fees - promised to be almost negligible - skyrocketed to over $50 per transaction, while processing times stretched to hours instead of minutes.
It looked like the bubble was bursting. People began to question if what they were witnessing was a true technological revolution, or just a false dawn, as it didn’t look like crypto could live up to the hype.
This realisation that blockchain tech wasn’t ready to fulfil the huge promises made about it, along with many other factors, contributed to the dramatic decline in the market we’re still experiencing today.
So how can the crypto community solve the scalability problems plaguing it’s most popular platforms?
Enter the DAG.
Short for Directed Acyclic Graph (we’ll get to what the hell that means in a minute), DAGs have the potential to solve some of the problems facing Bitcoin, Ethereum, and other blockchain applications.
But here’s the thing: they’re not actually blockchains.
So just when you thought you’ve figured out what on earth this blockchain thing actually is, something new comes along to mess it all up.
Don’t worry though, because to understand what DAGs are and why they might be so useful in the future, we’ll revisit the concept of a blockchain at a high level and look at their differences.
To answer this, we’ll look at the blockchain that Bitcoin runs on, as Bitcoin is the most popular cryptocurrency, and in some ways is the simplest and easiest to understand.
At its core, a blockchain is just a type of database that stores information on things that happened in the past. It is verified by complex maths (cryptography) to ensure that incoming information doesn’t conflict with what’s already in the ledger.
The information stored on the Bitcoin blockchain is stored in groups (or blocks), and each block is time-stamped and linked to the one generated before it in time, creating a linear chain of blocks - hence the term blockchain.
Yet, this is where things get problematic.
Due to the linear nature of blockchains, transactions can only be added to a block - and a block to the blockchain - in sequence. This creates an upper limit on the speed of the network, causing transactions to get backlogged and fees to balloon when demand is high.
Further, since all blocks are linked in a chain, breaking any of these links makes the chain invalid.
This becomes important when discussing the size of the blockchain. The Bitcoin blockchain is growing daily, but as of September 2018, it stands at over 175 GB.
This means that the thousands of validator nodes around the world all need to store a full copy of the Bitcoin blockchain to confirm transactions. Keeping thousands of copies of such a large file constantly connected to the internet poses a challenge for decentralisation, as it becomes very difficult for independent individuals to participate without costly, dedicated hardware.
Due to these limitations, Bitcoin has had issues in scaling up its transaction capacity for a long time. Solutions such as the Lightning Network are being developed, but the scaling issue is currently Bitcoin’s biggest hurdle to overcome before mass adoption becomes possible.
And this is why DAGs may be poised to overtake blockchains as the leader in distributed ledger tech.
The most well-known crypto being built on top of DAG technology currently is IOTA, a platform that promises super fast, low fee transactions that can be used for payments, or for high-speed transactions of data between connected devices.
Let’s use IOTA to understand how DAGs work, and how they’re different from blockchains.
So what the hell is a directed acyclic graph anyway?
It’s an intimidating name, but the concept is quite simple. It is like a blockchain in that it is a type of database: a way of storing information (or transactions) in a specific way.
Unlike a blockchain, however, it doesn’t store it in a linear fashion.
Like a family tree, the graph can only go in one direction (it’s directed), and it can’t go in loops (acyclic).
All information put into a DAG has to follow these rules.
In IOTA, a transaction and all the information about it (such as the sender and receiver, the amount and time sent) is stored as a node, and a group of nodes makes up a ‘tangle’ - IOTA’s version of a blockchain.
When a new transaction is added to the tangle, it makes a connection to two existing nodes, and in the process verifies these nodes by confirming that they don’t conflict with other transactions in the network.
The computer adding the new transaction does a small amount of proof-of-work to complete this, meaning all IOTA users contribute to securing the network.
Doing this gets rid of dedicated miners that are needed in Bitcoin to validate transactions, and therefore completely removes the need for network fees.
And as every new transaction gets added, the network actually speeds up. For every new transaction, two older transactions get validated and approved by the network.
You also don’t need the full graph to add transactions like you do with Bitcoin. Since the tangle is not linear, you only need to access the fraction of all transactions that attach to yours in order to validate it, drastically reducing data use.
So, theoretically, DAGs should always be lightweight and quick to process transactions, and should, therefore, be massively scalable.
Despite all these benefits, DAG systems such as IOTA are not without their problems.
Since there is no large-scale proof-of-work computing to secure the network, IOTA is very vulnerable to a 34% attack.
In simplified terms, if an attacker has more computing power than 34% of the network, they can send and approve false transactions, taking control of the tangle.
The IOTA tangle is vulnerable to this kind of attack while the network is small and total computing power is low. The team have implemented a coordinator node that manually approves transactions. This node will be removed once the team believed the tangle is robust enough to withstand attacks.
This helps protect the network from a 34% attack but means that until IOTA is large enough to remove this coordinator node, it is a centralised system. It is therefore still vulnerable to arbitrary decisions made by the IOTA founders and has a long way to go before it is considered truly decentralised.
This difficulty with decentralisation is currently the main drawback of DAG systems. The technology is still very new and unproven, so doubts will remain until networks like IOTA can prove that they can create truly decentralised systems.
Now that we’re clear on exactly what blockchains and DAGs are, let’s look at the differences between them:
It’s clear that there are huge advantages to DAG technology over existing blockchains.
Some of the largest problems facing Bitcoin, Ethereum and other popular cryptos are completely alleviated by DAGs such as IOTA.
But this technology is very new and untested, so it remains to be seen if it is robust enough to stand the test of the market.
DAG tech has huge potential, but we’ll have to wait and see if it’s all it’s cracked up to be.
Return to blog page