Surviving The Ablockalypse: Can Ethereum Pass The Decentralization Smell Test?

The ablockalypse is happening. Our favourite service providers are failing. Would Ethereum still pass the decentralized-or-not smell test?

Timmy Ho
11 min readSep 13, 2024

As a space, we talk a lot of game about decentralization. The core tenet of this principle value is that we shan’t need central actors in order to interact onchain. And that’s a really big claim worth investigating, especially since we love to shout into a megaphone about how much we value our decentralization. Yet, curiously we continue to fail in our efforts to persuade our blupilled brethrens in taking the redpill. So I am here to investigate a would-be casual user’s most common touchpoints onchain and pose the question (and hopefully answer):

“Just how decentralized is decentralized?”

So let’s olympic-dive into this mafaaaa and see “wha happuns” with the following hypothetical failures:

  1. A web/hot wallet failure 👜
  2. A hardware wallet failure 🔑
  3. A failure in communicating with the chain (e.g. Infura endpoint goes down) 🗣
  4. A dApp frontend failure 🖼
  5. A block explorer failure ⛵️

Note: as a predominantly Ethereum-based actor, I shall talk about Ethereum. Unfortunately, I neither have the networth nor the time to get into other L1 ecosystems at depth.

A web/hot wallet failure, otherwise known as `wtf do we do if MetaMask breaks?`

If we are redpilling our friends about the magic of onchain, we typically start them off with — and let’s acapella this together please:

SELF-CUSTODYING YOUR ASSETS

Great, and I am glad we are all on the same page about the most important thing in crypto™. And since hardware wallets are typically a bigger product hurdle for casuals, we noble few evangelizers (praise be) might turn them onto a more common entryway for self-custody — via a hot wallet provider like MetaMask, Rainbow, Rabby, or some such. Let’s use MetaMask for the sake of example.

MetaMask, like most web-based browser wallets, is downloaded as an app on your device/phone or added as an extension to your browser. Once it’s on your platform of choice, technically you should be able to access it unless your device dies, you die, the internet dies, or the power grid and human-civilization-as-we-know-it-dies. Otherwise, the failure of MetaMask likely comes from either 1) a bad update that breaks the app or 2) the service is sunset for good, or 3) more commonly the default endpoint goes down.

We will explore 3) later, so let me quickly digest for the casuals what one would do if 1) or 2) were to happen. The MetaMask fox dies in a baptism of regulatory shit-catapults. Oh no, so sad, wat do :(? Well folks, this is the reason why we generate a seed phrase and keep it safesies. Let’s get mildly technical for a bit here…

  1. Da “blockchain” in simplest terms can be seen as a state transition machine tracking state changes in the “computer” over time
  2. Standards need to be created, implemented, and adhered to in order to have things like “tokens” represented and widely understood by all sorts of different service providers
  3. Analogy: international freight shipping needs to adhere to standard dimensions of a container to capture the economies of scale in efficient transport
  4. Analogy part deux: Ethereum is one of many giant oceans on Earth, and service providers are the cargo ships carrying the messages and data structures to and fro in STANDARDized containers
  5. Standards are often shared between one blockchain ecosystem and another

For example, BIP-39 is a widely adopted standard that originates from Bitcoin and defines the method for generating mnemonic phrases. These phrases are then used to derive a cryptographic seed, which can be applied to generate wallets or private keys across different blockchain systems.

This is the basis for our public-private key cryptography and how ownership “happens” over digital assets. So should our favourite wallet service provider ever go down, we can take our precious little seed phrasesessies, import them into another wallet service provider that implements the BIP-39 standard, and carry on onchain.

Fun fact: this is how most people also get phished and socially engineered to enter their seed phrases into a malicious frontend. That is a guaranteed gg;no re. Never ever EVER enter your seed phrases willy nilly into anything unless you are 150,000% sure it is legit!

Decentralized or not decentralized? Decentralized! 💮

Summary: if your favourite wallet provider goes down permanently, you take your seed phrase or private key and import it into a different provider.

Hardware wallet failure, otherwise known as `wtf do we do if my Trezor battery dies?`

This section is largely a repeat of the above in terms of provider failure — you would simply import your seed phrases to another provider… with one important exception. Most people typically use hot wallets for small or otherwise inconsequential amounts of crypto. The bulk of your “vault” should otherwise go on a hardware wallet if you are serious about security. So… what happens when the internal batteries for your Trezor, Lattice1, Keystone, imKey, etc etc begin to fade? Well, you better damn have:

  1. Wrote down your seed phrase in a secure manner
  2. Stored your seed phrase in a secure manner, and
  3. Can easily retrieve your seed phrase in a secure manner

If none of the above have been completed or can be fulfilled, well… RIP. Decentralized not so decentralized becuz u dun fuck’d up gurl.

Otherwise, if you were diligent about safeguarding your hardware wallet’s seed phrase, you can simply import it into another BIP-39 compliant wallet to carry on onchain.

Decentralized or not decentralized? Decentralized! 💮

Summary: if your favourite wallet provider goes down permanently, you take your seed phrase or private key and import it into a different provider.

I guess the crisis scenario in the first two cases are… what if the government outlaws self-custodying your assets? Well hot damn, if that happens, buckle up buckos, we’d have some strong collective civil action in response. That’s like banning owning property. Also… did the government or state ever successfully stop Tor? Or freedom of religion? Or the fucking internet?

RPC endpoint failure, otherwise known as `wtf do we do if we can’t communicate with the chain?`

Let’s examine case 3) that we mentioned in the first section. Should MetaMask fail, usually it’s because communication with the blockchain has failed. Wat mean? Wallets act as proxies for user actions. They communicate with a blockchain through an RPC endpoint. With MetaMask, the default RPC endpoint is Infura’s API (they are the creators of MM). The wonderful thing about most wallets? You can select your own. So if Infura nodes aka their RPC endpoints go down, we can point our wallet to a different one from another node provider.

