The Biggest Misconception in Blockchain
“The best entrepreneurs know this: every great business is built around a secret that’s hidden from the outside. A great company is a conspiracy to change the world; when you share your secret, the recipient becomes a fellow conspirator.”
― Peter Thiel
In the 1960s, scientists were exploring neural networks, one of the most important and useful technological fields in computing, which now power deep learning. Early researchers like Hebb and Minsky developed early theories on how we might create simulations of brains in computing. However, in the late 1960s, Marvin Minsky and Seymour Papert published the book Perceptrons in which they argued that neural networks had a fatal flaw. They described that neural networks would not be able to implement an XOR logic gate, a critical component in solving many problems. Because of their persuasion towards the goal of developing other types of Artificial Intelligence, the field of neural networks was delayed by decades.
In history there have been a number of situations like this that have delayed entire industries by years. Sometimes progress is delayed by regulation, while sometimes it is delayed simply by a misconception, like Minksy’s Perceptron, that simply became ubiquitous thinking of the time. Blockchain has a similar misconception right now and it is equally dangerous to the field.
The biggest misconception about blockchain is that it must be run in a way that anyone can join in and provide consensus on adding blocks to the blockchain.
Despite this being ubiquitous thinking, that concept should intuitively seem crazy to anyone wanting to design a decentralized ledger. The idea of building a system where even people who want to lie, steal, and cheat, can run the system, sounds insane. Imagine trying to build any kind of physical factory where thieves are welcomed in to run the factory. If you would have told me in 2009 that that was the goal, I would have told you that it was impossible. That is the brilliance of Bitcoin. Make no mistake, although Bitcoin’s design is brilliant, it was founded in part on a cypherpunk mentality (which admittedly is hard not to admire), and the major constraint of having decentralized governance has a significant cost. There is no free lunch in blockchain. That’s why Bitcoin is so inefficient and why it is nearly impossible to govern.
That requirement also misses the point. Blockchain just simply is not going to thrive outside of government regulation — that is a pipe dream, at least short-term. The requirement that “anyone can run the system” is not needed in order to get the value we all want and need out of blockchain. Requiring that that is the case puts blockchain’s overall potential at risk. If blockchain cannot be competitive with existing database technologies, then it will struggle to have an impact on the world. Trustless computing (where no central authority oversees transactions) is possible without taking an anarchist point of view.
A big part of the misconception comes from a misunderstanding of which aspects of a protocol’s design leads to which results.
To put this table in perspective, Devvio’s solution implements 1–5 and 6. Bitcoin’s solution implements 1–5 and 7. One doesn’t need 7 to get the value out of blockchain! This is Devvio’s secret, and this is why Devvio will become a great company (and now you are one of our fellow conspirators, as Mr Thiel suggests in his quote above).
To better understand what is truly needed in blockchain technology, as well as why, let’s start with the original premise of the Bitcoin Whitepaper:
“What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party.”
Blockchain will be as significant to the world as the Internet has been, and the above stated goal represents why. Blockchain represents a radical change in philosophy where information is held on public ledgers, rather than by central authorities like banks, or enormous corporations like Facebook and Google. It has the potential to shift how most of the data in the world is held, and if implemented responsibly, can give people ownership of their data and the rightful power that that entails.
Blockchain, as a technology, is important because it solves the double spend problem. At a basic level blockchains simply order transactions. An asset that has been transferred is recorded as a transaction on the blockchain, and therefore the asset cannot be sent again by the original owner (the owner cannot “double spend” it). That simple act of maintaining a list of ordered transactions, for the first time, allows for the concept of digital money that is not controlled by a central authority. That is an immensely important concept for society, and digital currencies are just the tip of the iceberg for blockchain’s value. Blockchains often are public, meaning anyone can see the blocks as they are created. Blockchains innately are immutable (meaning they cannot be changed) because each block references the block before it, so even a single bit difference in a block would change the entire blockchain after that block.
Because the chain is public everyone can independently verify their transactions. Because the chain is immutable everyone can rely on the fact that the transactions are set and won’t change.
To solve Bitcoin’s original stated goal of allowing transactions without a central authority overseeing them, you therefore need three things:
- A public record of valid transactions
- An immutable record of valid transactions
- Cryptographic proof that transactions are from the owner
A thorough analysis of blockchain, however, should also evaluate implementation. So, how do the transactions get added to the blockchain? How is the blockchain stored? A blockchain doesn’t technically need to be implemented in a decentralized way. However, in practice that is a critical piece as the data is held on many different computers which helps to ensure the data’s immutability. The term blockchain has come to be synonymous with decentralized computing, where many different computers run the system.
Given that blockchains are typically held and run on many different computers, there are many benefits. First, if one or more computers is compromised, many other computers still hold the blockchain’s data. The system is therefore robust against data loss or manipulation of the entire chain. Similarly, blocks are added by all the computers in the system through a process where they agree what data should be added (i.e. they obtain consensus among themselves). This means that someone who wants to hack the system needs to hack many computers at once in order to affect which transactions are added to the chain.
These concepts lead to the ability to have transactions without a central authority overseeing them.
1. The fact that transactions are cryptographically secured with private keys (which are similar in nature to passwords) means the owners can prove their right to transfer the assets.
2. The fact that all blocks in a blockchain reference all the previous blocks makes the list of transactions immutable.
3. The fact that transactions are immutable means that people cannot double spend. The system can verify the assets are owned, to be able to be transferred.
4. The fact that it is a public record means anyone can independently verify transactions and can independently audit the entire chain.
5. The fact that a blockchain’s operations are decentralized means that the system is robust. Data is resistant to loss and manipulation.
With those concepts you have what you need for trustless computing! It is an incredibly powerful concept, and again, will be world changing.
The term “Blockchain” has typically come to imply all of these concepts. Using this more broadly accepted definition of blockchain where decentralization is implied, blockchain then has two strengths.
- Trustless computing
If you need those two things, then blockchain is a good solution! If you don’t, then one should use a traditional database instead!
It is straightforward to operate a blockchain in a way that data is held across many different computers (i.e. nodes) where the computers agree on what information should be added to the blockchain (through consensus), as long as you believe that the nodes are acting appropriately. The difficulty comes into play when you assume some of the computers are attack nodes which are trying to manipulate the system towards their ends.
Even if some nodes are attack nodes, it is generally straightforward to prevent bad data from being put into the blockchain. When an attack node posts bad data, the good nodes simply ignore it. If the majority of your validators are good nodes, then it’s straightforward to design a consensus algorithm where bad data is never added to the blockchain.
The final problem, then, is what happens when attack nodes work together. This is called collusion, and it is perhaps the most difficult problem to solve in blockchain.
Bitcoin solves this problem with its Proof of Work algorithm. Proof of Stake is another solution. A third solution, and the one that we chose in our designs, is permissioning who has the right to add data to the blockchain.
Let’s be crystal clear here. Permissioning validators does not affect the fact that the chain is public or not (and therefore can be independently audited). It does not affect the immutability of the chain. It does not affect the cryptographic proof needed to create valid transactions. It does not change the robustness of the blockchain’s operations. A permissioned system can still be highly decentralized.
Permissioning only provides for a different solution to the collusion problem.
This is a critical distinction, and it brings us full circle to blockchain’s biggest misconception. If you incorrectly assume that it is a requirement that everyone should be able to run the system, be sure why you think that. Do you really need more than a public, immutable and cryptographically secure chain? Why? Do you understand the tradeoffs in your requirements? Remember that every decision in blockchain is a tradeoff.
Going back to our table above, one can design a system, as Devvio has done, where the first 6 concepts are implemented, and only the 7th is left out. By doing so, all the needed value of blockchain is maintained, and the massive negatives of decentralized governance (cost, inability to scale, difficulty in implementing upgrades, energy usage, lack of effective privacy solutions, lack of fraud/theft/loss solutions, etc) are avoided. The added risk of censorship can be addressed in other ways as well, either contractually or through transparency as examples. Additionally, Devvio’s long term goal is to ultimately move to a permissionless system after we have a few years of operations under our belt. We argue that is the better way to get to the same end goal, as we can be much more competitive in the short term given all of the regulatory changes, technology changes, and competitive landscape changes taking place in the industry right now.
Like the misconception of Minsky’s Perceptron, the stakes here are equally big, and the wrong assumptions can have profound implications. Blockchain has the power to change the world, but only if it is competitive with the status quo. If it is so constrained in assumptions on how it should run that it can never become competitive, then it will not fulfill its potential.
If we instead implement blockchain so that it provides trustless computing, but does so in an efficient and scalable way, it will have a dramatic positive effect on humanity.