Contents
When it comes to cryptocurrency, Concepts such as blockchain or "distributed ledger technology" immediately come to mind. Since the advent of Bitcoin, hundreds of cryptocurrencies have emerged on the market, and most have similar network architecture foundations. Users can transfer value or interact with decentralized applications through these data structures.
In a blockchain, new blocks are regularly added to the growing chain. Each block is connected to the previous block with some kind of cryptographic link (a hash, to be precise). Each block contains the latest transactions published by the user.
However, there is usually a waiting period between the time a transaction is published and included in the block, just like waiting for a train at a station. Depending on the size of the carriage (block size) and the number of people waiting (transactions to be processed), passengers may not be able to catch the next train, or even the next one. The wait time for a transaction to be confirmed can range from a few seconds to a few hours.
For many people, this is a good deal. After all, this method is very secure and does not require reliance on a centralized coordination organization. Others believe that blockchain technology will eventually be eliminated. Opponents believe that in the long run, scalability issues will hinder the large-scale application and promotion of blockchain technology.
Supporters firmly believe that the future cryptocurrency payment network will be built on a completely different architecture, that is, a directed acyclic graph (or "DAG").
A directed acyclic graph is a completely different data structure that can be thought of as a database that connects different information together. "Directed acyclic graph" is a concept with a lot of information. Let's break it down layer by layer.
Directed acyclic graph.
Conceptually, a directed acyclic graph is similar to the one shown above, consisting of vertices (spheres) and It consists of sides (connections). Both have directivity, both face one direction (as shown by the arrow), and both are loop-free, that is, there is no loop, and the vertex will not return to the original starting point, and That is to say, if we start from a point and follow the graph, we cannot return to the same starting point. We will continue to explain in detail below.
This data structure is commonly used for data modeling. In science or medicine, directed acyclic graphs are used to observe relationships between variables and determine their interaction. For example, we use this graph to make connections between nutrition, sleep cycles, and physical symptoms to determine how these affect patients.
We are more concerned about how to use this graph to achieve consensus on the distributed cryptocurrency network.
Cryptocurrency based on directed acyclic graph, each vertex in the structure represents a transaction. There is no concept of blocks involved, and there is no mining required to expand the database. Therefore, transactions are not lumped together into a block, but are built on top of another transaction. When a node submits a transaction, there will still be a small amount of proof-of-work operations, which ensures that the network is free from spam and also verifies previous transactions.
To add a new transaction, it must be based on the previous transaction. Suppose Alice creates a new transaction. In order for the transaction to be confirmed, it must reference the previous transaction, which is somewhat similar to the reference of one block to the previous block in Bitcoin, except that multiple transactions must be referenced here.
In some systems, an algorithm selects which transactions (or "ends") a new transaction must be built on. The higher the cumulative weight of the end, the easier it is to be selected. Cumulative weight measures the number of confirmations on the path to the end.
The transaction Alice is about to create above is unconfirmed. However, these transactions will be confirmed once they are referenced by Alice. Alice's current transaction is unconfirmed, so others must create transactions on top of it before it can be accepted.
Users are more willing to confirm transactions with "higher" weights, so that the system can continue to develop. Otherwise, users will continue to create transactions on top of old transactions without any scruples.
Blockchain can easily prevent double-spending problems from occurring. The same funds cannot be spent twice in a block, and nodes can easily detect such attempts and reject all blocks containing conflicting transactions. It is very expensive for miners to produce blocks, so the mechanism incentivizes them to compete fairly.
Directed acyclic graphs can also prevent double-spend problems, with a similar mechanism, but without the participation of miners. When a node confirms an older transaction, it evaluates the entire path back to the first transaction in the DAG to ensure that the sender has sufficient balance. There may be many paths, but only one needs to be verified.
If the user establishes the transaction on an invalid path, it will cause his own transaction be ignored. Perhaps these users' transactions are valid, but no one wants to extend this path because the previous transaction was invalid.
It may seem unintuitive at first glance - could there be a situation where multiple different branches simply don't know about each other's existence? So, will users spend the same funds on different branches?
This is indeed possible. But by selecting an algorithm to add weight to the cumulative weight at the end, this problem can be easily solved. In other words, over time, one branch will prosper more than others. Weaker branches are abandoned, and the network continues to grow in the branches with the highest weight.
As is the case with blockchain, there is no absolute confirmation in this network, and we can never be completely sure whether a transaction will be reversed. Although highly unlikely, it is theoretically possible that a Bitcoin or Ethereum block could be "undone," causing all transactions within it to be reversed. The more blocks that are added after a transaction, the more secure the transaction becomes. This is why we recommend users to wait for six confirmations before committing funds.
In directed acyclic graphs such as IOTA Tangle, there is a concept called "confirmation confidence". The selection algorithm is run 100 times and counts the number of transactions approved directly or indirectly in the selected endpoints. The higher the percentage, the greater the confidence that the transaction remains "settled."
This seems to lead to a poor user experience. But it doesn't. If Alice sends 10 MagicDAGTokens to Bob, she doesn't have to worry about picking the correct end of the graph because her wallet will do the following in the background:
In Alice’s opinion, this is the normal cryptocurrency operation process. She enters Bob's address and the amount she wants to pay, then presses Send. The above list is the proof of work that will be run when each participant creates a transaction.
➠ Want to start your cryptocurrency journey? Welcome to buy Bitcoin on Binance!
There is no block time limit, and anyone can issue and process transactions at any time. As long as the earlier transaction is confirmed first, the user is not subject to the limit on the number of transactions submitted.
Directed acyclic graphs do not use conventional proof-of-work consensus algorithms. Compared with cryptocurrencies that rely on mining to maintain blockchain networks, the carbon footprint of directed acyclic graphs is only a fraction.
Because there are no miners, users do not need to pay fees to publish transactions, but sometimes there is a small fee for certain types of nodes. . Low fees (free is even better) are very attractive to micropayment users, because high network fees will make their work in vain.
Compared with traditional blockchain networks, directed acyclic graphs are not limited by block time. The number of transactions processed per second is much higher. Many proponents believe this will make DAGs more valuable in various Internet of Things (IoT) use cases where machines interact.
Protocols based on directed acyclic graphs have various centralization properties. Some believe this is a short-term solution for launching the network, but whether DAGs can thrive without third-party intervention remains to be seen. Failure to do so opens the network to attack vectors that could ultimately lead to severe damage.
Although cryptocurrencies based on directed acyclic graphs have been around for a few years, it will take a long time for widespread adoption It will take some time. Therefore, it is difficult to predict what kind of incentive mechanism users will enjoy when using the system in the future.
There is no doubt that directed acyclic graphs will be an interesting way to build cryptocurrency networks. technology. As of now, there are relatively few projects using this data structure and it is not yet mature.
Even so, as long as directed acyclic graphs realize their potential, they will definitely provide a source of power for many scalable ecosystems. DAG technology has countless use cases in areas that require high throughput and are free, such as the Internet of Things (IoT) and micropayments.