All credits to: https://goo.gl/WCN6cL– Original post:
The concept of blockchain as a standalone technology started gaining popularity in 2015. Prior to that, it was just known as a data structure underlying Bitcoin technology. In Satoshi Nakamoto’s white paper, the two words “block” and “chain” appeared together. It was only called “a chain of blocks.”
Bitcoin’s rise into popularity resulted in it being categorized as Blockchain 1.0. With Ethereum making waves as a decentralized platform for applications that run exactly as programmed, more and more people began to categorize Ethereum as Blockchain 2.0. Now the market is battling to see who will be named Blockchain 3.0. Direct Acyclic Graph or DAG may be it.
What is DAG?
DAG is a directed graph data structure that uses a topological ordering. The sequence can only go from earlier to later. DAG is often applied to problems related to data processing, scheduling, finding the best route in navigation, and data compression.
Bitcoin has always been inefficient due to the proof-of-work (POW) system. Blocks can’t be created simultaneously. The linked storage structure allows for only one chain on the whole network. All the transactions occurring around the same time are kept in the same block. Miners then compete for the block validation. One single block is created about every 10 minutes.
The first community to come up with the idea of changing the chain-like storage structure into a DAG of blocks was NXT. If the time of mining remains unchanged, the storage could be extended by X times with X blocks on the network at the same time.
The blockchain combination with DAG still comes from the idea of side-chains. Different types of transactions are running on different chains simultaneously. DAG of blocks still relies on the concept of blocks.
IoT Chain (ITC), IOTA, and Byteball are the blockless projects currently shining in the market. With Bitcoin or Ethereum, the block creation speed is a bottleneck. Bitcoin generates a new block every 10 minutes. Ethereum is better, but it takes around 15-20 seconds for block validation.
But why do we even need a block? On the bitcoin network, many transactions are mined into blocks and the transaction sequence is maintained by the prehashes between blocks. What if you combine blocks and transactions together? Make every transaction directly involved in maintaining the sequences. After the transaction is placed, you can skip the process of mining. This makes it blockless and more efficient.
Concepts in the DAG Blockchain
The Double-Spending Issue, from a Probabilistic Perspective
The Bitcoin network uses the UTXO (Unspent Transaction Output) model. Users are only allowed to have one transaction placement under their UTXO. There might be more than one miner who solves the hash function at the same time to acquire the right of block validation. This might develop forks temporarily. The validation of a certain transaction is decided by the number of transactions behind it. The rate of transactions coming back into the network is lower with more transactions behind it, which makes the transaction safer.
The Width of the Network
When each transaction is validated, it needs to be linked to an existing and relatively new transaction on the DAG network. If it links to earlier transactions every time, it would make the network too wide to validate the new transactions. Ideally, the DAG network chooses an existing later transaction to link to when a new transaction happens. The goal is to keep the network width within a certain range that can support quick transaction validation. IOTA also proposed its own algorithm controlling the width on the tangle network.
Due to its blockless nature, the transactions run directly into the DAG networks. The whole process is much faster than those of blockchains based on PoW and PoS.
No Mining Involved
There are no miners on DAG networks. The validation of transactions goes directly to the transactions themselves. For users, this means transactions go through almost instantly.
Friendly to Small Payments
With the advancement of DAG, we’re looking at a future where high functioning and minimum transaction fee chains are possible. That means users can send micro-payments without heavy fees like Bitcoin or Ethereum.
One project in China looks to be taking a serious swing at being the leader in this space. IoT Chain (ITC) is built on DAG and can handle over 10,000 transactions per second. It has a strong vision, strong community, and is backed by leading blockchain funds like ChainFunder and FBG. IoT Chain has a solid shot at becoming categorized as Blockchain 3.0.
DAG will be used for applications that require scalability in the thousands of transactions per second. The launch of CryptoKitties clogged the Ethereum network which resulted in slow transactions and high fees. Ethereum has a solution to this called sharding, but it is 5 years out. Applications will soon, I think, be turning to DAG to scale.