Solana and the quest for global state
This post originally appeared on the Unbounded Capital website, and we republished with permission from Jack Laskey.
Solana has become the hot name in crypto.
Up near 100x YTD all the way to #7 on CoinMarketCap at over a $45B market cap at the time of this writing (9/15/21), Solana is one of crypto’s biggest investing successes, and increasingly one of its most used blockchains.
On September 14th, 2021, the network came to a screeching halt for over 10 hours. After a reported surge in usage, the network nodes could not synchronize which triggered a series of issues requiring a coordinated upgrade and restart.
Solana markets itself as a massive improvement over Ethereum because of its higher throughput and lower fees—a pitch which is probably familiar to Unbounded Capital readers. In a world where there is a high incentive to inflate one’s own numbers, either outright or through fake usage (the blockchain transaction equivalent of wash trading), it is hard to be sure what Solana’s real usage has been. But, it is widely accepted that Solana has eclipsed all other blockchains in transaction volume at fees around 10,000 times lower than a typical Ethereum transaction.
On the surface, Solana appeared to be a true Ethereum killer—a network with rapid adoption, price appreciation, while being thousands of times more efficient and offering the same functionality. Now, that narrative has been thrown into question. For Unbounded Capital, there was never a question.
Solana is doomed in the same way Ethereum is doomed. Both networks have the same fundamental flaw—their goal.
To global state, or not to global state?
Although Solana has managed to outpace Ethereum in scalability, they are pursuing the same goal as Ethereum and almost all other blockchains, a goal which inherently hits a scale ceiling quickly. This goal is providing global state – an essential component of DeFi, the major source of usage on both Ethereum and Solana.
Computer scientists will nitpick my explanation of “global state” in this context, but in a blockchain context, what is typically meant by global state is the ability for transactions to access the information about any account or smart contract. This is critical for DeFi. DeFi is built on the idea that smart contracts can follow one another and execute automatically as things happen within the blockchain ecosystem. This transparency and interactivity is the selling point.
Bitcoin implementations like BSV are examples of blockchains which do not have this type of global state. Bitcoin shares the transparency of blockchains like Ethereum, but it does not have the same times of interactions. In Bitcoin, all transactions are independent from one another. There is no functionality like what is used in DeFi where different transactions can look inside of one another to trigger new actions. In this sense, Ethereum is like a global computer, where Bitcoin is really just a public ledger. Bitcoin can be used to compute things, but it is less “computery” in the modern sense than global state systems like Ethereum and Solana. Bitcoin transactions are like entries in a ledger – they are either true or false. Ethereum transactions are more like computer programs which access information from the rest of Ethereum to run.
The problem with global state
The problem with providing global state is that systems which do hit a scale ceiling quickly. Decentralization makes the problems more severe, but even a system operated by a central party like VISA runs into scale ceilings with the global state system (VISA uses a permissioned global state system unlike Ethereum and Solana which are permissionless).
I’ve written about why this is in a year-old article, “Only Cash Scales,” but I will give a shortened explanation here. In Bitcoin, processing a transaction is a two-step process. A new transaction spends an old transaction by unlocking the old transaction and then sending the Bitcoin tokens to new places specified within the new transaction. Step one is to make sure that the old transaction has not already been spent. This is computationally easy. Step two is to make sure the new transaction satisfies the requirements of the old transaction. This is sort of like making sure the key fits into a lock.
The important insight is that all of the information needed to unlock the old transaction is contained within the new transaction. All in all, this makes processing a Bitcoin transaction very computationally efficient.
The most important aspect of this transaction independence is that it allows for parallel processing – the ability to divide up a computational task among multiple computers—the same way companies like Amazon/AWS manage massive amounts of computational workload. The unbounded scalability of Bitcoin being best implemented by BSV comes from this ability for parallelization.
For blockchains offering global state, parallelization is not possible. The problem is the interdependence of transactions. All of the information needed to process a transaction is not within the transaction itself. One has to reference that transaction against the global state. If a smart contract wants to send ether from you to me, it needs to check that you have the ether. Depending on the ordering of transactions, the results could be totally different. This requirement ultimately demands serial processing of transactions—processing them one after another in the same order by every network operator. Optimizations can be made, but the same problem will always rear its ugly head.
This means that the difference between the scalability of a system like BSV vs a system like Solana will be at least a factor of however many computers can be coordinated to do a computational task. Thousands of computers are coordinated in this way every day, and as BSV presents additional financial incentive to improve at doing this, one would expect the margin to continue to widen.
What this means
There is nothing inherently wrong with offering a global state system. I would predict that this will continue to exist. However, the lack of scalability for systems like this will severely limit which use cases are appropriate for these blockchains. At Unbounded Capital, we predict that payments, consumer facing applications, games, enterprise applications, and more will ultimately make use of ultra-scalable, UTXO blockchains like BSV. Global state systems will be used for niche DeFi transactions which are willing to pay high fees to access this shared state capability.
For Solana, a difficult choice is likely presenting itself – abandon the low-fee marketing that got them to #7 on CoinMarketCap and see fees begin to rise quickly, or see continued network outages as demand exceeds supply. They still may be the Ethereum-killer, but in my opinion, that won’t be worth much.
Source: Read Full Article