There’s this wonderful service provided by DefiLlama called ChainList. They maintain a list of RPC endpoints we can point ourselves to for almost every chain that has ever been deployed.

Me personally? I love me some good ol’ decentralization. I personally run an Ethereum full node on a dedicated Dappnode machine. In casual terms… Ethereum relies on a network of specialized computers that verifies and validates the latest state changes being pinged to the blockchain. Some of these nodes stake ETH in order to have the opportunity to propose new blocks and earn a small reward for doing so. Fortunately, you don’t need to stake ETH to be a full node… which is why I run my machine without staking to support the decentralization of the network (moar nodes verifying the chain = less centralization risks to large server clusters). The point of that entire aside is that there is an added benefit to operating a node: I can access my own dedicated RPC endpoint! So, should Infura’s service ever go down, I can simply revert to my own in order to communicate with the blockchain. It’s one of my favourite features of Ethereum!

The hardware can be a bit steep, but it’s also not bank-breaking if you truly wish to run your own node. Dappnode sells dedicated Intel NUCs for ease-of-plug-and-play, but you can also run a node on your own setup provided you meet the minimum hardware requirements.

Neato!

Decentralized or not decentralized? Decentralized! 💮

Summary: there are plenty of alternative RPC endpoints for you to choose from. Failing that, you can, with some work, run your own Ethereum node for ultimate decentralization.

And for a shameless plug, check out my video for Dappnode:

dApp frontend failure, otherwise known as `oh no muh Uniswap frontend blocked access from ‘muricans`

Ah, now we’re talking. This is the meat of the decentralization argument. GLADIATORS, THIS IS WHAT WE CAME HERE FOR. Let’s say we are using a popular decentralized exchange (DEX) such as Uniswap to conduct — and let’s accapella this together again folks—

SELF-CUSTODIAL onchain trading.

Great, I am glad we are still on the same page about the most important thing in crypto™. And then let’s say big daddy gov one day decides that they don’t like their citizens participating in self-custodial trading because muh citizens need accreditation to participate. Oooooohwheeee wouldn’t that be a doozy for collective civil action. Nevertheless, we go online, and we visit https://uniswap.org. And for some fucking reason we’re not using a VPN, so we find ourselves unable to access Uniswap. Oh no, wat do?

