Wednesday, August 18, 2021

Parallel realities and IOTAs breakthrough “Multiverse consensus"

Fun fact about our universe: There is no objective time. Every observer experiences their own duration and series of events, depending on their relative speeds to each other. Even the order of events gets blurred: Two events that happens simultaneously for one observer can happen one-after-another for the other (see ladder-paradox).

Why am I telling you this on a crypto-currency subreddit? Because within distributed ledgers (like blockchains or DAGs) there is also no objective series of events. Each node in the network experiences its very own order of transactions. And believe it or not: This relativity of time is the reason you pay fees on your Bitcoin transactions.

Time-relative networks are vulnerable to double-spends

Distributed networks are made up of nodes that tell to each other their opinion on the ledger-state. So when a node wants to issue a transaction it starts by telling it´s neighboring nodes about it. They then forward it to their neighbors and so on – information ripples through the network. This form of communication is called “gossip” and is highly scalable. However, a fundamental side-effect is that the time and order of transactions becomes relative. Each node sees its own version of reality, just like observers in the physical universe. Problem: This opens up vulnerabilities for double-spends.

Fig.1: Classical double-spend: Node A spends the same funds twice, each time telling only node B or node C about each transaction. Node A and B find out about the double-spend via gossiping, however they cannot agree on which transaction came first.

Crude but working solution: Pay someone to deal with conflicts

To this day, no blockchain found a solution to constructively work with relativity of time. Instead, the double-spend problem is universally solved in a rather simplistic way: Slow down the network and organize it into artificial checkpoints, aka “blocks”, in order to synchronize opinions. The problem is that these blocks do not evolve naturally out of the distributed ledger. Instead an outside entity is needed to arbitrarily define them. This entity is called a “leader” and is usually determined by proof-of-work (miners) or proof-of-stake (stakers). They make sure to create a block with no internal conflicts.

And it works: this method solves the double-spend problem. However, it also comes with several high costs:

Problem 1: Leaders slow everything down

Finding a leader costs time. Instead of having a continuous and smooth flow of transactions, the network gets stopped in fixed intervals (block-times). Only AFTER a block is fully validated the next batch of transactions can be processed.

Problem 2: Leaders want your money

Miners and stakers can only be trusted, because we count on their financial self-interest. This financial interest must be continuously satisfied by fees and/or token inflation. Fees however run exactly contrary to the usability of the network: They are a direct incentive to NOT use the network and they destroy many possible use-cases (see No-coin DLT use-cases).

Problem 3: Leaders are middle-men

As long as regular nodes cannot directly write transactions into the ledger themselves, but instead have to pay thirds parties (miners/stakers), cryptocurrencies are not really what Satoshi originally envisioned: “peer-to-peer electronic cash”. There will always be a lot less leaders (for example mining-pools) than nodes on the network (in Bitcoin 4 mining-pools control 51% of hash-power..). This has serious long-term problems which are discussed here.

IOTAs radical idea: Accept relativity of time, throw out miners/stakers

One of the fundamental concepts of IOTA is to NOT insist on a total order of transactions. This single decision has immediate and strong consequences on the network:

· Feeless (Since there are no leaders that need to get paid)

· Fast (Since there is no need to wait for blocks to be validated)

· Green (Since there is no competitive PoW)

· Decentralized (Because ALL nodes are leaders, not only a few).

Fig.2: Blockchains cannot effectively scale, because they force the natural flow of transactions into fixed-sized blocks. IOTAs Tangle allows all nodes to freely write transactions into the ledger at all times.

But how are double-spends resolved?

Short answer: Democracy

Longer answer: IOTA developed a completely new “leaderless consensus”, which is based on parallel-reality based ledger states and on-tangle voting (aka “Multiverse consensus”).

Parallel-reality based ledger state allows every node to have its own opinion about the order of transactions on the network. This means that at every point in time there are actually many versions of the IOTA ledger: One “reality” for every node. These realities can even be in conflict with each other!

In consequence the network effectively splits whenever a conflict arises (similar to the many-worlds interpretation of quantum physics). In order to merge back together into one shared reality nodes have to find the heaviest branch in the network – exactly like in “heaviest-chain wins” consensus in blockchains.

But how to find the heaviest branch/reality? In blockchains the longest chain is easy to spot: Leaders simply post their hashed blocks and nodes count who has the longest chain. In multiverse-consensus however the heaviest branch is found via on-tangle voting.

Nodes vote on which reality they most believe in by gossiping with other nodes. However, a simple “one node, one vote” democracy could easily be gamed, since everyone can cheaply create as many nodes (and therefore votes) as they want. Therefore, a secret ingredient is necessary to protect the network. This ingredient is called “consensus Mana” (cMana) and it is earned by nodes by processing value transactions in the network (so “more useful” nodes have a more important opinions).

Fig. 3: A conflict splits the network into two or more “realities”. The reality that amasses the majority of cMana behind it is the “heaviest branch”. All honest nodes will merge back into this branch by dropping any conflicting opinions. Source: https://v2.iota.org/how-it-works/decentralized

Over time, one reality of the network will amass 51% of cMana behind it and will therefore become the heaviest branch. All honest nodes will acknowledge this fact and will drop their conflicting opinions in order to merge back together. This method can lead to incredibly complex multiverse-structures, (for example when new conflicts arise inside already split realities), however there will always emerge exactly one reality that is approved by the majority of cMana. Conflicts are therefore resolved “on-the-run”, without leaders and without any fees.

How far is IOTA in achieving this vision?

IOTA is currently in a “beta” stage (called IOTA 1.5 or “Chrysalis”). Value transactions on the mainnet are still centralized under the coordinator-node run by the IOTA Foundation. Pure data-transactions are fully decentralized though.

The fully decentralized “IOTA 2.0 DevNet” is already running since several months, however it is not yet feature-complete and remains under construction. You can watch the DevNet live here: https://v2.iota.org/visualizer


No comments:

Post a Comment