Basic overview of public and permissioned (private) blockchains
Below is an article which was forwarded to us which addresses some basic terms and concepts common in “Public” and “Private” blockchain discussions. We like the clarity of the information and are therefore posting (begins in bold italics below). We have very particular opinions on the different uses of the technology and will put forth an article of our own soon. The most famous public blockchain is Bitcoin. Hyperledger is a great example of a private blockchain, with IBM, Oracle and Amazon all offering BaaS (Blockchain As A Service) using Hyperledger. Very soon, interoperability will allow for business to be conducted on permissioned blockchains (Hyperledger) while being settled with public ones (settled with Bitcoin for example).
The following article concludes that most use cases could be just as easily done using a public blockchain and therefore should avoid the pitfalls of a private blockchain. In a vacuum we would agree, however, in just a few months time, the landscape has already changed. We at LBC are convinced that the future holds mass adoption of blockchain for commerce across every industry. The only way it makes sense is through interoperability (which the article does state) of both permissioned (like Hyperleger) and public (Bitcoin) blockchains.
I did it again – getting ahead of myself……
The point is that this is where we are going and the more you know, the better you will be positioned to adapt and thrive. The below provides you a quick tutorial on some of the foundational information
One of the most asked questions is what the difference is between a Public and Private Blockchain and whether you should use a Public or Private Blockchain for your use case.
The reason behind this question is that many of our customers process confidential data and are hesitant and a bit put-off by the word ‘Public’. This is why we do take this question seriously and address it from the start of the project.
Blockchain in general
Firstly, we start with the main characteristics of what blockchain is and what all Public and Private blockchain platforms have in common:
- Both are an ‘append-only’ ledger, where records can be added, but cannot be changed or deleted: the records are ‘immutable’.
- Both are distributed, ‘decentralized’, over a Peer-to-peer network of computers, where each network node contains a complete replica of the ledger.
- Both provide a certain level of ‘immutability’ by verifying the validity of a record until the majority agree it is a valid record and reach ‘consensus’. This further prevents tampering with the records.
The same but different
The main difference between a Public and Private blockchain is who is able to participate in the Peer-to-peer network. A Public blockchain is completely open: anyone can participate and read or write data.
By contrast, a Private blockchain is closed to participants that are authorized. Other blockchains will have specific rights or restrictions. This is also why some Private blockchains are also known as “Permissioned” blockchains.
You might now say: “OK, we need a Private blockchain, because we do not want everybody to read our data!”. But there is more to it.
Advantages of a Private blockchain
Limiting access to data or certain functions, like writing or reading data, is indeed one of the major benefits of Private and Permissioned blockchains. Also, Private blockchains typically consist of less nodes, run within an organization or consortium of organizations, have a different consensus mechanism than Proof of Work, which can make them faster and more economical.
Disadvantages of a Private blockchain
The main disadvantages of Private blockchains are that they typically consist of less nodes, run within an organization or consortium of organizations!
However, this makes them less trustworthy. And that is the whole point of using a blockchain!
With less nodes it is easier for a ‘bad actor’ to gain control of more than 50% of the consensus network. Also, the validity of records cannot be independently verified, only by the participants with access rights. External actors have to trust your blockchain network.
On top of that the Peer-to-peer network must be build and maintained by you and the other participants themselves. As well as maintaining a complex Identity and Access Management (IAM) system for the users. This often leads to centralization, which is also something we specifically try to avoid with blockchain!
Advantages of a Public blockchain
The main advantages of a Public blockchain are that they are more trustworthy: there are much more nodes, run by autonomous parties, which make it practically impossible for ‘bad actors’ to collude and work together to gain control over the consensus network. And they are fully transparent: anyone can verify the validity of transactions and the data.
And public blockchains are simply there: you do not need to create an infrastructure, just to use it.
Disadvantages of a Public blockchain
Most often you hear “too slow”, “too expensive” and “too much energy consuming” as the big disadvantages of Public blockchains. While this true for some Public blockchains, there are many Public blockchain projects that already have overcome these disadvantages and that are working on further improving in these areas.
Factom is a case in point: it is not superfast, but the current limit of 10 transactions per sec (which will be increased in the future), is fast enough for the majority of use cases. Compared to others, Factom is certainly not expensive (maybe even too cheap). And Factom’s consensus model that is based on 65 Authority Nodes is very efficient.
Private data, Personally Identifiable Data and Public blockchain
“What about our confidential data? We need a Private blockchain then, right?”
Let’s be 100% clear: private or personally identifiable data must not be stored in a Public blockchain! Even when encrypted. It is not a good idea. It will be public forever and chances are encryption will be broken at some point in the future.
It’s all about Trust
Like most of our customers you want to use blockchain to create Trust for your data and processes. Public blockchains provide a higher level of trust because of the larger number of nodes that are operated by autonomous parties and can be independently verified.
And most use cases do not require private data to be stored on a public blockchain.
Creating trust is achieved by anchoring your data and execution of processes on a blockchain. With anchoring you create hashes of your data and the execution of processes, digitally sign these and write them on a Public blockchain.
Using anchoring you can guarantee and easily prove the authenticity of data and execution of processes and the existence at a certain point in time.
So, what should you use?
We believe that the majority of the use cases, by far, could very well use a Public blockchain and do not need the restricted access of a Private blockchain; which really is their only major advantage vs several major disadvantages.
In some other cases, a hybrid solution, for instance a combination of Private and Public blockchain, of just a private database or offchain storage combined with a Public blockchain can be a good solution.