I try hard to differentiate between what people mean when they talk about “blockchain”s. In my view calling a public blockchain and a distributed ledger by the same blanket term is about as informative as calling SQL, MongoDB, and an Excel spreadsheet a “database”. It’s technically correct but very uninformative. So I’d like to try my hand at clarifying this and exploring the benefits and trade-offs of each at a very high level.
Speaking broadly we have two relatively new types of technically similar, but operationally different databases, the public blockchain, and the distributed ledger. The difference between these two effectively reduces down to one critical component:
How much privileged control do one or more entities have over their database?
So with this in mind let’s throw out the mislabeling and clarify some terms:
These definitions gloss over other key differences but what we can say generally is
The advantage of a public blockchain is that any number of people who may or may not know or trust each other can use it to record data that is important to them. This often takes the form of transactions that have at least some, and often significant monetary value. Ultimately if you can afford to save data to this blockchain then you get to save data there with no other intermediaries in between.
This presents two tradeoffs:
If you need the benefits of a public blockchain which are primarily a means to achieve a censorship and corruption resistant form of money then use it. If you don’t then you might want to look elsewhere.
Distributed ledgers look a lot like traditional SQL databases with one crucial difference:
In the most egalitarian version it gives each of these participants equal say, but the actual structure can be whatever you imagine for your needs.
If you were to choose a distributed ledger over a SQL database it would involve some coordination between organizations on business requirements. At first blush this implies a higher workload but in reality it reduces workload by reducing what would be multiple separate infrastructures enforcing the same set of business requirements into one. Furthermore these infrastructures help to facilitate trust and strengthen relationships as all participants to your ledger can see and be certain of the parts relevant to them. This is a property wholly unavailable to traditional database architectures.
When compared to public blockchains, distributed ledgers are much more cost efficient to save data to (like any other private database) and the data within it is generally not accessible to the entire world. They also offer substantially more flexibility with upgrades and feature improvements to both your database and development stack. With a distributed ledger you only need to upgrade the nodes participating in your private network, not the entire world as you would need with a public chain.
So in conclusion public blockchains and distributed ledgers address vastly different concerns and are worth distinguishing between. Public blockchains are really good for exchanging value in some cases, while distributed ledgers are really good for managing business operations.
We would like to get your thoughts and opinions on the two: What are you using blockchain or distributed ledgers for? What other trade-offs do you see? Start a discussion with us here.