Public Blockchains vs. Private Blockchains
Blockchains were created to coordinate data between parties that don’t necessarily trust each other. This is really handy when you’re in a situation where you want to exchange data or agree on the validity of data with untrusted parties. Blockchains are great for agreeing on public data; this is what they were created for!
But to pull this off you have to have a system that is decentralized, censorship-resistant, borderless, and transparent. And all of that takes a lot of effort, equipment, and electricity.
So if you want to share data in a closed off private setting where you do know the people you’re interacting with, why use a blockchain?
I’d argue that in general, if you don’t need censorship resistance or decentralization, then save yourself the trouble and just use a standard SQL database.
So Why Are There Private Blockchains?
Let’s examine a slightly contrived example in order to compare the use of a public blockchain, with more private options.
Let’s imagine that I’m the CEO of Widget Co., a giant multi-national widget producer. I’ve just been told by my management team that we need to improve our internal data systems. So we are sitting in a board meeting, in my super fancy office overlooking New York City, with a glass of champagne, and we are discussing what system we should use.
I say, “Hey, I’ve heard that blockchains are where it’s at, why can’t we use that?”
My lawyers object and say, “No way! Bitcoin, Ethereum, and all those systems are public! Even if we encrypt the data that we add to those blockchains, one of our competitors could still gather all kinds of meta-data on our operations!”
“Ok,” I say, “So what’s so wrong with the standard SQL database that we are using now?”
“Well,” the head of accounting says, “there have been some “irregularities” from the Cincinnati office. We are worried that the head of accounting in Cincinnati, and possibly Santiago as well, might have been making some changes to the numbers. Some things have been a bit off in the main accounting database, but as all of these offices have full admin access to the database, we can’t tell where these funny numbers are coming from, or who has changed them.”
“This is why we should use a blockchain!”
The CTO interjects, “This is why we should use a blockchain! With a blockchain, all the changes made by the Santiago team would be signed by their private key and that record would be kept permanently in the blockchain. We would have cryptographic proof of who is making what changes and when.”
At this point, the lawyer and CTO nearly come to blows as they continue to argue over the benefits and drawbacks of using a blockchain.
And then in a plot twist, the maintenance man who has been diligently fixing the office champagne drinking fountain, chimes in and says “Why don’t you just use a private blockchain? This way you could keep the auditability of a blockchain as all entries would have to be cryptographically signed with the private key of the party making the changes, yet the data would only be viewable to internal networks helping to maintain the privacy of business data.”
Well now the CTO has to tell us that’s not really a blockchain, and what the maintenance man is actually talking about is a “permissioned distributed ledger.” But I don’t care what you call it, and I invite the maintenance man to join the conversation.
I hand him a glass of champagne from the now functional champaign drinking fountain and we discuss the details of how the benefits of distributed ledgers such as cryptographically signed ledger entries, and immutability (which means you can’t go back and edit previous entries), and we compare that to the drawbacks of maintaining a blockchain, such as redundancy.
So we sit and drink way too much champagne together as we go over the trade-offs between auditability and immutability vs. performance.
So this was a slightly silly example, but maybe you can see where there might be a reason to use a private blockchain or a distributed ledger.
A Few Other Examples
There are also a few other situations where this could make sense. For example a number of businesses in a specific industry that want to exchange data between themselves, but no one business wants the responsibility of maintaining that data. Here a shared ledger might make some sense as well.
Now it’s tough to talk specifics about distributed ledgers because these private systems can vary wildly as they are designed to meet the needs of a particular organization. Even the “permissioned distributed ledger” software project Hyperledger is designed to be configurable in many different ways to meet a wide variety of needs.
Questions to Ask Before Using a Blockchain
What I hope you take away from this discussion is that blockchains are slow, inefficient databases. If you are considering using blockchain or distributed ledger technology, you’ll want to ask yourself questions like:
- Do I need to share this ledger with people that I don’t really trust?
- Will there be multiple entities writing to this database and will their entries interact or be dependent upon each other?
- Who will be the “validators” of this data? And how will this distributed system reach consensus?
And if you don’t have a good reason to justify the extra effort that is necessary to maintain a distributed system, then just stick with a standard database.