“Change the way you look at things and the things you look at change.”
― Wayne W. Dyer
Blockchain technology (Cryptography in general) has gone through tremendous growth from the initial ideas. There has been a lot of developments and expansions that were not actualized before.
So, the questions people continuously ask me is, “is blockchain a public ledger?”, “is blockchain transparent?”, “is blockchain immutable?”, “is blockchain peer to peer?”, initially the answers to all these questions was “Yes”.
But since blockchain has gone through changes over the years the answer to these questions to some blockchains have changed. Due to this changes in this modern time it’s “wrong” just to define blockchains as decentralized public ledgers which are transparent, immutable and peer to peer.
BLOCKCHAINS: PRIVATE OR PUBLIC LEDGER
It’s true that contemporary technology permits decentralization, it also permits centralization. It depends on how you use the technology― Noam Chomsky
Most of the blockchains at the beginning were public blockchains which means that everyone was allowed to participate in the network at anytime and maintain the public ledger. Sounds great right?
You could be a participant at anytime you want, view transactions of any addresses (the public ledger) without permission from anyone. What could possibly be the problem with this concept that make people, organizations/companies have private/permissioned blockchains?. In my view I think that blockchains can be public in one, two or both of these ways:
- Open network: Anyone can join the network at any time (it is an open network) there are no permissions or licenses to participate, on this option the participants may be able to view transactions or not view transactions, for example we have a blockchain like Monero’s whereby you can join at any time but you can’t explore or you are not able to view other people’s transactions.
- Public Ledger: The transaction ledger is public (it is a public ledger) this means that anyone even the once who are not in the network can explore and view the ledger.
- Fully Open: It can be both, it simply means anyone at anytime can join the network and participate/contribute and regardless if you are a part of the network or not you can view transactions broadcasted in the open ledger. A great example for this is the Bitcoin’s blockchain.
A private blockchain requires “invitation” or the interested person to present an interest of joining the network, where thereafter the person who started the network or people in the network can accept (give permission) if you can join the network or not. Example for these types of blockchains are Ripple and IBM’s Hyperledger they run a permissioned blockchain. They determine who may act as transaction validator on their network. The major difference between permissioned blockchains and the public ones is that, one needs permission and the other one is fully public rather than that they also share some other similarities with each other like:
- Once you are a part of the network it is decentralized meaning you can transact peer to peer with the other participants in the network.
- Mostly they have a consensus algorithm to make decisions – there has to be a mechanism that respects the majority of the network participants (Miners ,Community e.t.c)
“While transparency reduces corruption, good governance goes beyond transparency in achieving openness. Openness means involving the stakeholders in decision-making process. Transparency is the right to information while openness is the right to participation.” — Narendra Modi
Can we have a public blockchain where everyone can join the network but not everything is transparent to everyone (privacy)? You may want to participate in a public blockchain but you want to keep your transactions private just like in real life, where you can interact with everyone but you don’t go around telling them your past transactions. A blockchain like Monero’s where it is a public blockchain whereby you can join at anytime and participate in the network but it is private when it comes to transactions.
Using their ring signature technology, it is hard to know who received money from who and how much money was received.
“The good we secure for ourselves is precarious and uncertain until it is secured for all of us and incorporated into our common life” – Jane Addams
They usually say you cannot reverse back time and what is done is done. (I believe there is hope when it comes to time travel though– but that’s a topic for another post)
“Immutability is a myth” – immutability is the same as claiming there is such a thing as a fully ASIC resistant network at the moment if you said their existed such a thing you would be wrong(at least for now). This usually brings a whole big debate if “code is law” and to what extent, some blockchains are designed from the beginning with the intention of keeping the transactions “immutable” and others are made “open” with the ability of doing a dispute resolution, these blockchains go to an extend to even introduce governance.
“Nodes in a network are like gossipers” – so are you trying to say after they spread the gossip, they can reverse it so that people in the network forget about the gossip? (Well technically, “Yes” it is possible)
“If someone wanted to undermine the immutability of the bitcoin blockchain, here’s how they would do it. First, they would install more mining capacity than the rest of the network put together, creating a so-called “51% attack”. Second, instead of openly participating in the mining process, they would mine their own “secret branch”, containing whichever transactions they approve and censoring the rest. Finally, when the desired amount of time had passed, they would anonymously broadcast their secret branch to the network. Since the attacker has more mining power than the rest of the network, their branch will contain more proof-of-work than the public one. Every bitcoin node will therefore switch over, since the rules of bitcoin state that the more difficult branch wins. Any previously confirmed transactions not in the secret branch will be reversed, and the bitcoin they spent could be sent elsewhere”, and that how they would sort of do it.
To keep it simple I think that mutability of blockchains will likely be on permissioned blockchains or public delegated blockchains.
PEER TO PEER
“The best way to find out if you can trust someone is to trust them”– Ernest Hemingway
Disclaimer: “You can have peer to peer communications/software without using a blockchain”.
Basically, blockchains are peer to peer which people confuse this with decentralization, it is only decentralization in the space that you do not need permission to transact (receive or send) directly to someone in the network . But the network itself can be centralized, for example, you can have a blockchain which is delegated and requires permission for you to join, but once you have joined the network you can transact peer to peer with anyone in the network.
But really you do not need blockchains to achieve the peer to peer (P2P) ability , usually when you are looking for something on the internet for example a video on a website you usually click on it and the serve where the video is stored gets the request to “Get” you the video. But in a peer to peer system participants interact with other peers. A good example of this is uTorrent and WebRTC
I personally think blockchains will continue to evolve. It has reached a point in the human race where mankind has evolved to an extent that he also wants the things he uses to also evolve to serve him.