In a blockchain network, data is stored or maintained in blocks. Over time, a new block is added to the growing blockchain network. Each block is connected to the previous block by a cryptographic link (hash). Within these blocks, it refers to transactions that users perform and publish within a certain period. However, broadcasting and adding a transaction to a block usually requires a waiting period. In other words, the user has to wait a few minutes or hours for the transaction to be confirmed and added. For many, the time required for this process to take place highlights the benefits of decentralization but also the scalability issues. Scalability is therefore considered a major issue in blockchain networks.
However, DAG technology solves this problem by using nodes and groups of nodes working simultaneously instead of storing data in blocks. Each node in the DAG model can consist of multiple layers of transactions. These nodes also eliminate the need for miners. When each new transaction is recorded on a node supported by the algorithms, it is verified against the previous two transactions. This approach drastically reduces unnecessary verification in existing networks.
Directed Acyclic Graph (DAG) technology is a directed database that aims to express information and data that are interconnected. Instead of a structure of blocks like blockchain, DAGs have a structure in which cryptocurrency transactions are recorded through vertices and edges. These transactions are then recorded sequentially, one on top of the other. Similarly, transactions are transmitted to a DAG through nodes. To submit a transaction, nodes need to complete proof-of-work (PoW) tasks.
In sum, blockchain systems look like a chain, while DAG structures look more like a graph. The DAG model is considered a potential alternative to blockchain in the future due to its efficiency in data storage and online transactions.
The DAG model is seen as an alternative solution to the problem of centralization in the current blockchain. In this model, miners do not have to compete for the addition of a new block. Transactions can be processed more quickly thanks to nodes being developed at the same time.
![DirectedAcyclicGraph.jpg](https://cdn.metatime.com/landing/blog/1686314719blobid1686314709438.jpg)
How Does DAG Work?
The structure of a DAG is similar to a tree with nodes connected in a branched manner. In the DAG model, each node can have more than one main root, allowing multiple transactions to be verified at the same time. This way, users do not have to wait for ongoing transactions to complete before performing a new transaction.
In the DAG, each new transaction must reference the previous transaction before it is accepted into the network. It works in the same way that blocks in a blockchain network reference previous blocks. The logic of the DAG model is that a new transaction can only be successfully confirmed if it is referenced by another transaction. In the DAG model, each vertex represents a transaction. There are no blocks and therefore no mining is required. Transactions are built on top of each other.
What Is DAG Used for?
DAG aims to make decentralization and scalability stronger. It also aims to improve security and usability. It is used by users depending on these goals and objectives.
What Are the Features of DAG?
The features of DAG:
- No loop
- Multiple sources
- Multiple pools
- Partial order
No Loop
There are no loops in a DAG. It means that no directed sequence of edges will eventually lead back to the starting nodes.
Multiple Sources
A DAG can have more than one source. A source refers to a node with no incoming edges.
Multiple Pools
A DAG can have multiple pools. A pool is a node without outgoing edges.
Partial Order
The DAG can be used to represent the partial order between nodes. For instance, if there is an edge directed from node X to node Y, this indicates that node X precedes node Y in partial order.
Why Are DAGs Useful?
DAGs can be used to visually represent multiple different types of flows, including days processing flows. Data processing flows, which are used to perform various calculations on data and write data to one or more destinations, especially in different data processing environments, are called data streams. These streams are particularly useful in large-scale data processing scenarios. DAGs can be used in the visual representation of these data processing flows, enabling a clearer representation and organization of processing steps and their dependencies.
DAGs can be used to represent data streams for both batch data processing and realtime data processing.
What Are the Algorithms in DAG?
DAGs are used to solve various problems efficiently using these algorithms:
- Topological ranking
- The shortest path
- The longest path
- Maximum flow
Topological Sorting
Topological ranking is an algorithm that can be used to find the linear ordering of nodes in a DAG. Linear ranking refers to the partial order of nodes in a DAG. It is used for sequencing tasks in a workflow or analyzing data flow.
The Shortest Path
DAGs can be used to usefully find the shortest path between two nodes using the dynamic programming algorithm. This algorithm is based on the principle that when solving a problem, in order to obtain an optimal solution, subproblems also contain their optimal solutions. That is, to solve a large problem, it divides it into smaller sub-problems and finds the optimal solution of each sub-problem. Then, it combines the solutions of the subproblems to obtain the optimal solution of the original problem. This principle is an approach for solving large and complex problems in a more manageable and efficient way.
The Longest Path
DAGs use a dynamic programming algorithm to find the longest path between two nodes. This algorithm uses negative weights of the edges in the graph. It is similar to the shortest path algorithm but is used to find the longest path. The algorithm assumes that the longest path for each node is related to the longest path from previous nodes and the weight of the edge. As a result, it computes in a most useful way for analyzing the longest paths between nodes.
Maximum Flow
DAGs use the Ford-Fulkerson algorithm to find the maximum flow between two nodes. This algorithm is based on the principle of increasing paths to increase the flow from source to sink in a network. Initially, the flow of all edges is zero. Then, increasing paths are found and the flow along these paths is increased. The algorithm works by repeatedly increasing the paths that will yield the largest flow from the source to the sink.
![DAG.jpg](https://cdn.metatime.com/landing/blog/1686314865blobid1686314858398.jpg)
What Are the Advantages of DAG?
DAGs have more than an advantage:
- Speed
- No Mining
- No Transaction Fees
- Lack of Scalability Issues
Speed
Since DAGs are not limited by block times, anyone can publish and execute transactions at any time. There is no limit on the number of transactions users can post, as past transactions are constantly verified.
No Mining
DAGs do not use the consensus proof-of-work (PoW) mechanism in the usual way. Therefore, the carbon footprint is considerably lower compared to cryptocurrencies, where mining is the preferred method of securing blockchain networks.
No Transaction Fees
Since DAGs do not have or have no miners, users do not pay any fees to execute their transactions. However, some networks may charge low fees for specific types of nodes. Low or no fees are of interest for micropayments, which are not effective due to high fees.
Lack of Scalability Issues
Many supporters of DAGs believe this feature makes DAGs valuable in use cases that interact with each other, such as the Internet of Things (IoT).
What Are the Disadvantages of DAGs?
There are some disadvantages of DAGs:
- Not completely decentralized
- Not extensively tested
Not Completely Decentralized
Protocols based on DAGs have different central elements. According to some, this may provide a solution for short-term network self-loading, but it remains to be seen whether DAGs can survive long-term without third-party interference. If not, they could be vulnerable to attacks that could eventually damage the network.
Not Extensively Tested
DAG-backed cryptocurrencies, despite their recent adoption, still have a long way to go before widespread adoption. Therefore, it is difficult to predict what interests users will have in using the system in the future.