When Bitcoin was first released 2009 it started a new concept of money revolution.
People claimed that the blockchain would solve an high amount of problems and that it has countless number of applications.
Blockchains in fact have very relevant and interesting properties, however they have also quite some limitations.
This is why the creators of IOTA emerged with a new protocol, instead of using a blockchain as a distributed ledger, IOTA uses what we call a DAG, also know as Tangle.
DAG stands for Directed Acyclic Graph and it’s a system where individual items are linked to each other, “Directed” means that the link between those items have a direction and the acyclic term means that you cannot create a look inside this structure, so it must always move forward.
How a DAG Works ?
As you see in this image, each square represents one transaction, Each site contains all the details about the transaction: information as the sender address, the receiver address and the number of tokens.
Each site also has a connection to two diferent transactions, those are called “edges” and they do validate the transactions you want to push in the network.
At the end of the Tangle we can find a few transactions that don’t have the incoming edges we are talking about, this means that these edge transactions are not confirmed, and they are called Tips.
How To Add A Transaction
So now we understand some of the IOTA terms its time to explain how we can add a new transaction to the DAG. We must understand that our new transaction is going to be attach on the the tips of the tangle.
A random algorithm called Monte Carlo Random Walk selects two of them at random and makes sure that the transactions don’t have any conflic within each other.
If one of the tips is a not a valid transaction, it is then ignored and a new tip is will be selected; If everything works out, we attach our new transaction to the two tips of the edge, this act adds our transaction to the tangle and also check the two other transactions.
Right now our transaction is part of the tangle and also becomes a new tip for others, his technique makes IOTA’s tangle very quick and scalable.
For each transaction that somes adds to the tangle, two others transactions must be confirmed, this translated into the fact, the network doesn’t slow down when a lot of new new transactions are delivered, in fact, it does speed up.
How we can trust a transaction?
In bitcoins blockchains nodes use the number of confirmations to validate wether or not a block should be trusted, IOTA has a similar technique, but in this case each site has its own weight.
This weight signifies the amount of work a node did, to make this transaction, or to explain it with other words: a big number means the node did spent more time doing the POW for that transaction.
Each transaction also has waht we call an acumulative weight, this acumulative weight is just the sum of it’s own weight plus the sum of the weights of the previous transactions that comes from this site.
Transactions with an high acumulative weight are by definition older and have more direct verifications, so those can be truste more than others.
How does it stack up against traditional blockchains?
Well, the tangle solves three big issue’s: fees, miners, and scalability.
About scalability: As we’ve seen, IOTA’s network speeds up when more transactions are pushed to the network..
This means that IOTA can in theory handle an unlimited number of transactions each second, while a blockchain can only handle a very few number of them.
However there is also other aspect we must take into consideration when we talk about distributed ledger, and this is Storage.
In a traditional blockchain, you have to have a full copy of the ledger before you can start adding any new transaction to the ledger.
Right now the Bitcoin blockchain increase very quick and is about 300Gb in size.
Storing all this data transactions is not something most devices can do, takes money and resources, and those will keep going harder over time.
IOTA’s Tangle is also much more lightweight, since you don’t need a full copy of the tangle in order to add a new transaction, you only need a trimmed part of the tangle to create a new transaction, making it easy for small devices to handle.
And finally we must remember IOTA is one of the few project that has no miners and no fees.
Miners function is to mine new blocks and this enables them to validate and process new transactions.
For this mining work, miners do take a reward we call “a fee” from each transaction, and this fee keeps growing over time based on the bitcoin price.
Sending money with IOTA is more green and 100% free!