Although blockchain is now having an increasingly disruptive impact on the world, few would consider the technology to be the finished article in its current form. Indeed, problems persist that must be resolved before it can reach a level of mass adoption.
Two of blockchain’s most pressing challenges are:
- Scaling – many protocols are incapable of handling a large volume of transactions. And when considering transaction speed, they often pale in comparison to their centralized peers such as Visa and PayPal.
- Transaction fees can be costly, especially if there’s a huge backlog of unverified transactions on the network.
While scaling solutions are being currently tested that aim to improve the speed and cost of using blockchains, such as Bitcoin’s ‘Lightning Network’ and Ethereum’s ‘Sharding’, there’s no guarantee that they will sufficiently support the rapidly growing usage of their networks.
Alternatively, many believe that part of the problem lies with the specific data structure that is used in blockchain – namely, the linked list.
Linked Lists
Blockchain is a linked list, which is just one of many different types of data structures used in computer science. Linked lists involve a new element being sequentially linked to the previous one.
With each new block being linked to the previously added block in the chain, a blockchain’s linked list allows us to verify all blocks going back to the beginning of the chain. As such, blockchain simply represents a list of transactions that have taken place in the past.
Bitcoin’s blockchain is just one example of a linked list data structure. It uses the Proof of Work consensus mechanism, whereby miners compete to validate a block, with a new one added to the chain every 10 minutes. But given the blockchain’s sequential nature, only one new block can be added to the chain at any one point in time.
Transactions that occur around the same time are put into the same block; but if the block is full, transactions are held in a queue until there’s space in the next available block. This often creates a huge bottleneck, which severely limits transaction throughput on the network.
Given such limitations associated with linked lists, therefore, other data structures have emerged that purport to offer a faster, more scalable alternative to blockchain altogether, one of the most popular being the Directed Acyclic Graph, or “DAG”.
What is DAG?
DAG uses a ‘directed graph’ data structure, which involves a network of nodes and edges (the connections between the nodes). The ‘directed’ part means that the structure heads in one forward direction only. But unlike blockchain, DAGs use topological ordering:
Such ordering means that while the data can only move in one direction, i.e. from ‘earlier’ to ‘later’, it does not have to be sequential.
A DAG builds a graph of transactions, whereby in order to validate a new transaction, each node must simply validate two previous transactions from other nodes. There are no blocks used in a DAG, which means that the network doesn’t have to wait every 10 minutes for verification (in the case of Bitcoin). Instead, verification occurs on a simpler peer-to-peer basis. This also means that unlike blockchain, DAGs do not require every node to reach consensus with every other node for final validation.
As such, rather than having huge mining pools confirming transactions using Proof of Work à la Bitcoin, DAG simply utilizes the very same transactions that other nodes have made in order to confirm each other’s transactions.
The ‘acyclic’ part, meanwhile, refers to the fact that a node is incapable of referencing back to itself, meaning that it is impossible for a new transaction on one node to be encountered again later on, on another node.
Transaction consensus is determined by identifying the heaviest cumulative chain – the longer the chain on which a transaction is based, the more ‘weight’ it carries. And if the cumulative chain passes a specific threshold, then the transaction can be confirmed. This process creates the ‘directed graph’ – an ordered sequence of linked events.
A growing number of cryptocurrencies are using DAG instead of blockchain, including IOTA, which refers to its DAG as a ‘tangle’; and Byteball which uses DAG to offer a digital currency, a privacy currency and several more use cases.
Advantages of DAG over blockchain
DAG is not entirely dissimilar to blockchain – both involve a network of nodes, both are a form of distributed ledger technology, and both are decentralized. But DAG also holds distinct advantages:
- No Mining Required– the lack of blocks in DAGs means that mining is not required for validation. In some cases (such as IOTA), nodes must perform a small amount of Proof of Work in order to prevent spamming, but the difficulty of this process is minimal. And the absence of miners also means that DAGs do not consume copious amounts of power – something that remains a serious concern with Bitcoin. In addition, the lack of mining means that DAGs are likely to be more decentralized than the likes of Bitcoin and Ethereum, which have both experienced significant centralization in hashing power.
- A scalable solution– Because neither blocks nor mining are required, DAGs are more lightweight and scalable than blockchain. And while greater usage of blockchain-based networks leads to a decline in performance, DAG-based networks experience an improvementin network scalability, with more users enabling a faster rate at which transactions are confirmed. The greater the number of new transactions that exist, the more opportunities there are for nodes to use them to confirm previous transactions.
- Micro-payments– with block validation on the Bitcoin blockchain taking 10 minutes, the backlog of transactions induces some users to pay miners higher transaction fees to ensure their transaction is included in the next available block. The higher the transaction fee, the less logical it will be for users to send micro-payments using Bitcoin. DAGs such as IOTA, however, are feeless, which makes sending micro-payments a sound economic choice (although it should be noted that Byteball does charge a transaction fee at this stage).
So, could DAG replace blockchain then?
Unlikely. While theoretically, DAG might be a quicker and more scalable solution than blockchain, different systems are required for different types of projects. IoT seems to be one major area in which DAGs’ faster, feeless transactions could have a profound impact, as scalability is of paramount importance in facilitating a global network of connected devices.
But let’s not forget that blockchain has its own strengths, as evidenced by the sheer number of parties who are now interested in adopting the technology. Blockchain-based smart contracts, for instance, are poised to take off in popularity, whereas DAG smart contracts have shown little success to date.
And then there are the potential problems that DAG-based cryptocurrencies may experience. Double spending, for example, might become an issue with DAGs, particularly if nodes do not always have access to the full transaction history, as is the case with IOTA’s Tangle.
And whereas DAG hashing only occurs for new transactions, the lack of continuous mining leaves such ledgers open to a network attack, whereby only 34% of the network’s hashing power is required for a successful attack (as opposed to the 51% required on a blockchain).
Indeed, both IOTA and Byteball currently use centralized solutions – a ‘Coordinator’ and 12 ‘Witness Nodes’ respectively – to prevent such problems. This opens them up to having central points of failure, which in turn calls the security of such projects into question. Although such solutions are supposed to be temporary, there’s no guarantee that the eventual decentralized solution will be successful.
Moreover, while a small handful of cryptocurrencies now utilise DAG, the overwhelming majority continue to use blockchain. Of course, whether this is being done for fully rational reasons remains to be seen, but the anticipation of what blockchain can achieve in the future, especially if its notorious technical deficiencies are resolved as expected, surely means that this technology won’t be abandoned in a hurry.
Ultimately, DAGs represent the exciting prospect of potentially scaling beyond what blockchain can achieve. But given its relative infancy, it seems only logical to assume that it will hit roadblocks along the way. And that means that for the time being, blockchain isn’t going anywhere.