Understanding Directed Acyclic Graphs in the Blockchain Landscape
DAGs present an encouraging approach, aimed to improve the existing speed, scalability and cost issues of blockchain technology.
The more time you spend in the blockchain and cryptocurrency industry, the more you encounter some fairly arcane technologies and their accompanying terminologies. Blockchain technology, which started out as a simple immutable record composed of blocks of data, is constantly evolving. Although the broader tech world operates similarly, the blockchain and crypto sector moves at a much more rapid pace.
We are all racing to create the fastest, most efficient protocol or scalable and resilient app, and must build and improvise along the way. In such a competitive atmosphere, these races force innovation. When scalability is limited, alternative technologies must be developed. With things moving so quickly in this space, itâ€™s easy to get lost in a sea of acronyms and abbreviations. As a result, I thought it might be helpful to offer an explainer regarding DLTs, DAGs and more.
Firstly, letâ€™s distinguish between â€œblockchainâ€� and â€œdistributed ledger technology.â€� A common misconception is that blockchain technology and distributed ledger technology are the same. For the purposes of this article, weâ€™ll keep it simple and establish that blockchain and distributed ledger technology, or DLT, are not interchangeable terms. Distributed ledger technology isÂ defined as a digital system for recording the transaction of assets in which the transactions and their details are recorded in multiple places at the same time. Blockchain stands for a shared, immutable ledger for recording transactions, tracking assets and building trust.
Both blockchains and DLTs share similar characteristics and refer to a record of information thatâ€™s distributed across a network, but each come with theirÂ own defining features:
â€œPut simply, the public aspect of blockchains generally implies three interrelated things: 1) Anyone can use the blockchain, 2) anyone can serve as a validating node of the blockchain, and 3) anyone who becomes a node can, in turn, act as part of that blockchain’s governance mechanism. In theory, this makes blockchains decentralized and democratic structures resistant to undue control or influence from any single party.
By contrast, a distributed ledger generally doesn’t enable any or most of these public features.â€�
Letâ€™s talk about directed acyclic graphs, or DAGs. A DAG protocol is an alternative to the traditional blockchain and can be categorized as a distributed ledger technology. A number of protocols like Conflux, Hedera Hashgraph, IOTA and Nano, along with smaller startup projects like IoT Chain and Obyte use DAG-based structures. Many see DAG technology as the next evolution of blockchain as it can help resolve speed and scalability issues and offer lower transaction costs.
DAG-based protocols mainly differ in how transactions are added to a network. Unlike blockchain technology, individual DAG transactions are linked to one another directly rather than joined together in blocks and processed. Since this structure can reference many â€œblocksâ€� at one time, the transactions per second, or TPS, rate is much higher than that of a standard blockchain. Bitcoinâ€™s TPS varies somewhere between four to seven, Ethereum sits at 30, and centralized legacy services like Visa support throughput rates of about 1,000 TPS. Today, some DAG-based protocols can handle a TPS rate into the several thousands.
DAG-based structures also provide a more energy-efficient block sequencing algorithm for proof-of-work that eliminates the discarding of forked blocks â€” a key differentiator from traditional blockchain technology. When no blocks are discarded, it means there is no wasted computing power, resulting in lower transaction costs. All of this can be achieved using a DAG-based structure without changing core storage or consensus mechanisms and compromising security.
Every network has its own valid reasons to run a particular consensus mechanism. Some networks use proof-of-stake or new transactions to validate previous ones without the use of miners. PoS consumes significantly less energy than PoW, but still has many unknowns surrounding security and game theoretics that will take time to fully uncover and address.
DAG protocols are built as novel structures that could potentially support immensely scalable ecosystems. IOTA runs the Tangle, Hederaâ€™s is called Hashgraph, Conflux has its Tree Graph, and so on. There are slight differences between each projectâ€™s protocol and design choices.
A similarity between Confluxâ€™s Tree Graph and IOTAâ€™s Tangle is the use of two previous blocks or transactions on the graph as the parents of a new one. However, the Tree Graph is run in a decentralized manner on each node, while Tangle currently uses a centralized â€œcoordinatorâ€� to provide finality for transactions. Hederaâ€™s Hashgraph orders blocks based on the median propagation time of a gossip network. A difference between all three is that Hedera and IOTA use PoS or something similar in block generation, while Conflux uses PoW.
Clearly, there is no standard approach or official guideline when it comes to blockchain development. Itâ€™s up to each team behind a protocol to determine what particular consensus mechanism should be used for the specific application.
As blockchain and cryptocurrency developers work toward creating technologies that address the existing speed, scalability and cost issues, DAGs present an encouraging approach. When you look toward the future, itâ€™s important to keep this in mind: At the moment, Bitcoin (BTC) processes about five transactions per second. DAG-based systems can process tens of thousands of transactions per second. As we continue moving toward mass adoption, directed acyclic graphs certainly show some promise in addressing the nagging issue of scalability.
The views, thoughts and opinions expressed here are the authorâ€™s alone and do not necessarily reflect or represent the views and opinions of Cointelegraph.
Powered by WPeMatico