No, The Tangle Doesn't Solve Consensus
Tags: cryptocurrency, bitcoin, consensus
Published: 2019-10-23 00:13:47

## The Rise and Fall of Nakamoto Consensus

Despite the common misconception that Satoshi Nakamoto created the first
"cryptocurrency," Bitcoin was not, in fact, the first digital currency. Bit gold,
for example, is commonly cited as a "direct precursor to the Bitcoin
architecture" [(O'Leary, par. 23)](https://www.huffpost.com/entry/the-mysterious-disappeara_b_7217206).
Bitcoin was, however, the first cryptocurrency to solve a specific problem
encountered by its predecessors: The Byzantine Generals' Problem.

From [the Wikipedia page on Byzantine faults](https://en.wikipedia.org/wiki/Byzantine_fault):

> A Byzantine fault (also [...] Byzantine generals problem [...]) is a
> condition of a computer system, particularly distributed computing systems,
> where components may fail and there is imperfect information on whether a
> component has failed.

In the case of distributed ledgers like Bitcoin, these "byzantine faults"
manifest themselves in the form of "double-spend attacks" wherein a user
publishes two conflicting transactions (e.g. Alice sends her entire balance of
10 coins to Bob, as well as to Carol).

Considering a standard server-client architecture wherein decisions are made by only one individual, finding a solution to this kind of discrepancy could seem trivial (simply choose the transaction with the earliest timestamp or the earliest received timestamp if the timestamps were modified to be the same).
In decentralized systems, however, making this sort of unilateral decision is a bit more difficult. More specifically, doing so can lead to network partitions, and--by extension--discrepancies in account balances (i.e. different peers received transactions in a different order).

Nakamoto Consensus--a proof-of-work-based algorithm designed to emulate
democratic weighted voting systems--solved this problem.

### Pros and Cons of Proof-Of-Work-Based Systems

Unlike many other weighted voting systems, Nakamoto Consensus--in its POW form--is generally unbiased and fair. Anyone with sufficient resources can join the network at any time, without the approval of a governing body.

However, POW is, in some regards, self-perpetuating--in gaining network
dominance and, as a result, rewards and transaction fees, a possible bad actor is continuously fed more funds to increase their hash rate. This argument is, of course, immediately invalidated keeping electrical costs in mind. However, such a notion is not entirely disputable, given that a large government body takes a crack at censoring transactions.

Additionally, POW-based systems tend to be quite wasteful.
[An article published on July 4, 2019, by The Verge](https://www.theverge.com/2019/7/4/20682109/bitcoin-energy-consumption-annual-calculation-cambridge-index-cbeci-country-comparison), for example, found that "The average yearly energy consumption of the Bitcoin
network exceeds that of the entire nation of Switzerland." One should note, however, that a substantial amount of the aforementioned energy consumption is in fact based on renewable resources.

But, more importantly, finality times under POW tend to be... less than optimal.

## The Rise and Immediate Fall of Buzzword-Based Consensus Algorithms

In light of Proof-Of-Work's undeniable flaws, new classes of "consensus"
algorithms have arisen. Some of the most popular being:

- Delegated Consensus Systems (used in EOS, Tron, NEO, etc...)
  - dPOS
  - dBFT
- Novel Data Structure-based Consensus Systems (used in Nano, IOTA, Byteball, etc...)
  - "The Tangle"
  - "The Blockmesh"
  - "DAG Technology"

For now, we'll stick with the latter of the two aforementioned classes of
algorithms: what I call, "Novel Data Structure-based Consensus Systems."

These "innovative" consensus algorithms are so brilliantly--or naïvely,
depending on where your priorities lie--designed, they don't even need to reach consensus! How wonderful!

Nano, for example, heavily advertises their use of "blockmesh" technology.
Blockmesh is, of course, just a data structure. Blockmesh alone provides no
means for consensus and is strictly a buzzword. Rather, consensus is achieved
in Nano through--you guessed it--delegated proof of stake.

IOTA differs slightly from Nano in this respect--arguably to its disadvantage:
Nano relies on a set of validators, whereas IOTA relies on a central server (the
coordinator).

I suppose, until Casper POS rolls out, it looks as though Nakamoto Consensus
reigns supreme.