By Rayhan Beebeejaun
The Directed Acyclic Graph (DAG) is a new structure of Distributed Ledger Technology (DLT) which has been marketed recently as Blockchain 3.0. It holds immense possibility for the future of DLT, solving many key issues associated with Blockchain and providing the platform for speedy transactions that could challenge the likes of Visa.
1 What is a DAG?
DAG technology is comprised of two fundamental concepts – its “directed” nature which means that the graph has direction, so that moving from node 1 to node 2 is not the same as moving from node 2 to node 1, and its “acyclic” nature making it impossible, starting from a particular node, to find a path back to that same node while following the direction of the system. This structure allows us to create a system that can run several transaction validations side by side without the fear that one transaction will end up being an ancestor of itself through a cycle. It works in the following way: in order to submit a transaction, a submitting party has to validate two previous transactions; in consequence bringing together the role of submission and validation and removing the need for miners and blocks. This allows for a system where throughput is massively increased; some companies claim to be able to surpass the 10,000 transactions per second (TPS) benchmark, a sharp increase compared to Ethereum’s 15 TPS. In the particular case of COTI, a company that has produced a DAG they called the “Trustchain” which aims to operate mainly in the currency market, the company claims that 10,000TPS is their minimum target, suggesting they could even surpass Visa’s 25,000TPS. This new technology has been touted as Blockchain 3.0. Blockchain commentators state that it is the next incarnation of the famous fintech, since its first use in Bitcoin and its subsequent improvement with Ethereum. It is clear, however, that this technology is too different from Blockchain to be called its next incarnation, since it lacks so many fundamental aspects of a blockchain (notably blocks which miners validate). This is an entirely different type of DLT, one which will service a different market than traditional blockchains. From a currency point of view, DAGs will be able to offer the same level of convenience as Visa does for day to day transactions, which could finally enable the use of DLT by individuals for small value, high frequency transactions. The prospects of such a facility could be incredible, especially in emerging markets with struggling economies, such as Zimbabwe, where the population could embrace the option of using a stablecoin to shop for their basic needs. It may still be too early to make claims such as the following one, but from a tax regulation point of view, we could begin to draw a line between types of cryptocurrencies being classified as income or capital. In the UK, Courts use the Badges of Trade as guidelines to consider whether something is an “adventure in the nature of trade” or an investment. As cryptocurrencies go down two distinct paths offered by Blockchains and DAGs, it is entirely possible that the use of DAG based cryptocurrencies will evolve to fulfil the short-term nature of trade as seen in the badges, and the Blockchain based ones will become assets. Like Blockchain, DAGs can also be used for purposes outside of cryptocurrency. Companies such as IOTA are developing their DAGs for the purpose of catering to the high throughput needs of Internet Of Things (IOT) projects, which is the main sector they aim to operate in alongside currencies. These kinds of high transaction frequency projects will be perfect for DAGs; it is clear however that other endeavours spanning the likes of voting mechanisms and credit history validations will require the more secure, high fidelity offerings of blockchain.
2. Explanation of the drawbacks of DAG
DAG is far from perfect. As mentioned previously, the trade-off for a massively increased throughput is a decrease in security, with some DAGs such as IOTA’s Tangle only requiring assailants to mount a 34% attack on the system to be successful. The ability of an attacker to acquire the resources for carrying out this task out depends on the scale of the system. With Blockchain, the incentive for not attacking a system was that it would be make economic sense to use the 51% required to successfully attack the system to mine blocks. This is because the currency reward for solving a block would grant the would-be attacker far more value than an attack would. With DAGs, the incentive for validating two previous transactions is not a sum of currency, but rather the ability to put your transaction through, and therefore an attacker would not have any economic incentive not to attack the system. DAGs are also theoretically liable to double spending. Companies have developed various methods of combatting these malicious activities. One of the most convincing methods is that implemented by CyberVein which uses sharding (storing parts of the ledger’s transaction history), using the amount of voluntarily offered disk space as a “proof of contribution POC”. This is commonly used by DAGs. Then, rather than implement a centralised authority for auditing transaction, like many DAGs do, thus placing a central authority in a supposedly decentralised system, CyberVein further utilises the POC to promote nodes that store the entirety of the ledger to “full nodes”, and the state of the ledger is compared with the collective image stored in all of the full nodes. This means that an attacker would need to outcompete the entire storage capacity of the system, which would be very expensive and unrealistic. A second, less important issue with DAGs is the implementation of smart contracts. Due to the difference in nature of DAG and Blockchain, it might be hard for inexperienced coders to understand how to implement smart contracts in DAGs. These problems mainly arise due to the fact that transaction sequences may not always be linear and occur in the correct order. There are ways around this, such as using transaction collation or ordering transactions in a block lattice. For an experienced coder building a DAG, finding a way to implement smart contracts is not too tall an order. Unfortunately, some DAG projects are not entirely adapted to allow proper use of smart contracts, such as IOTA’s Tangle, which makes it difficult to implement the functionality that “Blockchain 2.0” brought to DLTs.