The Road to a Cup of Coffee
“I like things like onions, peppers, sausage, mushrooms, tomatoes, pepperoni, etc. just standard stuff no weird fish topping or anything like that.”
That was Laszlo Hanyecz in 2010 swapping 10,000 Bitcoin for two large Papa Johns’. Over the rest of that summer he spent a total of around $2 billion (at current prices) worth of crypto on pizza.
Today, one of the common detractions of crypto lies in its unsuitableness to purchase a slice of pizza. Or — as it has idiomatically come to be known — a cup of coffee. The underlying argument rests on (i) crypto as a store of value and (ii) as a medium of exchange.
Its a reductionist view, which usually begins by conflating crypto with a Mastercard or Visa alternative — and then cites “transactions per second” (TPS) as some sort of mic-drop metric.
“Crypto” as if it were a singular thing (Bitcoin presumably) — disregarding an entire blockchain ecosystem serving a multitude of functions. Building to change every facet of how value is currently exchanged through legacy systems.
But let’s try and address the question at a fundamental level. Firstly, lets differentiate a generalized interpretation of crypto from Visa and Mastercard, which are payment networks — a processing stack that sits on top of the base infrastructure of central banks and legal systems — which determine and govern property rights.
These foundational institutions are technically more like what crypto “competes” with. As an asset class one might consider them hybrid currency-commodities. In the context of the role they play — Bitcoin is a monetary anchor akin to gold standard era bullion. Ethereum is more a unit of extractable fuel. The value argument is a lengthy slog which shall be addressed in a later article.
In this post we will focus on whether blockchain technology is viable enough, and whether it will be prevalent enough to buy that cup of coffee. In this context, the problem has a name:
The Blockchain Trilemma
In order to achieve Starbucks status, a blockchain has to operate at scale and be secure — i.e. like a conventional payment network. But, in line with its ethos, must also be decentralized, which becomes a constraint in this context.
The interpretation of these three components and how they are achieved is also somewhat unique to blockchain:
- Decentralization: The degree to which the running of the network is distributed equally across the nodes and to a large enough number of nodes. Applies to both governance and operation.
- Security: Decentralization removes a single point of failure so there is an inherent level of security. The common concerns revolve around any one or few actors gaining control of the network. They take the form of 51% attacks (taking over majority hashing power) or Sybil attacks (flooding the network with false nodes). The security of a blockchain is measured by the extent to which this is unachievable (the resources required to gain control).
- Scalability: Throughput is just capacity, not an end-to-end measure of transaction time. Confirmation time — or the journey from request to finality, is subject to protocol design. A blockchain may have the capacity to process up to 65,000 TPS, but could take an hour to finalize your payment at the coffee shop. Finality may require multiple confirmations / verification layers. That said, a higher TPS inherently means greater scalability.
The trilemma posits that optimizing for two will result in shorting the other. So lets say you wanted to improve transaction speed. In an oversimplified example you could either:
- Increase the block size (the number of transactions recorded on the blockchain with each operation) or;
- Reduce the block time (the number or complexity of operations required to record a block).
We know that blockchains are run by a decentralized network of operators who must achieve consensus on the validity of a transaction before its processed. The consensus mechanism varies from protocol to protocol but always features some version of the operators (nodes) having skin in the game to disincentivize fraudulent behavior.
Generally, if it’s easier to register a block — i.e. if verification isn’t resource-intensive or multi-layered, its easier to achieve a high TPS. But inherently this compromises security and is magnified if the transaction itself is large or complex, i.e. a liquidity pool smart contract vs your buddy sending you a few bitcoin.
Lets take the design of a generic blockchain as an example:
On the Bitcoin blockchain, there are currently around 10,000 nodes which much reach consensus on each block (not one but a basket of transactions) which is about 1MB in size (amounting to about 4,000 transactions). It takes about 14 seconds for a block to be propagated to the entire network.
A new block cannot be generated until an existing block is received by all nodes on the network. At least not without creating serious security issues. The 14 second propagation time is a design constraint of decentralization that impacts scalability.
Now lets say we instead increased the block size to accommodate more transactions in a single operation. The resources required of every node operating the network would go up in a myriad of ways. Computing power, bandwidth, storage — translating to specialized and expensive equipment. Only those with substantial means could afford to run nodes causing the blockchain would lose some of its egalitarian shine.
The computational power thrown into mining Bitcoin has increased vastly over the years. But, the block time of 10 minutes has been kept at a constant by increasing the level of difficulty of the cryptographic equation to be solved to register a block. This in part has led to criticisms of Bitcoin becoming less decentralized over time (and criticisms of the PoW consensus mechanism itself). During the first five years of bitcoin, the difficulty level increased from 1 to 50 billion.
Even if you switch consensus mechanisms, the equation is the same. PoW would require more computing power and PoS more spending power. On Solana for example, it is estimated to cost about $6 million to run a profitable node.
Bitcoin supports a piddling 7 transactions per second (TPS) compared to the (reported) 5000 and 24000 TPS of Mastercard and Visa respectively. Google processes 140 million times the amount of data Bitcoin’s blockchain does, but uses 25% of the energy. All of this excess work and inefficiency is to support the decentralized nature of the beast.
Now — despite the protocol upgrades and supplementary layers (Segwit and the Lightning Network) — the likelihood is that Bitcoin will never be something you use to buy coffee. And that’s fine. Bitcoin doesn’t need to be fast. Some cryptos may not even need to be decentralized (perhaps as a ramping solution to public blockchains). It is a multi-purpose ecosystem.
Not to say the Trilemma doesn’t need solving. Since Satoshi’s whitepaper was first disseminated, the juggernaut of brains and resources pushing the industry has largely focused on exactly this.
Firstly, there is the continually evolving array of consensus mechanisms. The prevalent ones still being Proof of Work (PoW) like Bitcoin and Proof of Stake (PoS) like Ethereum. The best resource I’ve come across comparing the two is Kraken’s report released prior to the Ethereum merge and required reading for anyone wanting to understand crypto.
Here are a few others:
It should be noted that the very fundamental components of all public blockchains (hence all consensus mechanisms) are bottlenecks for speed. Take the very basic form of cryptography — Secret Key Encryption (SKC) — used in WW2 (think of a message full of garbled letters where only the sender and receiver know the “key” — a decryption formula like A=Z and B=D etc.).
The version of this useful for blockchains — Public Key Encryption (PKC) — adds a dual key system where a second pubic key functions as sort of a bank account number. SKC is 1,000 times faster to decrypt than PKC. PKC is however what enables secure transmission and data integrity.
This is a base (network) layer problem and there are fewer native solutions available. Barring perhaps one popular and effective method which is set to debut on the Ethereum protocol. Sharding is a form of database partitioning where transactions are broken into smaller datasets and processed simultaneously in parallel by nodes. By doing so, throughput (and hence TPS) is significantly improved.
When you move beyond the base layer however, a world of solutions open up:
One can think of blockchains as Legos. New projects (independent protocols) can sit on top of or run in parallel to existing ones for an array of functions. For example, a decentralized exchange or DeFi application would sit on top of a layer 1 network like Ethereum. Part of the reason why many a purported “Ethereum Killer” layer 1’s have failed to displace the network is because of its first mover advantage — which now has an entire sub-industry dedicated to making it more efficient.
Modular Blockchains
Sidechains — Protocols that move the execution of transactions off-chain (from a layer 1 network) and use their own consensus mechanism. The best example being Polygon — which runs in parallel to Ethereum validating ETH transactions. Polygon uses a PoS consensus mechanism where nodes stake its native token (Matic) to secure the network.
Rollups — Protocols that move computation (and state storage) off-chain but leave a certain amount of transaction data on-chain. Remember, under a PoS mechanism for example — validators lock up their crypto, so fraudulent actors run the risk of losing their stake. These incentives mechanisms allow certain functions to be outsourced securely. Rollups have two main categories: optimistic and zero-knowledge (ZK).
- Optimistic rollups, as the name suggests, take the default starting position that transactions are valid and only run computations as fraud proofs if challenged (accused of illegitimacy). Optimistic rollups are really only practical for smart contracts that can be deployed quickly (useful for DeFi) as transaction finality can take a week if challenged.
- ZK rollups on the other hand take the entire computation off-chain and submit a cryptographic proof to the parent blockchain for validation. Hundreds of transactions are bundled at once and processed on a ZK rollup protocol, which is an incredibly efficient solution to scalability.
Rollups are expected to be a cornerstone of Ethereum scaling in the medium-term, increasing Ethereum TPS from 20–30 to the tens of thousands. It is suggested that combining sharding with rollups has the potential to take it into the hundreds of thousands. There are now a myriad of credible rollup protocols accounting for billions in market cap and operational runway behind them.
This begs the question of what the blockchain (or even just Ethereum) ecosystem will look like in the future. Assuming there is no “winner-take-all” protocol with the best scaling solution. Technology by nature is ever-evolving. So what are the drawbacks of a fragmented industry?
The most obvious being the fact that liquidity would be stretched across too many protocols. This is especially important while the size of the crypto economy has a long way to catch up to established asset classes. There are solutions such as DeFi pooling which allows liquidity to interact across layers. Which brings up the larger question of composability.
Vertical interaction across layers is easier for connected blockchain legos. However, horizontal communication between say a Layer 2 and Layer 2 without going through the base Layer 1 is more difficult. This has a greater cost element in terms of both time and fees. Cross chain solutions have popped up however have been faced with security issues. In the absence of a standard framework, it remains a ways away.
Layer 1 Blockchains — Scalability Comparison
Scalability solutions derived from the wider ecosystem (as opposed to a single perfectly designed protocol) will likely continue as the de-facto method of tackling the blockchain trilemma. Especially as (fairly clunky) Ethereum continues to dominate. That’s not to say competing Layer 1’s aren’t continually pushing the envelope with novel consensus mechanisms and intrinsic design solutions.
In reality crypto‘s scaling problem has little to do with the shortcomings of the technology. The problem is one of cooperation. The industry needs the support of entities to which it represents an existential threat in the long run.
These centralized establishment institutions came about over the course of thousands of years, capitalizing on a game theory problem — trusting those we need to cooperate with. They were formed and formalized under a shared morality (legal framework) which was then enforced.
Now, all the legwork we’ve discussed in this article is largely to ensure the decentralization of blockchains. So why is it so important? That is a long discussion (which we will get to in another post), but to sum it up — a trustless system based on algorithmic guarantees is simply better than one where intermediaries must be trusted.
But blockchain should not entail a battle to the death with the establishment. Crypto very much needs the efforts being made by forward thinking banks, payment networks and retailers to support the young technology. It needs to integrate with the current infrastructure. No one technological era has outright replaced the previous one. And its nascence begets regulation because there are too many early inefficiencies that can be capitalized on by bad actors.
The trajectory is however very clear. To the extent that it’s befuddling that I even felt the need to write an article like this. More people seem to live under a rock than presumed, or just have too much to lose. Even if you take away the objective merits, this “valueless, corrupt, unnecessary ponzi” is so well timed, so aligned with the cultural progression of our species.
There are now over 100 million active users of crypto — predominantly young people. While most speculate, 40% of 18–35-year-olds use cryptocurrencies to pay for goods or services. This group is set to inherit over $60 trillion in the next decade. They are more anti-oversight; pro-privacy than their predecessors. Their economic lives were shaped under the pall of monetary mismanagement and collapse. They increasingly shun institutional conventions of higher education and white collar conformity.
Algorithms aren’t some abstract construct to them. They are the root of multiple forms of indispensable utility — as legitimate a medium of exchange as metal, paper, or sovereign guarantee (if not more). The transition is a matter of time, which may be uncertain — but in itself, is an absolute certainty. As for the base technology — there is an enormous coordinated effort underway to ensure crypto buys you that cup of coffee.