So you rubes are here to read about blockchains. And I’m here to write about blockchains, and we can all be big old blockchain fans together. To hell with that. I’m sorry to tell you, but blockchains suck. They really suck. They’re a terrible, grotesquely inefficient way of doing anything.
Why, you ask? Come back here to the previous question: what is a blockchain? It’s a book shared on a computer network, where every computer on the network has a full copy of the book, the book lists all transactions ever made, and new transactions are carried out by adding an entry at the end. Nothing can be added unless a majority of computers on the network greenlight it, and to stop someone from setting up sockpuppets amounting to a majority of the network, the software puts brakes on each voter (usually in the form of proof-of-work, sometimes with proof-of-stake – we’ll get to that later).
These are all terrible design choices. Every one of them leads to inefficiency. Let’s start with the first one: every computer has a full copy of the book. That’s a completely obvious and moronic reduplication of effort. If I have 100 computers, and a 100-page book, how do I store the book on the network? It’s not rocket scientology: I obviously give each computer one page. Or maybe I give each computer two or three pages to have backups. Giving every computer the whole wallop is a waste.
The next design choice is even more ridiculous. You can only add transactions by appending them to a complete and exhaustive list of every transaction in history. Imagine this: you walk through swinging doors into an old-timey bank. The waistcoated, muttonchopped teller peers at you over his half-moon glasses as you tell him you’re making a deposit. He counts your cash, pulls out a fresh ledger, explains that this here bank was founded by a Japanese called Satoshi, and has a certain way of doing things. He proceeds to transcribe by hand every transaction ever made in the history of the bank, with yours tagged on the end.
And don’t get me started on proof-of-work. It’s the worst case of deliberate inefficiency since some Egyptians said, “Our king died. What’s the best way to bury him?”. Proof-of-work gives computers meaningless puzzles to solve, so that no one can participate in the network without spending money on processing power.
Bitcoin is by far the biggest, most powerful supercomputer humanity has ever built. It uses 1/2000th of all the electricity in the world. What does our biggest supercomputer achieve? Does it model biological systems to find the cure for cancer? Does it model economics and politics to create utopia like in the 1970 Bowie song Saviour Machine? Is it like Her from the movie Her? Nope: It pushes the paper for less than 1% of the world’s monetary resources, and processes about 300,000 transactions a day. This is fewer than the transactions of a small city. And it can’t even handle that properly! There is massive congestion, rising fees, and delayed transactions. Just the other day, I waited two hours on a transaction that I needed urgently. The attempts to solve these problems are filthy with character-assassinations, smear campaigns, and conflicts-of-interest.
By contrast Visa handles 150 million transactions per day, Mastercard does 32 million, and each transaction is finished in seconds.
Note that none of this this inefficiency is not an accident, not caused by a bad implementation of a good idea. It is inherent to the design of blockchains.
The cryptoanarchist ideal is that systems have no authorities, just code that anyone can run freely, run themselves, without dependence on a bank, government, or technology corporation. Satoshi Nakamoto’s original paper described Bitcoin as ‘A Peer-to-peer Electronic Cash System’. Peer-to-peer means that Alice passes cash to Bob, without passing it through anyone else. Is this what Bitcoin has become?
The Bitcoin software actually separates the peers from the maintainers, known as miners. In that sense, it’s not a peer-to-peer system; it’s a peer-to-miner-to-peer system. And mining is really quite centralized. Just four miners together (Antpool, F2Pool, Bixin, and BTC.top) control 51% of the network. This is not the democratic ideal; it is oligarchy. Satoshi’s paper envisions miners as peers, not as a specialized industry.
Although miners have no say in what transactions go through (that is determined by mathematics alone), they are people of authority. The scaling debate has mostly been about getting a handful of Chinese miners to agree on how to scale the network. In other words, the miners have influence over the code.
Ethereum is switching from proof-of-work to proof-of-stake, so that instead of processing being expensive because it requires computers and electric bills, it will be expensive because it requires capital. I am not convinced that this will promote decentralization; capital has a way of accumulating in a few hands.
“But, but, but,” you say, “We need to copy the ledger to prevent rogue data being added! If the data to be copied by neutral parties, they can check that it is hunky-dory.” Shut your stupid mouth, I was getting to that. There are other ways of ensuring the integrity of data besides sending it to a data-integrity-checker.
Let me crack out my appeal to nature fallacy: the way nature replicates information and ensures its integrity is with error-checking. A cell doesn’t need to replicate all the DNA in the world. It reads the gene it needs to, makes the protein it needs to, and does some error-checking, and that’s enough for it to replicate data reliably. The only time it replicates the whole genome is when it needs to copy the program onto a new cell.
This principle can be applied to a distributed ledger. Instead of rewriting the entire ledger to add new transactions, we give each transaction its own slip of paper, like decent, god-fearing people ought to.
As brilliant and handsome as I am, this is not an idea I came up with. Arthur Brock of the Ceptr project calls this ‘intrinsic data integrity‘. Intrinsic data integrity has a track record of success, and what it allows us to do is verify mathematically that the ledger or database or text is hunky-dory and no meddling kids have been in it.
Some guy called Linus Torvalds, who never did anything else worthwhile, came up with a system called Git. This tracks multiple versions of files (e.g. a wiki page that keeps getting changed), by taking a fingerprint of the state of the file with each change. Change so much as the style of a letter, and the fingerprint becomes invalid. Check that the fingerprint is valid, and you know the ledger has not been tampered with.
The Holochains by the Ceptr team is a conceptual framework for non-blockchain cryptocurrencies, where the integrity of the ledger is ensured by intrinsic means, rather than by making everybody check it. Instead of ensuring integrity of data “by restricting access” to it (as governments, banks, and schools, and other citadels of Greyface do), or the blockchain method with its “high computational overhead for achieving consensus, and the Pareto Effects of Proof of Work and Proof of Stake which steer the system toward being more centralized than many would want”, they use hashing (mathematical fingerprinting) to make sure the data is kosher.
Apart from Ceptr, IOTA recently splashed onto the list of Top Ten cryptocurrencies, with a value of $1.8 billion, and did it without a blockchain.
IOTA calls its technology the Tangle. a decentralized, more truly peer-to-peer ledger than the Bitcoin blockchain. In IOTA, you can’t send a transaction without verifying two others from the network. This means that there are no specialized miners; validating transactions and conducting transactions go hand in hand. And that makes scalability a non-issue, because the more use the network gets, the more validation power it gets.
See how much lighter this design is than Bitcoin? Instead of asking every single part of the network to validate the transaction, you ask two random nodes. And because it is lighter, and because there are no miners to be paid, IOTA has no fees. And because there is no intensive proof-of-work, and you don’t need a huge number of verifications, it is much quicker than Bitcoin. I like this design principle so much I have started to apply it to my own life: I used to use Bitcoin a lot, and try and get everyone in the whole world to validate me, but now I use IOTA, and just pick two random people a day and ask if they think I’m acceptable.
MaidSafe, likewise, is among the top 30 most valuable cryptocurrencies, and has gotten there using hashing and peer-to-peer networking, not a blockchain.
Holochains, SAFE consensus, and IOTA – three similar technologies, three non-blockchain cryptocurrencies, three distributed ledgers. What they all have in common is that they allow a community to agree on the status of the ledger without a central authority, and without copying and checking every jot and tittle of the ledger every time. Of course, I don’t really hate blockchains, or I wouldn’t be here, but I was just hungry and cranky, and I want people to understand that there can be decentralization without blockchains, cryptocurrencies without blockchains, and even distributed ledgers without blockchains.