Continuing from my first post on the Christian case against Bitcoin and blockchain, this post looks at the claim in a challies.com guest article that Bitcoin, Ethereum and other crypto-assets represent an amazing “technological revolution” that we should be making the most of. This post got out of hand, despite cutting tons of material! But, in my defence:
It’s shorter than Dan Olson’s 2 hour marathon, Line Goes Up (very highly recommended). It has a contents table, so you can skip to the bits that interest you. It has GIFs. A few.
Contents
What problem does Bitcoin solve? How the blockchain solution works Does this solution actually work?
Peer-to-peer? Security Ledger technology
New currency required Money creation mechanism Fixed money supply
Payment technology Privacy and anonymity Irreversibility
Be your own bank Use an exchange
Blockchains for databases Smart contracts
Proof-of-stake Proof-of-something-useful
“But it’s still early days!” Conclusion Epilogue Footnotes
The problem with technology Cypto-mania is not really about technology. If you want to understand what is going on, you need to understand it at the level of economics, culture and human nature, which I touched on more in my first post, and Dan Olson’s video is excellent in that regard. The technology is just a source of “magic”. In other places and times, the witchdoctor, or the priest speaking in Latin, provided the magic that you couldn’t speak against. In our day, it is the high priests of science and technology 1. But they can be much more convincing than voodoo, because science and technology actually work. And computer technology can appear quite magical. Modern hardware seems nearly miraculous, and there have been amazing software breakthroughs, especially in the area of cryptography — such as public key cryptography and Diffie-Helman key exchange — that are not only mathematical gems, but amazingly useful too. And no-one wants to be Paul Krugman in 1998: So, this post is an attempt to equip those who aren’t computer experts with enough knowledge to engage with the main technological claims of blockchains, and how they measure up in reality. I won’t go into mathematical detail, and I will obviously simplify in some cases, but try not to make any simplifications that mislead. The argument from authority If you want, we can use an argument from authority as a shortcut to all of this. Below is a very small selection from the very many competent and diverse software experts who will tell you that blockchain technologies are not helpful to the world:
Bruce Schneier is the first name that comes to my mind if I wanted an authority on cryptography and security. He has written a very clear article pointing out the fundamental flaws in blockchain as a “trustless” technology — in summary:
Honestly, cryptocurrencies are useless.
Tim Bray is a famous software developer, employed by big name companies and involved in important specifications. He is a crypto-non-believer. Stephen Diehl is a very talented software developer that I know especially for his helpful writing about Haskell and related subjects. In recent years he’s become famous for his ethical stance against abuses by tech companies, and especially Bitcoin etc. He has a helpful summary of his arguments (shorter than this post) — The Case Against Crypto. Miguel de Icaza is best known for a very impressive list of contributions to the Free Software/Open Source world. He is also a firm crypto-skeptic. Jamie Zawinski or jwz is an internet legend, best known for his contributions to Netscape Navigator and for being one of the founders of Mozilla. He does not have a very high opinion of crypto-assets or their promoters (language warning). The Register is a venerable, no-nonsense UK news site for techies, by techies (as opposed to the large number of sites that are for techno-enthusiasts who don’t really understand the tech, written by columnists who also don’t really understand the tech). It has a great piece on how blockchain has failed and needs to be retired.
I selected the above from a much larger list because:
They are all actual technologists who write software and understand software systems. They had established reputations as such before this whole crypto stuff started, from a wide range of backgrounds, and I knew them as first as software people, not as crypto-skeptics. This is important to me as I try to avoid the “echo chamber” effect in the people I listen to.
Since debate on this subject took off, the majority of my Twitter feed, which has a lot of established software developers in it, has come down pretty firmly on the crypto-skeptic side. In fact, mocking Bitcoin/Ethereum/NFTs/web3 and their fans has become a bit of a pastime. I’ve been trying really hard not to mock or insult people, but when it comes to the technology, sometimes it’s the only way to stay sane… Here’s a bunch more very well qualified techies who’ve been outspoken against crypto-assets:
David S H Rosenthal, a very distinguished computer scientist who has worked on major projects at big tech companies like Sun, Nvidia, Oracle, and has co-authored award winning papers on distributed consensus mechanisms. You literally couldn’t ask for a more qualified expert. See his recent EE380 talk and other posts on his blog. Molly White, experienced software developer and Wikipedia editor — see her blockchain collection and sarcastic news site, “Web3 Is Going Just Great”.
Nicholas Weaver, PhD in Computer Science and lecturer at Berkeley. He is an expert in this field, having followed it academically since 2013 — see his tweets, his lecture Cryptocurrencies and Blockchains — Burn it with fire!, and his lecture Computer Security 161 Cryptocurrency Lecture where he concludes:
There is no value in this space. None. Zero. Zilch. Zippo.
Grady Booch, internationally recognised software engineer — see his tweets. Jeff Atwood, another very famous and influential software developer — see his tweets. Tantek Çelik, web developer, who is famous to me for the workarounds he developed when we were all languishing under the misery of Internet Explorer 5 and 6 — see his tweets. Hillel Wayne is a software consultant, and the author of an excellent blog and several books, with a focus on a branch of computer science known as Formal methods. James Mickens, computer scientist and professor at Harvard - see his lecture Blockchains Are a Bad Idea.
There are many others, and many more critiques you can read. About me Finally, I’m going to add myself to this list: I’m a software professional who started programming as a child. I taught myself BASIC and machine code in my early teens, before I even knew the internet existed. Since then I’ve accumulated more than 20 years professional software development experience, in a large range of programming languages and business sectors. I’ve also had pretty deep involvement with the Open Source world, most notably Django, which is probably the most popular web framework for Python, used in a large number of websites today. When I was more active on that project, I made large contributions to its security, which requires a very good understanding of how the web works, along with some of the fundamentals of cryptography. I now bill myself primarily as a full-stack web developer — that means I make web sites from start to finish, and I take pride in providing efficient, well-engineered solutions to real needs. I mention all of this to establish:
I know how the web and the internet work, with a reasonable understanding of cryptography, and I’m perfectly capable of understanding Bitcoin at the technical level. I am not a technophobe, or anything like it. As a web developer, I’m constantly having to assess and learn new technologies. I’ve been around long enough to know that many things go round in circles, not every new thing lasts, and sometimes we go backwards. There are plenty of new technologies that turn out to be duds.
I can’t claim technologists are 100% anti-crypto of course — this is a very divisive topic in the tech world. But the narrative that says all or most technologically literate people see this as a great revolution is completely false. But if you’ve read this far, you might want an actual analysis rather than the shortcut. Here goes… Evaluating technology How do you evaluate a piece of technology? In the many Open Source projects and closed source private projects I’m involved in, when a change or addition is proposed, the questions you ask are:
What problem does this try to solve? Does it actually solve it? What costs does it bring with it?
So let’s look at those questions regarding Bitcoin, Ethereum etc. What problem does Bitcoin solve? We can’t do better than to refer to the original Bitcoin whitepaper, which describes a “A Peer-to-Peer Electronic Cash System”. The fundamental problem Bitcoin claims to solve is the ability to have “peer-to-peer” electronic money transfers that do not go through a financial institution, in a similar way to how cash works peer-to-peer, without needing a trusted 3rd party to be involved. In the whitepaper, the primary motivations for this are:
to avoid the need to trust intermediaries, to reduce transaction costs by reducing costs associated with mediation (banks have to be ready to sort out cases of fraud), to deal with fraud caused by reversible transactions.
So, in evaluating Bitcoin, we should primarily be comparing it to other payment systems — physical cash and electronic payments — and banking systems. Cash is a convenient form of payment that takes seconds to complete, is highly reliable, and has a very high degree of privacy. It suffers from the inconvenience and insecurity of having to carry cash around with you, and so is increasingly being replaced by electronic transfers. These work extremely well:
In a shop, I can pay for goods electronically with a PIN or just a swipe, taking a few seconds to complete a transaction, using a bank debit card or a credit card.
Between friends, I can do instant (or almost instant), free bank transfers 24/7 for small to fairly large amounts, and with other slower systems for very large amounts. When I lived in Turkey, I had the same — though inter-bank transfers cost a few pennies — and as far as I can tell most countries have something similar right now. In countries that are lagging in this regard (hello USA!), there are other solutions like Venmo that apparently work pretty well.
This convenience brings some security issues, but modern banking has tons of great features for handling fraudulent activity — for example:
Got a call this morning about unusual credit card charges. Within ten minutes had the card cancelled, all the ongoing fraudulent charges blocked, all the older fraudulent charges disputed, and a new card in the mail.
There is some significant room for improvement:
You need a bank account to do these electronic transfers. Banks are capable of blocking financial activity, which can be bad if it is legitimate and you are being persecuted in some way. There is the risk of banks going bust. Banks, or other 3rd parties that we route payment through, have a pretty clear idea of how we are spending money.
Banks are not perfect, but they are fairly well regulated, and of all the financial worries I have, banks stealing or losing my money is the least of them. Even if they go bust I have a government protection guarantee of £85,000 in the UK. In evaluating crypto-assets, we need to see how much they can actually improve things, if at all. How the blockchain solution works The innovation that permissionless blockchains 2 have brought is an ingenious consensus algorithm based on “proof of work”. Let’s unpack that briefly (or, just skip this bit, I won’t tell anyone). Consensus protocols are mechanisms for allowing a group of cooperating computers (usually called nodes) to act as a single database and store data safely and consistently even if:
there is no fixed leader among the nodes any of the nodes may become faulty or unavailable at any time.
Designing protocols to do this is really challenging, but there are good options today, all with some limitations. Bitcoin goes one step further, allowing consensus to be achieved under even more challenging circumstances, including when there are any number of unknown nodes who may join in, and they may all be actively trying to cheat each other. Proof of work was a pre-existing concept. It is based on the fact that some computations require a lot of work to do, but are easy to verify once done. The output of such computations can be used as proof that you’ve spent computational resources (i.e. electricity), and therefore the money it requires. Bitcoin uses “proof of work” in a novel way as a consensus protocol by making cheating too expensive. It essentially requires computers to make many, many guesses for the next “right” number that would allow a proposed new transaction to be added to the end of a list. The result is that a distributed set of nodes who don’t trust each other can achieve agreement on a growing chain of records, called blocks, that list transactions, i.e. transfers of Bitcoin. The protocol does this without requiring a central trusted authority (like a government), or a trusted intermediary (like a bank), and without allowing bad actors to transfer the same money to more than one person (a problem known as “double spending”). The electricity required for this deliberately inefficient process has to be paid for, of course, so why would anyone join in? Bitcoin solves this as follows:
the protocol rewards any participant that correctly adds a block to the chain with some newly created Bitcoin. in the real world, we need a sufficient number of people to believe this Bitcoin is worth something, rather than merely being a made up token on a computer. Otherwise “miners” have spent a lot of electricity for nothing. Does this solution actually work? Most people agree that the fundamental mechanics of blockchains as a consensus protocol, as described in the Bitcoin whitepaper, do actually work. However, the solution has immense weaknesses and costs. Problems and costs Peer-to-peer? While technically the shape of Bitcoin network can be described as “peer-to-peer” in terms of the participating computers, from the perspective of users making payments it is not. Normally, peer-to-peer internet protocols only require the involvement of the two peers to succeed 3. In the real world, cash is a genuine peer-to-peer protocol — no-one else needs to be involved at all for a cash transaction to work. Bitcoin is very different. If I have some Bitcoin, and want to transfer it to you, and we are both sitting in the same room and have all the computer and network hardware we like, it is still impossible for me to transfer ownership to you without an internet connection. We have to connect to the Bitcoin network, add our transaction to the public, shared list of all transactions, and wait for confirmation. So, from the perspective of a user wanting to make a payment, it’s better to think of Bitcoin as a large, distributed but centralised system rather than a decentralised one. This is in contrast to electronic transfers in traditional banking. If you and I have the same bank, we only need to talk to our bank in order to transfer money between us, and no outside network needs to be involved. If we have different banks, they need to be able to talk to each other, but that is all. There is no shared ledger of transactions that needs to be communicated between banks and kept consistent, and this is a crucial advantage. This makes Bitcoin, at its theoretical best, more centralised and less peer-to-peer than traditional banking (at least in theory 4). Security There are significant ways cryptocoins could fail in disastrous ways. The first of these is “network partition” events. The question is this: what happens when part of the network becomes cut off from the rest? For example, one country might become disconnected, or the whole of the Americas might become disconnected from Europe, Asia and Africa. With the modern internet, it’s most likely that this would be the result of some kind of cyber-attack, but it could also happen accidentally. Now, some might suggest that such a partition is far-fetched. But:
An attack that partitioned the Bitcoin network, without having to partition the entire internet, would be surprisingly easy to pull off. If you are designing a new global banking system, or even just a national currency, this is exactly the kind of situation you need to consider.
What happens if there is a major natural disaster, like a massive earthquake, or a war, or a cyber-war? (I wrote these words weeks before Russia’s invasion of Ukraine, but even before that reminder of the fragility of peace, you would have to be extremely foolish to ignore the possibility of war). The internet itself was designed to cope with exactly this kind of problem. Bitcoin, however, cannot cope with major network partitions. In summary, this is what would happen: Both sides of the Bitcoin network would carry on working (although if there was an unequal divide, one side might be slowed so much that it became unusable). Let’s imagine this carried on for a few days or weeks before connections were properly restored. At this point we would have two divergent “branches” of the blockchain, which is not allowed. By design, there is no way to merge the branches, and Bitcoin will simply pick whichever of the two branches happens to be the longest. For the unlucky half, all transactions that happened during those days or weeks of network partition would be erased. In other words, utter mayhem. Could we develop a satisfactory fix to this problem? No — this is an instance of the very well studied CAP theorem. The alternatives to just having weeks of data erased are also quite fun (in the sense of, “isn’t it fun to imagine how the world is going to end?”):
You try to avoid the situation by simply halting all trade and financial transactions until sufficient connectivity is restored (or this could be enforced by the protocol itself). Instead of joining the two networks back together, you irreconcilably split the cryptocoin into two different coins.
Traditional banking doesn’t suffer from this problem. We’d certainly have problems if the internet suffered large partitions, especially because of increasing centralisation and reliance on a few big providers. But we could work around them, because the fundamental protocols of both the internet and banking are much better decentralised and much more robust. A bank transfer doesn’t need the majority of the internet to be connected — you just need the two banks to be able to talk to each other. You wouldn’t need anything to be erased when connections are restored. No doubt there would disputes in some cases, but, critically, disputing individual transactions doesn’t require invalidating the entire chain of everyone else’s transactions. There are other serious ways that cryptocoins can or have failed:
Centralisation that puts the network under the control of an insufficient number of independent entities to ensure trustworthiness. The idea of decentralisation is that there are a large number of independent entities that collectively run the network, making it very difficult to corrupt. While in theory the “mining” process that validates transactions is decentralised, there is actually an extremely high degree of centralisation in many popular crypto-assets. As David Rosenthal writes:
Centralized systems have a single locus of control. Subvert it, and the system is at your mercy. It only took six years for Bitcoin to fail Nakamto's goal of decentralization, with one mining pool controlling more than half the mining power. In the seven years since no more than five pools have always controlled a majority of the mining power.
In other words, Bitcoin has already failed in this regard, and as Rosenthal explains, this is due to a fundamental flaw in the protocol: “proof of work” provides financial motivation for centralisation, because it makes more sense for miners to club together and pool resources to improve their lottery chances. David Gerard explains the same thing — decentralisation of Bitcoin is a myth. A high degree of centralisation can lead to problems such as “51% attacks”, which allow the same cryptocoins to be spent more than once. These have already happened multiple times to other crypto-assets, but not to Bitcoin’s blockchain at the time of writing.
“Hard forks” — another way of splitting a cryptocoin in two. Because there is no-one in charge, there is nothing to stop a group of participants deciding to erase a whole section of the blockchain and declaring their new chain to be the “true” one. In general it’s not easy to do, but it happened to Ethereum in 2016, and the fork “won”, because it was backed by influential people (the founders of Ethereum) who considered that they had been “cheated” — even though the cheater was technically the one playing by the rules.
Interlude 1: Assessment so far
The issues highlighted above are, by themselves, enough to ensure that Bitcoin and all similar cryptocoins are not even close to being viable currencies for any sensible nation state, and never will be. They are entirely unfit for purpose due to needing a global, well-connected internet in order to do local transactions securely. It has also been demonstrated both in theory and in practice that they cannot give us even the advantages they promise, like decentralisation.
Could they perhaps serve as some kind of potential “auxiliary” money system? Well, it kind of defeats the point of having a currency to have more than one, and there are a bunch more costs and disadvantages…
Ledger technology The Bitcoin blockchain is essentially a public ledger of transactions. As such we can compare it to other systems that maintain ledgers of transactions. As well as security, mentioned above, another axis of comparison is efficiency. The “proof of work” method for consensus makes Bitcoin astonishingly inefficient. In addition, the self-adjusting nature of the protocol and economic factors mean that the higher the dollar value of Bitcoin, the more electricity it will use. The result is that at the time of writing, a single Bitcoin transaction requires approximately 1 million times more electricity than a Visa transaction, or at least several hundred thousand times. (Source 1, source 2). Source - digiconomist Let’s pause to think what a ridiculous factor that is. Imagine a new vehicle, being seriously proposed, that used 1 million times more fuel than a typical car: a full tank of fuel would move it a majestic 50 cm from its parking spot. In response, Bitcoin proponents would prefer to compare total Bitcoin energy consumption, which now probably equals that of the whole of Finland, with the entire traditional banking system. That’s ridiculous however — the global banking system actually provides global banking services — including physical cash, instant electronic payments of many kinds, loans etc. to a high proportion of the world’s population. Bitcoin, on the other hand, provides banking services to virtually no-one (relatively speaking), and, in addition, still relies on the global banking services because you can’t actually use Bitcoin to pay for anything. If you care about climate change or looking after the planet, which I believe you should, then this should weigh as a very important consideration. Or even if you don’t, you should still care about waste, and the resources that will necessarily be diverted away from useful things. One of the original claimed motivations for Bitcoin was “reducing transaction costs”, which is looking quite ridiculous. Even if, for some crypto-assets, transaction fees paid by the end user are low or zero, the negative externalities here are absurdly high. Money technology New currency required For this system to work, the protocol has to be able to reward “miners”, and without relying on any other financial institution. This means that it has to create a new currency — Bitcoin or Dogecoin or one of many others. Every different blockchain requires its own currency. This is a pretty awful disadvantage, because the whole point of a currency is that you only want one. And this problem leads to a bunch more. Money creation mechanism In times of the gold standard, to have more money in the economy you had to physically dig gold ore out of the ground and refine it etc. This is horribly expensive, and limits the supply of money in the economy, contributing to economic depression. Due to economic needs, we moved away from that to fiat currencies, where banks are able to create money on demand, just by opening a loan account and putting some entries in a database — a process which is almost free (apart from the time and expertise of the person who approves the loan, which is one of the services that justifies banking as an industry). Blockchain, however, would be a massive downgrade to this — you have to use huge amounts of energy to “mine” a Bitcoin, like with gold. Except it is much worse than before: gold at least has a number of important applications, like jewellery and electronics, due to its remarkable physical and chemical properties, but Bitcoin calculations have no other value. Fixed money supply Bitcoin is designed such that eventually no more coins will be produced. This was a deliberate choice by the inventors because they don’t understand money, and it is a fatal flaw. As Frances Coppola writes:
As it stands, Bitcoin is unsuitable as a main medium of exchange. It simply does not have the capacity or the structural features required to support significant economic activity.
Payment technology The global Bitcoin network, despite its astonishing electricity usage, is capable of doing at most 7 transactions per second. It’s difficult to convey just how laughably small that figure is given the size of the network and the energy it uses. At this pathetic rate, given 7 billion people on the planet, your personal equal share amounts to 2 (two) Bitcoin transactions in your entire life. What’s worse is that adding computers doesn’t make it go faster, it just adds more electricity consumption. The blockchain has “anti-scaling” features that contradict the normal scaling properties you might have come to expect or assume. As a contrast, the much smaller Visa networks handle on average 1,700 transactions per second, with a claimed capacity of 24,000/s. If you use Bitcoin to pay for something, you then have to wait for confirmation. This will take about 10 minutes, but it could be far more. This is pretty terrible in comparison to the 2 second swipe you need at a supermarket checkout. We then have to point out that most places simply do not accept Bitcoin, which is because the exchange rate to fiat currencies is far too volatile — Bitcoin is a terrible “store of value”, which is one of the most important features of money. Ethereum, in addition to ridiculous power usage, also has crazy high transaction fees due to the inefficiency built into the network. (Bitcoin also used to be very bad, but has improved). For Ethereum, the so called “gas” fees for a single transaction are hovering around 30 USD at the time of writing, but they can swing to thousands of dollars (!). At this point, we have to abandon the idea that Bitcoin and Ethereum really qualify as payment technologies at all, apart from some niche cases that we’ll cover later. Privacy and anonymity A genuinely peer-to-peer payment system could, at least in theory, have a great story in terms of privacy, like physical cash. In place of that, and in place of the (limited) privacy your bank account can provide you, Bitcoin has a public, shared database of all transactions, which is obviously a massive downgrade. Now, blockchains are in theory anonymous, in that human names don’t appear in them. Instead, you are represented by your public keys. However, if anyone ever learns who owns a key, your anonymity disappears, and it is highly likely that, over time, connections between keys and people will emerge. If you are willing to put extra work in and bounce money around, you may be able to achieve a reasonable level of anonymity using Bitcoin, but for most people with “nothing to hide”, there will be no motivation to do that. For these reasons it is now widely accepted that Bitcoin offers very poor privacy (although some other cryptocoins are much better). Irreversibility It is one of the main features of Bitcoin that, in contrast to traditional banking, transactions are irreversible — coins can only be moved with the permission of the owner. According to the whitepaper, this is one of the primary motivations for Bitcoin, due to its ability to stop buyers committing fraud — such as when a buyer pays and receives goods, but then is able to do a chargeback on their credit card, fraudulently claiming they didn’t get the goods. Attempts by Bitcoin to prevent this seem to miss the point: this reversibility is a deliberate feature, and one that comes from laws, not an accidental bug that needs to be fixed by technical means. In the Bitcoin system, the advantage that irreversibility provides is at least equalled by the downside of making it much harder, or impossible, to counter fraud by sellers, and other people like hackers. Let’s consider the cases: I order some goods on internet. If I pay upfront, there is every possibility that the seller will take my irreversible payment and never send me the goods. So I refuse to do that, and instead we do payment at the door — the delivery driver doesn’t finally hand over the goods until I confirm the payment. This is already pretty inefficient, especially if they have to wait 10+ minutes for confirmation on the network. However, when I get inside, I discover that the box is empty, or missing something vital. Maybe I discover it a week later, but there is now nothing I can do. The balance has been tipped, but much too far — consumer protections are out of the window. What we want is for reversibility to be technically possible, but controlled by appropriate laws that can be reviewed and changed as needed. Irreversibility is by far the most impressive feature of blockchain, but it is a feature you absolutely don’t want. In reality, however, local laws would probably still apply, so you would still have legal methods to pursue a refund, as long as you lived in the same country. They would just be more inefficient. All this shows a more general point: if you can work “outside” the virtual system (by virtue of human beings having physical bodies that have to live in a geographical place with laws), then the guarantees you can make within the system quickly become pointless. Also, irreversibility is basically incompatible with the way that the rest of banking works, giving further opportunities for fraud when people forget this — including clever people like Apple co-founder Steve Wozniac. Banking technology Let’s explore the options: Be your own bank The major innovation that Bitcoin claims is that it does away with the need for banks. Instead, you can be your own bank. This is possible because of the way that Bitcoin works effectively as something close to, but not quite, “digital cash”. We have to explain that for a second, because a wrong mental model will lead to many wrong conclusions — and could leave you wide open to losing all your digital coins if you have any. Bitcoin builds on public key cryptography, which is an extremely useful technology based on mathematically connected pairs of large numbers. One number in each pair is called a “public key”, the other the “private key”. The public key, as the name suggests, can safely be shared with everyone. It can then be used by other people to test the authenticity of messages generated with the corresponding private key, which must always be kept secret by the owner. The public key can also be used for sending encrypted messages that only the private key owner can read. In Bitcoin, public keys function as “addresses” to which you can send money — like a bank account number. The Bitcoin protocol uses cryptographic signatures to ensure that only the owner of an address can transfer money away from that address. In this system, knowing the private keys is of critical importance:
with those keys, you can move your cryptocoins around and spend them. without those keys, you cannot do anything.
So you need to store them safely! And this leads to the concept of a “digital wallet”. Technically it is the blockchain that stores the record of how much Bitcoin you have, and your wallet stores just the keys. But those keys are everything, so the metaphor of a “wallet” containing “digital cash” is a helpful one. Your “digital wallet” could be:
on your computer or smart phone, in a specialised hardware device, called a hardware digital wallet. These are popular especially because of the threat of your computer being hacked, and your software wallet compromised.
So, if you lose your digital wallet, your money is gone forever. If your wallet is stolen, your money is gone. If your hardware breaks — like from water damage — your money is gone. If the computer storing your software wallet is hacked, your money is gone. Due to its “cash-like” nature, cryptocoin transfers are also irreversible. There is no bank who can step in and grant you a refund. The metaphor of a wallet breaks down a bit, because, unlike cash, it is, or can be, very easy to copy a wallet. While hardware digital wallets are often designed to make it hard to export keys or make copies, software wallets will allow you to make backups, which is good for recovery — but also opens up more opportunities for theft. For example, you might be vulnerable to theft by an app on your computer. And if someone has an unencrypted copy of your keys, they can use the contents without your permission, or even knowledge — until you check and find that your wallet is empty. This makes it work very differently from a physical cash wallet. Most if not all digital wallets will use strong password-protected encryption to stop other people getting access. This is a mixed blessing: unlike the password to your online banking, the passwords here are not mere access passwords that can easily be reset. Rather, they are encryption keys, which means they are used to scramble your data while it isn’t in use. If you forget the password, the data remains scrambled forever. It is mathematically impossible to reverse the scrambling without your password, meaning your money is gone. Encryption also doesn’t really protect you from many theft scenarios. If someone steals your hardware digital wallet, they may not be able to access the contents, but that is small comfort because you can’t either. And if they ask for the passphrase while pointing a gun at your head, or your child’s, are you going to refuse? I’m labouring all this to point out that when you are your own bank, you become responsible for looking after all your money, and you have to know all this stuff. It’s like storing your life savings in cash under your bed, but in some ways worse — a digital wallet is more portable for a thief, can be easier to access remotely depending on how it is stored, and is also much easier to accidentally destroy or lose. I agree with Hobbes on this one. Oh, and by the way — unlike with physical cash in a suitcase, being your own crypto bank will not protect you from a “run on the bank”. The equivalent in the crypto world, in which lots of people rush to convert their virtual money (Bitcoin/Ether/Tether etc) into real money (dollars etc) would cause a massive crash in the price. There is nothing like sufficient liquidity in the system, so the vast majority of people would lose almost everything. You’d still have your Bitcoins, of course, but they would be worthless. Use an exchange So you’ve decided, wisely, that securing your home and your computers, both physically and digitally, to the point where they could function as a bank is a terrible idea. Now, logically, you should have rejected cryptocoins completely, since they only exist to allow you to do just that. But let’s say that instead, inexplicably, you still want to use them, so you decide to use an exchange. You hand over your private keys (or your coins) to a company, they look after them and use them for you, on your behalf. This means:
you have to trust this organisation not to run off with or lose your coins. as an intermediary they can track you. and they can also block you from using your money.
In other words, back to where we were with banks. Except it’s worse. Much, much worse. The first problem is that the companies operating in this arena are perfectly aware that cryptocoins are simply a “greater fool” scam, with the fools being their customers. It can be no surprise then, that the biggest names, like Binance and Tether, are regularly embroiled in scandal after scandal, with pump and dump schemes everywhere. In fact it is all a giant scam, and sometimes they even openly admit this. Further, cryptocoin exchanges are hacked with astonishing frequency and for astonishing amounts of money, with, to date, $2.66 billion stolen since 2012. It seems almost every day there is news revealing incredible incompetence. Crypto.com, whose “fortune favours the brave” advert likened using their gambling services to being an intrepid explorer, had $30+ million stolen just the other week as I write this. I’ll grant them that you would indeed have to be very “brave” to become one of their customers. You should also know that, compared to banks, you probably have far less legal claim on your money in the case of an exchange going bankrupt. It doesn’t matter that you technically “own” the crypto you’ve given them, you’ll be last in the queue for getting anything back. The problems, however, are not just dishonest or incompetent people running the exchanges, or the fact that you don’t have deposit insurance or legal rights. The cash-like nature of cryptocoins, in particular the irreversibility and relative pseudonymity of transactions, make crypto exchanges a massively more tempting target for criminals, and this is only likely to continue and get worse. We can contrast this to money in a bank account. You bank doesn’t “store” your money. It has some cash reserves, but none with your name on it. Money is just a record of debt: your current account balance is just the amount of money the bank owes you, which happens to be recorded in a database. If someone deletes the database, your money does not get deleted, because the legal debt remains. There is no equivalent to the “private keys” in cryptocoins that give hackers control over money. If someone succeeded in hacking into a bank and completing a bank transfer of a large amount of money, it would have a very clear destination — another bank and account — which usually makes it pretty easy to trace, reverse and prosecute. Of course there is still the possibility of hacks on banks being profitable for criminals, but the practical difficulties are much greater than with cryptocoins. And we haven’t even covered the many more everyday kind of scams played on individual crypto owners. Similar scams exist with normal money, but with cryptocoins they are made all the more likely by the obscurity of the technology, and much harder to recover from due to irreversibility. So who is this good for? There are in fact some people who, despite the terrible disadvantages, use cryptocoins as a form of payment or money transfer technology, its original intended use case. This happens:
when they have no other option, or, when profit margins are very high, so high volatility is of less importance, and irreversibility and (potential) anonymity are of critical importance.
Who does that apply to? Criminals. Cryptocoins are a boon for criminals, especially those operating internationally. It makes a perfect payment mechanism for ransomware, which has seen a dramatic rise in recent years and is also excellent for money laundering. High volatility of the price is a small concern when you are stealing, and the extra steps you need to achieve privacy are no problem for the more competent criminals, who are making the most of “privacy” services like Tornado Cash. There will probably be some other legitimate, non-criminal users. But it is always true that deregulation sometimes helps some people. For example, if we completely deregulated the sale of medicines, it would make it easier and cheaper for genuine medicines to reach the people who need them. There would be cases where this might even save lives. But it would also be easier for all the fake and dangerous medicines too, which are of course cheaper to produce, so pretty soon legitimate companies will suffer massively, as well as the general public — which is why we have regulation. So of course you can find isolated instances where cryptocoins have enabled someone to work around an oppressive regime and get some money they desperately needed. But, given the kind of terrible disadvantages in comparison to normal money, it is inevitable that criminal activity will get by far the biggest boost, which is bad for everyone. Are there other uses? Whether you look them from the angle of “money”, “payments” or “banking”, cryptocoins have achieved an impressive level of failure. Anyone who is honest has given up on the idea of cryptocoins as money. Instead, apart from use by criminals, it is in demand only because of a financial speculative bubble based on a negative-sum “greater fool” scheme, which is both immoral and destructive. However, at this point, crypto-proponents will claim permissionless blockchains are useful because of “revolutionary” things that can be built on top of them. Let’s have a look. If we must… Blockchains for databases One way to look at blockchains is as immutable, distributed tamper-evident databases. Breaking that down:
immutable means that you cannot change any data on them — you can only add more records (“append only”). This is nothing new. distributed means there isn’t just a single copy of the data — there are many redundant copies. This is also nothing new. tamper-evident means you can tell if someone has tried to change data later. There are other tamper-evident databases, but blockchains are bringing something new here in terms of operating in an environment where we don’t trust anyone.
Described like this, it does sound like something that could have some interesting real world applications. Unfortunately, in the 12 years since it has been invented, virtually no real use cases have turned up, and certainly nothing that would come close to justifying the astonishing inefficiency of the technology. It is the amazing solution for almost nothing. The first huge problem is this: You may be able to store information in a tamper-evident way, but how are you going to ensure the information is actually true? This is a fatal flaw in almost all attempts to use blockchains for anything. As Calvin put it, “reality continues to ruin my life”. For example, “Verisart” is a blockchain company who will record authorship of artwork on the blockchain. It wasn’t long before a prankster called Terence Eden got himself recorded, immutably and eternally, as the painter of the Mona Lisa. 5 The next issue is that if there is a person we can trust to not lie about the data in the first place, there are massively more efficient systems for recording that information. We can just use a database, and keep redundant copies with some auditing functionality. In many cases we could additionally use well-established, efficient cryptographic techniques like public key certificates — the same system your web browser uses to check the authenticity of websites. The reality is that the only kind of truth-claims that blockchains are suitable for managing are about the cryptocoin associated with the blockchain — Bitcoin for the Bitcoin blockchain, Ether for the Ethereum blockchain etc. — and that is only because those blockchains are by definition the source of truth for that cryptocoin. Note also that you can’t just remove the cryptocoin and keep the blockchain technology — a permissionless blockchain requires a speculative cryptocoin to power it, otherwise no-one will ever pay for it, as David Rosenthal explains:
<
blockquote> Because miners' opex and capex costs cannot be paid in the blockchain's cryptocurrency, exchanges are required to enable the rewards for mining to be converted into fiat currency to pay these costs. Someo