For the casuals, this is where the magic of blockchain shines. The Uniswap frontend is only a frontend. A beautiful, pioneering frontend at that. But only a frontend and nothing more than that. The real magic of onchain is in the backend. Because the frontend is married to the immaculate, Ethereum-based backend. Because the backend of Uniswap is supported by good ol’ IMMUTABLE, PERMISSIONLESS, and UNSTOPPABLE motherfuckin’ SMART CONTRACTS.

  1. Alternative 1: So if we find ourselves unable to access the frontend, we can go to https://etherscan.io, query Uniswap’s SwapRouter contract address at 0xE592427A0AEce92De3Edee1F18E0157C05861564, connect to MetaMask, and then directly write to the smart contract’s exactInputSingle function. This function allows us to specify the token addresses that we want to swap in and out, the quantities, fees, and other parameters. Big daddy gov be damned.
  2. Alternative 2: we know wallets primarily communicate with the blockchain-in-the-sky via RPC endpoints. So, as long as we have access to any RPC endpoint, whether through a third-party provider or via running your own node, you can directly interact onchain. You would need a bit of programming knowledge, but you would write a script using any of the open source Ethereum libraries such as web3.js, ethers.js, or viem, and then directly query the custom RPC endpoint with the parameters of your smart contract input and output to complete the transaction. Now ofcourse, directly interacting with a smart contract with either Etherscan’s “write contract” or writing your own script is a fair bit more technical than using the made-for-casuals Uniswap frontend, but no one said hardcore decentralization was easy now, did we?
  3. Alternative 3: the neat thing about composability (the ability to brick together disparate lego pieces to form anew) in the web3 paradigm is that other protocols can also leverage Uniswap’s contracts for their own benefit. For example, DEX aggregating protocols such as 1inch or Matcha, might aggregate many different DEXs, including Uniswap. This gives end users alternative frontend options to use for trading. So if Uniswap goes down, other dApps may be active that still use the Uniswap contracts on the underlying. Motha.Fucking. Smart contracts.
  4. Alternative 4: understanding frontend centralization to be a risk in and of itself, the crypto community banded together to host an alternative version of the Uniswap frontend on IPFS at https://uniswap.eth.link. This way, even with a geo-blocked Uniswap frontend, users will always be able to interact with the official Uniswap contracts through a frontend that looks identical to the official one. Thank you, open source! So if a dApp is deemed important enough, it’s likely the internet will stand up to the challenge to host an alternative.

Decentralized or not decentralized? Decentralized! 💮

Summary: you can easily get around frontend failures, but you have to be willing to get a bit rough and dirty, especially if you plan to directly write to the smart contracts yourself.

Block explorer failure

A block explorer (and more specifically Etherscan) might be one of the most important tools for anyone doing anything onchain. The truth is, for most consumer-grade use of the chain, this aspect of the blockchain could be abstracted away entirely — casuals should only care about whether a transaction goes through or not. However, there are instances when being able to “explore” the chain and “see” your transactions in the format that block explorers like Etherscan presents it in is useful. Not the least of which being able to directly “read” or “write” to a smart contract in a programmatic sort-of-way is a uniquely underrated functionality of Etherscan. Nevertheless, what if 1) Etherscan went down, and 2) what if all block explorers went down?

First off, there are many alternative block explorers. So, similar to choosing a different wallet provider if your preferred service went down, you would just pivot to another. For the second case, this one is definitely a bit tougher to deal with. The indexing of blockchain data is an insanely valuable part of the stack. You have decentralized options such as The Graph providing a backstop. However for casuals, they are almost certainly not figuring out how to perform custom data queries using GraphQL. Perhaps some kind samaritan would take up the mantle to provide alternative ways to query the chain in a hypothetical ablockalypse.

This is why regional diversity of service providers, not just block explorers, across the spectrum of web3 services is so important. Regulatory attacks happen often enough on crypto. But an orchestrated regulatory attack across all jurisdictions? Unlikely. And in any case, any nation state willing to go to war against crypto would simply be shooting themselves in the foot otherwise. Why lose ground in such a pivotal megapolitical theatre? It’s like rejecting the internet on account of the possibility that you can traffick drugs with it.

Decentralized or not decentralized? Not (so) decentralized! ❌

Summary: as a proud and self-admitted hypercasual, I really don’t know how I would subsist onchain without Etherscan xD

Final score: Very decentralized! 💮

I’ve explored 5 potential failures throughout this piece: software wallets, hardware wallets, RPC endpoints, dApp frontends, and block explorers. With these being the extremely common touchpoints for the onchain casual, on the whole, I would say ⅘ readily passes the decentralized-or-not smell test. There are a variety of alternatives with which casuals can use in order to get around the failure of any one part of the stack. And failing that, it would be negligible for upstanding Ethereans to step up to the plate to create alternatives as soon as one part of the stack goes down.

So, what do you think? Are there other parts of the stack that would be worth examining? Is Ethereum decentralized enough? Are we truly on the paradigm of an unstoppable world computer? In my opinion? Yes. And that makes for an exciting future where hundreds of millions, if not billions, will be able to tap into internet of money protocols permissionlessly and equitably. LFG.

Follow me on Twitter @haochizzle or Warpcast @0xTim.eth

--

--

Timmy Ho
Timmy Ho

Written by Timmy Ho

i write for the future of web3 @ chainsafe / sygma

Responses (1)