22
Oct
2015
0

Taxonomy is important, Consensus Computer is the end game

I suspect most non-specialists interested in the “crypto” space are confused by the various terms used at conferences, events, in blogs and by specialists and thought leaders. This is my attempt to make sense of taxonomy.

I have suffered from the same confusion and this post is an feeble attempt at bringing some clarity. I am genuinely interested in feedback and learning from other points of views and definitions some may have developed.

In the beginning there was The Blockchain. There is only one blockchain that matters from what I understand, if we make abstraction of alt coins (none has reached the level of popularity of Bitcoin) and Bitcoin forks: The bitcoin blockchain.

Definition of Blockchain: A type of distributed ledger that comprises two objects; transactions and blocks. Transactions are the data and blocks are the records that order the confirmation of the data.

I do get confused when people talk about blockchains, as if there were many blockchains. I get the sense the term is used to refer to all digital ledgers in the crypto space. This would imply that all ledgers use blocks and the same type of confirmation/validation mechanism which I am not sure is correct. To be clear, for me there is only one Blockchain.

As the space matured another term became popular: Distributed Ledger.
There are many different types of distributed ledgers, as opposed to only one Blockchain. Many distributed ledgers use completely different mechanisms than the Bitcoin Blockchain. Distributed ledgers are split between permissioned and permissionless ledgers (the Bitcoin Blockchain is a permissionless distributed ledger). See

Definition of Distributed Ledger: A ledger that digitally shows who owns what and when. Unlike a traditional centralized database, a distributed ledger is replicated across many participants or nodes. A consensus mechanism ensures all participants share and view the same state of the ledger.

The blockchain is a distributed ledger. Not all distributed ledgers are blockchains.

One of the reasons why the Distributed Ledger became popular, at least in the financial services industry, is that one can easily see the power and promise of replicating a ledger.

The term Distributed Ledger focuses on “Distributed”. Come to think of it, there is nothing revolutionary about it. All databases are somewhat “distributed” currently. For example, cash ownership is recorded in a distributed ledger of nostro/vostro accounts and securities ownership is recorded in a distributed ledger of custodial omnibus accounts. The “ledger” is already distributed . The only difference with the real promise of a “distributed ledger” is that this distribution is siloed  and partial, limited to itself and in need of massive reconciliation work from within and without every entity. From this point of view a Distributed Ledger misses the mark.

Further, from a raw computation point of view, “distributed” may refer to parallel computing, clusters of computers, clouds of computers. Distributed Ledgers again miss the mark.

In collaboration and with the help of Robert Sams, I introduced the term Consensus Computer (CC) in a previous post, see here. I should have first introduced the term Consensus Ledger (CL). Distributed Ledger should not have been used in the first place, Consensus Ledger should have been used instead. A more appropriate term that introduces the importance of “consensus” to arrive at a state, as opposed to focusing only on the state.

From this, the definition of a Consensus Ledger is essentially the same as that of a Distributed Ledger.

But what is the difference between a Consensus Ledger and a Consensus Computer? I believe the difference lies within the consensus mechanism. A consensus mechanism is used to update the state of the ledger. Not all consensus mechanisms are created equal. The question is whether the computation behind the consensus mechanism is limited to a basic set of operations as with bitcoin, ripple, stellar or hyperledger (acquired by DAH recently) OR whether that computation is turing-complete and therefore “consistent” with other machines/computers and/or the real world. This is crucial point. As business logic, or smart contracts become the brains of any operation in the space, the lines of codes representing contracts will become ever more complex and need to be consistent from one machine to another and also with real world frameworks. Hence, a Consensus Computer is a Consensus Ledger that will use turing-complete computation.

All Consensus Computers are Consensus Ledgers, but not all Consensus Ledgers are Consensus Computers.

The below graphic is my mental map of the evolution of terms:

Screen Shot 2015-10-15 at 8.39.32 AM

At least this taxonomy makes sense to me. It remains to be seen if it will resonate with others and throughout the ecosystem. I welcome all comments.

 

You may also like

Technology Arms Race & Financial Services
On the Universal Applicability of Consensus Ledgers
Open Letter: Open Standards & Consensus Ledgers
Further thoughts on Interoperability with Consensus Computers

2 Responses

  1. Taxonomical Maximalist

    I suggest considering forking the path in your taxonomy. For example if, for data privacy reasons, it is specifically required that some participants cannot have access to some data in the ledger (even if encrypted), then what is the role and behaviour of your consensus mechanism? Take this idea and generalise it – and then what is the resultant term in your taxonomy?

    1. Pascal Bouvier

      good point. i view modularity as crucial here. different stacks for high level use cases or developer preferences, then off of each stack, ability to tweak at network topology (how nodes interact with one another and with data, who sees what, when, now, who is allowed to do what) and at consensus mechanism (type of consensus, i.e. the labor of algorithm that does the validation/confirmation, from proof of identity, proof of spend, proof of… )

Leave a Reply