On Public and Private Blockchains
Public blockchains: a public blockchain is a blockchain that anyone in the world can read, anyone in the world can send transactions to and expect to see them included if they are valid, and anyone in the world can participate in the consensus process – the process for determining what blocks get added to the chain and what the current state is. As a substitute for centralized or quasi-centralized trust, public blockchains are secured by cryptoeconomics – the combination of economic incentives and cryptographic verification using mechanisms such as proof of work or proof of stake, following a general principle that the degree to which someone can have an influence in the consensus process is proportional to the quantity of economic resources that they can bring to bear. These blockchains are generally considered to be “fully decentralized”.
Consortium blockchains: a consortium blockchain is a blockchain where the consensus process is controlled by a pre-selected set of nodes; for example, one might imagine a consortium of 15 financial institutions, each of which operates a node and of which 10 must sign every block in order for the block to be valid. The right to read the blockchain may be public, or restricted to the participants, and there are also hybrid routes such as the root hashes of the blocks being public together with an API that allows members of the public to make a limited number of queries and get back cryptographic proofs of some parts of the blockchain state. These blockchains may be considered “partially decentralized”.
Fully private blockchains: a fully private blockchain is a blockchain where write permissions are kept centralized to one organization. Read permissions may be public or restricted to an arbitrary extent. Likely applications include database management, auditing, etc internal to a single company, and so public readability may not be necessary in many cases at all, though in other cases public auditability is desired.
The similarities of public and private blockchain
Many flavors of blockchain have evolved over the years and the terminology is often misconstrued. This is easy to do because public and private blockchain have many similarities:
- Both are decentralized peer-to-peer networks, where each participant maintains a replica of a shared append-only ledger of digitally signed transactions.
- Both maintain the replicas in sync through a protocol referred to as consensus.
- Both provide certain guarantees on the immutability of the ledger, even when some participants are faulty or malicious. So, how are they different?
I envision these permissioned networks will soon directly or indirectly influence every facet of human enterprise.
The difference between a Private, Public & Consortium Blockchain
In fact, this private system will have lower costs and faster speeds than a public blockchain platform can offer. Blockchain purists aren’t impressed. A private platform effectively kills their favorite part of this nascent technology: decentralization. They see the advent of private blockchain systems as little more than a sneaky attempt by big banks to retain their control of financial markets. In a way, they’re correct.
- A Blockchain was designed to securely cut out the middleman in any exchange of asset scenario. It does this by setting up a block of peer-to-peer transactions. Each transaction is verified and synced with every node affiliated with the blockchain before it is written to the system.
- Private blockchain lets the middleman back in, to a certain extent. The company writes and verifies each transaction. This allows for much greater efficiency and transactions on a private blockchain will be completed significantly faster. Though it does not offer the same decentralized security as its public counterpart, trusting a business to run a blockchain is no more dangerous than trusting it to run a company without blockchain.
Blockchain vs. Shared Database
Arvind Narayanan of Stanford, contend that private blockchains are just another name for a shared database. Others, like Gideon Greenspan of Multichain see several differences between private blockchain and SQL like databases, from disintermediation to robustness.
Traditional databases are completely contained within one entity, irrespective of their structure (SQL or no-SQL type databases). This includes read and write access, which is only possible via applications controlled by the entity to which the database belongs. Shared databases, on the other hand, involve read and write access involving multiple entities.
Private blockchains mimic the security process utilized by public blockchains like Bitcoin, but do not involve mathematical guarantees at the validation level or with respect to irreversibility.
At the end of the day, private blockchains provide higher levels of error checking and transaction validity than regular shared databases.
The future of these competing ideologies will be incumbent on issues of governance, scalability and reputation. These mandates will be required by incumbent institutions but conceived by innovative blockchain startups that see opportunity in mainstreaming the concepts of a blockchain, distributed ledger, and consortium chains.
One thing that blockchains do extremely well is allow entities who do not trust one another to collaborate in a meaningful way. This is one reason people see so much potential in this immature technology.
So it stands to reason that eventually we will begin to see large scale deployments of the technology attempting to do exactly that, connect groups such as businesses, governments, churches, and the like. Public blockchains can already make this claim, however they currently fall short of particular requirements such as privacy and scalability. Private blockchains can provide solutions for these short falls and enable greater privacy and transaction throughput because all the nodes are strictly controlled. However, there is a trade-off, they do so at the cost of their ability to connect any and all to the network.
What is the Difference Between Public and Permissioned Blockchains?