I think one of the biggest problems these industries and technologies have today is a lack of clear differentiation between a set of technology that is both materially similar and fundamentally different.
tldr;
A public blockchain is any ordered database where it is expected that anyone would be able to read from or write to at a cost. Bitcoin being the most well known and popular example of this.
A distributed ledger is any private ordered database that is expected to have restrictions on who may read from or write to the database. Most commonly they’re restricted to those participating in the operation of the ledger. Fabric and Corda would be the most well known and popular examples of these.
I highly agree @anthony One of the issues is that for most of the time the term public blockchain is used as an overarching term for DLTs by the general audience. As you mention in the post, both have their own use and purpose.
As this area keeps evolving and new players try to leverage some similar terms with their own meaning, it is how we see today.
I see it a bit differently. I see distributed ledger technology (DLT) a bigger term, a superset, while blockchain is one way to implementing DLT, and therefore a subset. There are many non blockchain implementations such as using DAG (IOTA, Hashgraph), or a chain pattern without a block without using block such as Corda (well, Corda is now marketing itself as blockchain). It is more to solve business problems such as trust among different business entities.
If we just focus on the term blockchain: narrowly it’s a pattern of “chain of blocks” keeping relevant data, and cryptographically protected between blocks. This is what my first paragraph is talking about. Broadly it’s either a live network in permissionless model or a consortium platform in permissioned model. Examples of the former are Bitcoin and Ethereum (mainnet) and many new comers, while the latter is like Fabric and Sawtooth. And this is also one way to categorize blockchain implementation: permissionless vs. permissioned.
If we see blockchain this way, we won’t simply say it’s just a distributed database. More importantly it provides a programmable environment such that one can create application (smart contract, or more sexy term like decentralized app) to solve some business problems. It is the business application built on top of it brings unique values to real life, while the blockchain networks (permissionless) or blockchain platforms (permissioned) make it possible.
KC has a nice angle on it - blockchains being a subset of distributed ledgers. I tend to think of the distinction in terms of trust and what you have to to do account for it (or its lack). In a truly public system you not only have no trust between any random set of parties, you have an expectation of hostile actors. Your system has to be engineered to be resilient in that environment. In a more concrete sense, that’s why all the benches in the public park in my village are bolted to the ground.
Where you have some gateway then you immediately have enough trust to dispense with the bench bolts. Trust isn’t binary - Intel and Apple don’t trust eachother with much, but there’s a productive supplier/buyer relationship there. Private distributed ledgers assume a minimal level of trust such that legitimate actors won’t maliciously alter data using inherent features of the system (i.e. its own APIs.) You still need to code defensively against hostile threats exploiting flaws of course.
What both blockchains and private DLTs are though are just ways to ensure all parties have the same, shared view of data in the system - in other words, a common state is distributed among all actors. DAML’s job is describing the rules under which that state can change.
Hi @Tim good call on trust. Sure zero trust is in public permissionless blockchain networks and “bolts” are everywhere. It turns out one of the power bolts is the economic incentive, which makes these networks robust.
In permissioned blockchain platform (or private DLT in your term) trust in consortium (among organizations) is largely first they agree that this platform can help to solve business problems, which is not solvable or at least costly without such a platform. This value should be big enough (or the business problem is burning enough) that they are willing to form such a consortium and all of them are following the same game rule. If there’s no such value, there is no need of new platform as business can be done as usual today. And participants are willing to maintain such platform as far as they see that value. Contract code (e.g. chaincode) needs agreement between these organizations and the platform should handle well in case any discrepancy or bad actors around.
Thanks @anthony. These are text-book categorization. In early days they were mostly equivalent to public vs. private, as we mainly see permissionless blockchain as public, while permissioned blockchain in private or consortium.
As more players around, some may come up something like with permissioned consensus + permissionless access. Which means that while it is open to anyone joining the network (permissionless), only designated ones can be the “miner” or block builders (permissioned). This is different from Bitcoin or Ethereum in which anyone can be a miner. FB’s Libra or others implementing delegated consensus algorithm are taking this, as they wish to improve performance and scalability to those PoW-based blockchain (Bitcoin, Ethereum today).
It’s still largely safe to use the term permissionless and permissioned, while be caution when people are talking something differently.
Great article! I would add to the technical comparison (repeating some of your points), that these are veri different mental and business models as well:
Mental / business model #1
Data centric - the usual parlance is “let’s put / anchor something on the blockchain”.
Public, meaning anyone can use it and “mine” it, meaning make money out of it.
Public, in another meaning, namely that one guarantee of non-repudiation is total broadcast (see the analogy of stone money on the island of Yap).
Censorship resistant, meaning no government / police / court can stop you from sending money with it.
The network itself is the issuer of value. The Canton white paper puts it like “the digital equivalent of gold nuggets”.
Simple synchronization mechanism, based on data blocks and hash chaining. The downside is that very slow and energy inefficient.
No sophisticated ID mechanism, parties are represented by PKI public keys.
The danger of 51% attack is constantly looming, see eg. Ethereum classic, and complaints about BTC mining pool concentration.
Mental / business model #2
Transaction centric
Consortial, supporting the operation of consortia, conducting usual business activity, backed by legal contracts. The business model of the consortium using it is strategic advantage and/or cost efficiency.
Not censorship resistant (eg. malicious parties can be boycotted)
Complex mechanism, usually not using the Nakamoto style blocks and chain, instead multiphase commit protocols (Canton eg. uses stakeholder based two-phase commit protocol)
Sophisticated ID management mechanism, aligned with OAuth and enterprise IAM
I very much like the idea of partitioning these into different mental/business models and I really like these takes.
One caveat though, I don’t think this is a concern for Bitcoin*. For smaller blockchains absolutely but there are some very expensive deterrents to miners misbehaving on larger chains. Perhaps one of my favorite reads on the subject. And more to the point Bitcoin’s mining pool concentration is decreasing long term.
*Caveating my caveat with the caveat that Bitcoin does need to establish a solid fee market over the next ~8-12 years in order to remain viable due to its decreasing block subsidy.
Agreed. This happens a lot in practice in the public blockchain space with different mechanisms that appear as permissionless consensus in implementation but are actually permissioned in practice.
Also you’ve convinced me that “distributed ledger” is the best way to describe the superset of all of these technologies.
Then let me uncertain you concerning the term “distributed ledger”.
In many cases, like BTC, ETH or Fabric, it’s actually not distributed but replicated.
It’s not ledger in the accounting sense of the word. I accounting, a ledger is a collection of accounts with strictly defined structure, implementing double-entry bookkeeping. What is meant here is called a “journal” in accounting terms, a list of economic events, see a footnote to the DAML documentation.
I think the term generally used in the DAML docs “shared virtual lesger” is ok, despite the slight ambiguity of the “ledger” part. The “shared virtual” part covers the many different topologies which can be found in real life systems.