Dear Bankless Nation,
Solana suffered yet another network outage on September 30th.
According to the official Solana report, the outage was caused by a validator’s misconfigured “malfunctioning hot-spare node”, bringing the network down for ~8 hours.
That makes the fifth outage for Solana in 2022 alone, and seven since Solana’s launch in 2020. Its longest outage lasted 17 hours at the height of the bull run in September 2021.
In a Real Vision interview, Solana co-founder Anatoly Yakovenko called the chain’s frequent network outages their “biggest challenge” due to NFT sniping bots and frequent attacks on the network but also a happy problem thanks to its high usage of about 30M daily transactions:
… some people have seen 10 million packets per second being submitted to a validator. And if there's a bug in any one of these validators where memory grows really, really quickly or something that we didn't do well for that load, that validator could shut down, could break, could run out of memory, for whatever reason. And if a third of them do that, then the network is basically stalled until some manual intervention brings it back up. That has happened a couple times… there's also been congestion events where there's enough spam, but it's not enough spam to knock it over, but it's preventing users from using it. That's been, I guess, our curse, but it's because the network is so cheap and fast that there's enough users and applications that that is driving that. And it's one of the really most frustrating problems.
Solana’s not the only chain to be recently halted, the other being Binance’s BNB Chain this past Thursday.
When hackers exploited a bug in the BSC Token Hub (a cross-chain bridge connecting the BNB Beacon Chain and BNB Chain) which allowed them to extract 2M BNB (~$570M), the entire chain was “paused” before the hacker could make off with his exploits. As a result, the hacker only managed to snag ~127M off chain.
Wait, how did Binance manage to unilaterally pause the chain? Aren’t blockchains supposed to be decentralized and out of control of any one given actor?
Simply put, Binance “asked” all its validators (real nicely) to temporarily suspend the chain.
That’s easy for Binance to do because Binance is also a highly centralized chain with a total of 25 validators, all of whom were pre-approved by Binance themselves.
But $570M is a lot of user’s money, and that seems like a good reason to abandon decentralization-maximalism, right? So halt the chain, freeze the hacker’s funds, resume the chain, everyone’s funds are safu, no harm done.
Not exactly. Moves like these go against the very purpose of blockchains to begin with.
A common misconception of blockchains is that they are “distributed storage ledgers”. That’s not technically true.
The purpose of a blockchain is to facilitate one shared consensus, based on coded rules that we’ve already agreed upon. Storage is a necessary part of the process, but not the primary reason for why we want to use a blockchain.
Put differently, blockchains are in the business of selling blockspaces that possess high data availability and uptime.
Arbitrary pauses of a blockchain, be it from technical bugs (Solana) or manual pauses (BNB Chain) compromises the raison d'être of the Web3 experiment.
If Binance can unilaterally halt its chain by asking its validators nicely to do so, you have to wonder what happens when regulators ask Binance (presumably not-so-nicely) to block and censor things on their chain. Binance has no choice but to comply, so then the BNB Chain does not facilitate one shared consensus but the government’s consensus and if so, what are we doing in Web3 at all? Why not stay in the regulated status quo of businesses and financial banks where companies operate within the boundaries of our regulatory overlords?
In contrast to BNB Chain, the Ethereum chain is validated by ~426,000 validators. That means that pausing Ethereum unilaterally would be a practical impossibility, posing a high level of censorship-resistance to any kind of government intervention or network attacks.
To be fair, even the highly-resilient Bitcoin network doesn’t have a flawless track record. Bitcoin has had two network outages since its inception: the “Value Overflow” incident in 2010 and the March 2013 Chain Fork incident – both of which forced developers to initiate a soft fork.
How about Ethereum? The network didn’t technically go down, but many of its applications were unusable in November 2020 due to its dependency on node provider Infura whose mainnet API went down. That’s a centralization vector that will need to be addressed. Other than that, the chain was unusable (though not entirely down) for gas-heavy apps during the so-called 2016 Shanghai DoS attacks where attackers tricked the dominant client Geth into slowing down processing on the Ethereum network.
Since these incidents, Ethereum and Bitcoin have never been down or unavailable, and have enjoyed a 100% uptime. It’s why these chains have earned their market-tested reputations as actually decentralized chains.
Decentralized finance needs to be actually decentralized, unstoppable finance. If chains can be arbitrarily halted, then it’s stoppable finance and hardly DeFi at all.