Blockchain Rules of Thumb
A blockchain is enigmatic, yet it’s the hottest thing in Fintech. How is it that we are flooded with wild claims about what blockchains can do, but very few people can describe them in a coherent way?
During two plus years of blockchain hype, all efforts to harness the magical power of the blockchain have failed. Many people have been scammed out of money, time and reputation. So how do you know if a claim is legit or not? This post is an attempt to outline a framework to navigate the sea of blockchain claims. I provide you with a few easy to remember rules and walk through how I came up with them. By measuring projects against these rules you’ll know if they deserve a closer look.
A lot of people try to disparage bitcoin’s blockchain, but let’s not forget bitcoin’s blockchain is the oldest, the most secure, the most stable, and it holds the most value. It’s only rational to use bitcoin’s blockchain as the standard by which to judge others. It’d be counterproductive to use a less successful chain or, even worse, a theoretical chain as the basis for examination. You might have heard the term “blockchain is the technology behind bitcoin”, but it’s more accurate to say, “bitcoin is the technology behind blockchain”.
These are my rules of thumb to evaluate blockchain claims. I hope they can help others.
Rule #1: It must be a real blockchain
I need to define a blockchain first, and then go from there. A blockchain is a public decentralized ledger. It’s a very specific type of database for a decentralized network created from proof-of-work (PoW), digital tokens, and monetary policy. 1 Without exception, a blockchain must be made of these lower-level variables. However, the specific values of the variables can be altered. For example the monetary policy can result in limited supply, like bitcoin, or constant inflation. Another example is using an ASIC-resistant algorithm for the PoW that will limit the use of specialized mining equipment. As you can see, these variables can be tweaked, but it’s highly unlikely that a stable blockchain will result if it doesn’t include these three things, and bitcoin’s specific balance is evidently the best.
Proof-of-work + digital tokens + monetary policy = blockchain = consensus
Rule #2: Blockchains provide consensus not efficiency
Most blockchain projects fail because they don’t understand a blockchain’s role. If you hear people say that blockchains are more efficient than centralized solutions, it’s likely a scam. In fact, trusted third parties (TTPs) are quite efficient and arise naturally in the free market. Centralized databases are very good at what they do. Perhaps this mistaken “decentralize all the things” belief comes from the fact that decentralization can increase capacity, availability, and speed of networks. Companies like Netflix are actively studying how they can use P2P services to better serve their customers’ and ISPs’ needs.
While decentralized networks are great for data sharing, they are horribly inefficient at consensus. All of the strengths of decentralization are neutered when a network needs consensus. That is what centralized parties do on a financial network, provide a source of truth for the ledger. For a truly decentralized network to have consensus, it needs to give up a lot of its efficiency by “duplicating all the things”. Only when central party corruption outweighs the cost of decentralized consensus is a blockchain workable. Currently, money is the only app that meets this requirement, and will likely be the only app since it’s so powerful by itself.
There are two primary reasons for this inefficiency that I want to briefly discuss to support this point. 1) Blockchains require resources, hardware, software, computation, and energy consumption, to be duplicated in every individual node. 2) Maintaining a shared state on all nodes without a TTP is a delicate and costly matter.
2.1 Duplicate All the Things
In a consensus based decentralized network everything is duplicated on every node. Every byte of data in the blockchain, every calculation or validation, and every expense, are all the same for every node.
The size of a blockchain must be considered. Fancy applications storing data directly on the blockchain increases the size dramatically. 2 Blockchains for smart contract platforms like ethereum have very fast growing blockchains relative to bitcoin, with a possible growth rate of 100’s of GB/month with wide adoption. The same goes for a network aiming for a high number of transactions per second. Those transactions have to be stored somewhere. It’s call blockchain bloat. 3
The computational load on a node must be considered. In ethereum’s case, that includes the calculation of 1000’s of smart contract simultaneously. If the application layer of the project runs on the blockchain, computation very quickly becomes a problem. 4 Bitcoin has consciously kept calculation limited at the protocol level and is pursuing more scalable layer 2 solutions.
The costs associated with running a node is an important factor, as well. When a network is small and no one uses it, a node might be cheap, costing about $100 (a Raspberry Pi and a couple hours of work). That’s quite reasonable. However, as storage, PoW difficulty and computational load increase, it will require ever larger investments in hardware and time to maintain. I’ve heard rumors that even today, an ethereum node takes hours a week to babysit, with constant patches, forks, and network attacks.
2.2 Proof-of-Work is Expensive
A blockchain can also be described as a stateful decentralized consensus. Achieving consensus is very expensive. It doesn’t matter what cool things people claim their blockchain can do, if the nodes can’t stay synced with each other, a centralized solution would be better. Since transactions or blocks can be missed or spoofed nodes need a way to ask for, and trust, information from other nodes. 5 Satoshi found a way to enable a decentralized consensus on a public network and a blockchain is the result, not the cause.
Checking the validity of a newly received block is trivial, but creating that valid block is incredibility hard. The process to find a block cannot be gamed, so the nodes know that it took a trustworthy amount of work to find it. 6 In fact, this process is so energy intensive, and a centralized model so cheap, applications of blockchains only makes sense in extremely limited use cases where the corruption of a TTP is felt most acutely.
Rule #3: Blockchains have a high degree of immutability
One of the benefits of a blockchain is its permanence. History and your balances cannot be changed easily by an attacker or a TTP. If you hear a use case that supposedly doesn’t require immutability, you must ask why would it require a ledger? It would be better served to use a traditional database that’s designed to update records, as opposed to an append-only ledger.
The level of difficulty to change the past is synonymous with a the blockchain’s immutability. If history is easy to rewrite there’s little value in using a blockchain at all, because miners won’t waste effort producing it in the first place. Whatever the problem a mutable blockchain is solving it can be done more efficiently with a centralized solution as stated above. Users and miners will leave to join a network with higher levels of immutability.
Rule #4: There has to be a monetary incentive to participate in a blockchain
Nodes don’t automatically support your network because they think your project is awesome. People need to benefit directly from running your software. Promises only work for a short time and die-hard early adopters will leave after a while if it’s not paying off. They’ll instead join a network that is currently growing and paying. Direct monetary reward through PoW is absolutely necessary for miners to participate.
Users without miners is a pointless situation. The running of a node must be made profitable in some way. Indeed, this is the most significant hurdle I see for an honest project in the bootstrapping phase. No model has proven successful since the launch of bitcoin, and none may ever be successful again now that bitcoin exists.
Rule #5: Launching a blockchain is extremely hard and perverts incentives
Bitcoin was lucky. Satoshi launched in relative anonymity, and bitcoin benefited from that incubation period. Importantly, the incentive structure of bitcoin was able to take root and grow organically, with very little interference from knowledgeable attackers.
Today, the task of launching a coin is more difficult. A community of millions of users is watching. A vast number of speculators are just waiting to pump a new coin, only to dump a week later. There is no incubation period for the fledgling network, like the one bitcoin enjoyed. The problem with many of the schemes for launching a new coin is that they pervert the core incentives of the network, in an attempt to make it through the first several months intact.
5.1 The Initial Coin Offering (ICO)
We’ve seen the ICO become the premeir way to tackle the difficult bootstrapping problem. Founders sell coins prior the genesis block, supposedly to align users self-interest with the coin from the beginning. 7 It kills two birds with one stone, funding the continued development of the project and establishing an initial distribution. But there’s a catch, the incentives for the founders and developers get shifted from providing useful features to keeping the speculators happy.
5.2 Courting Speculators
New blockchain projects are launched right into the fire of sophisticated attackers and an educated community. Far from being considered a problem, speculators are courted by new projects because they impart value, which attracts miners who secure the network. It becomes an inescapable cycle. Speculators are attracted by flashy features that developers can never hope to deliver on in a short period of time. Without these sky high promises though, there’d be no speculators, no miners, no security, no hope. So the promises keep coming.
A new project also faces the prospect of choosing their mining algorithm. Most will end up on an ASIC-resistant algorithm, or else they will fall victim to a 51% attack right out of the gate. The only problem with this path of least resistance is that it’s also very easy for miners to abandon the network in favor of the next hype coin that comes along with yet more outrageous features.
Everywhere a new blockchain project turns they are greeted with a harsh reality that perverts their incentives.
Rule #6: Blockchains are government-resistant, so companies cannot be responsible for them
Blockchains arise on a decentralized network, as I’ve stated. They are created in an unregulated environment, outside the control of any particular country. A truly decentralized network cannot be regulated in any traditional sense, hence, blockchains are government-resistant (often phrased as censorship-resistant).
Banks by definition are centralized and regulated. They are caught in a regulatory prison and precluded from implementing a government-resistant technology. Do you really think governments would allow a bank to create software that could undermine all their efforts to control the economy? That doesn’t mean a bank cannot use a blockchain, banks definitely can and will use bitcoin’s blockchain. It only means that a bank can’t be responsible for creating and maintaining a government-resistant technology.
If you read a claim about a bank creating a blockchain, you must ask how’s it regulated? The answer will probably lead you to the conclusion that it’s not a real blockchain.
Rule #7: Physical objects cannot be represented on a blockchain due to the dual consensus problem
One of the most popular claims about blockchains today, is that they can be used as a ledger for tokens that represent some sort of physical object, or ownership of a physical object. An example would be a digital token representing gold in some vault somewhere. This particular variety of claim has apparently not been refuted adequately anywhere else, perhaps because “working” Proof of Concepts have made it difficult. These PoCs “work” in very controlled environments where nothing can really go wrong, but have little hope for working in the wild.
It’s likely that all of the Digital/Physical blockchain schemes will fail, because they depend on, what I call, a dual consensus. One source of consensus is the physical world. The other source of consensus is PoW. What happens if they get out of sync? It’s similar to having two blockchains on the same network simultaneously, both fighting over the same tokens, one using SHA-256 and one using Scrypt. Two unique consensuses emerge. Which one do you trust? What if they say different things?
If the network or an account gets hacked and the digital tokens move, or the private key is lost, but the physical object is unaffected, there’s a consensus problem. The blockchain will say the object belongs to one person, yet the physical item may be in the possession of another person. There’s also a problem if the object ceases to exist, like say you are tracking freight containers and the ship sinks, or is hijacked by pirates. Or say you register your home ownership on a blockchain, but it burns down. Anytime there is a discrepancy between the physical object and the digital token, you must have a centralized scheme to fix it.
Therefore, all Digital/Physical blockchain schemes will fail to scale and remain stable.
Conclusion
So those are my current rules of thumb for evaluating new blockchain projects. They are subject to change. If you have more info or feedback, please contact me.
In closing, I want to reiterate my support for bitcoin. I believe that it’s the only blockchain of consequence and likely to remain so for the foreseeable future. If bitcoin does fail, it will be at least a generation before something else comes along to replace it. Satoshi pulled off the ultimate coup, and his extraordinary accomplishment will be more difficult to replicate than anyone can imagine.
- The original Satoshi description of a block chain can be found on GitHub. ↩
- The value density per MB of a blockchain is an important measure in evaluating the benefit of a consensus the blockchain represents. ↩
- There are many very similar projects to ethereum that suffer from the same reality. I only use it as a popular example of an application heavy protocol layer. ↩
- At least, ethereum realizes this computing limitation, and they’re working hard on an idea called “sharding”, which is its own bag of worms. ↩
- This is the whole Byzantine Generals Problem you might have heard about, a decentralized or distributed network must have a form of “Byzantine fault tolerance”. ↩
- Please see Khan Academy video or The Nakamoto Institutes article for more info on PoW. ↩
- The ICO has effectively replaced pre-mine launches, where the initial distribution was gifted to stakeholders. Pre-mines proved unpopular, because most people worried about insiders just dumping their coins. Ethereum was a hybrid, they had an ICO but also pre-mined coins for the ethereum foundation. ↩