Ricardo Badoer / Ogami Ittō / Norman Freiherr von Bush
IMesh is our take on an innovative new distributed ledger which is based on a DAG (directed acyclic graph). Even though IMesh doesn’t suffer from the same problems as a Blockchain (e.g. scalability) it is still based on the same underlying principles: it’s still a distributed database, it’s still a P2P Network and it still relies on a consensus and validation mechanism.
The structure of the Mesh is defined by the following concept: Each transaction directly verifies two other transactions and therefore confirms that they are valid and conform to the protocols rules.
This directly influences how we reach consensus:
Instead of having PoW (miners) or PoS (stakers) be responsible for the overall consensus the entire network of active participants are directly involved in the approval of transactions. As such, consensus in ADK is no longer decoupled from the transaction making process: it’s an intrinsic part of it, and it’s what enables ADK to scale in an unrivaled fashion without any transaction fees.
This makes it so ADK can operate as an autonomous decentralized and self-regulating p2p network.
Let’s first look at scalability, which we already addressed in the previous part. It’s probably one of the biggest advantages ADK inherits compared to traditional Blockchains of the 1st and 2nd generation. In ADK there is no necessity to order values of seeds or addresses. Since consensus is parallelized, and not done in sequential intervals of batches as in blocks, the network is able to grow and scale dynamically with the number of transactions. The more transactions are made, the more secure and the more efficient the Mesh gets. When a node is synching, it just iterates through all transactions. The values from all transactions will be grouped into their addresses, even if they are in their previous order or not. When the all transactions are processed, every address will contain the current correct balance.There is no max-count of transactions in one block like in Blockchains and there will certainly be no blocksize-debate.
There is no need to sort a puzzle just from one corner, piece after piece if you can have multiple eyes looking simultaneously and randomly for the right pieces to form the puzzle, from multiple corners. The more eyes, the faster it gets. Aidos demands no mining, is block-less and contrarily to Blockchains, gets faster the bigger it grows.
The issuing of a transaction in ADK consists of three simple steps:
First the transaction inputs are signed with your private keys
Then a Random Walk Monte Carlo algorithm is used to randomly select two tips (i.e. unconfirmed transactions), which will be referenced by your transaction.
For your transaction to be accepted by the network, you need to do solve a cryptographic puzzle – similar to Hashcash.
After all above steps your transaction is broadcast to the network.
After that someone else just has to reference your transaction in the tip selection process and therefore validate it.
After that your transaction will be confirmed.