This morning’s Infura outage has highlighted some of Ethereum’s most widely-discussed flaws, reigniting discussions around the true meaning of decentralization.
Why Infura’s Outage Was a Problem
Infura is one of Ethereum’s principal infrastructure providers. This means that it contributes full nodes to the network, which exchanges and apps like MetaMask run on.
While it’s undoubtedly more convenient for such apps to use Infura rather than running their own node, it’s hard to escape the fact that they’re essentially relying on another party. The service is primarily backed by ConSenSys, the blockchain software company run by Ethereum co-founder Joe Lubin.
Problems arose due to a bug in Geth, an Ethereum client. When Ethereum’s core developers fixed the bug, the change caused anyone running an older version of Geth to split into a minority fork. As a result of this, some apps failed to show accurate data.
Transactions failed, and exchanges like Binance opted to halt all ETH and ERC-20 transactions. The Ethereum Foundation’s security lead Martin Swende gave a rundown of what happened on Twitter earlier today:
Older geth-versions contained consensus-flaw(s) which were hit today on mainnet. The “change introduced” was actually fixing those issue(s). This is a reminder to keep your node(s) up to date! https://t.co/oZatRUgENS
— M H (((Swende))) (@mhswende) November 11, 2020
Outage Sparks Community Debate
Though the issue was quickly resolved, it sparked a furious debate over Ethereum’s level of decentralization.
Some have raised questions over why the bug went unannounced before today, arguing that such a decision demonstrates that a small minority guards the protocol. Ethereum developer Peter Szilagyi defended the action, stating that such an announcement could have risked disruption:
Technically you are correct that it was an “unannounced hard fork” (from a bad chain to the good one). That said, silently fixing a bug dormant for 2+ years has a much lower chance of causing a disruption than raising awareness to it. We strive to minimize potential damage.
— Péter Szilágyi (@peter_szilagyi) November 11, 2020
Others have cast blame on Infura for using an older Geth client, which caused several apps to fail. Among other things, the issue highlights that having multiple clients can be beneficial in such a failure.
Solutions for Ethereum
Another node provider, AVADO, also offers a unique alternative. Bernd Lapp, the company’s co-founder, told Crypto Briefing:
“AVADO created a service called RYO Cloud (Run Your Own Cloud), which is a package that AVADO owners can activate on their box. The package gives you the option to add certain applications you are running on your box, to the Cloud and therefore let other users use them. Users that do not have an AVADO can use the specific RPC endpoints. We know of a few applications that are already using this endpoint like Rotki, in addition to Infura.”
One of the bigger questions is whether using a service like Infura to run a node truly compromises decentralization. Samson Mow, a prominent Bitcoiner and CSO at Blockstream, is part of the camp who argue that a blockchain can’t be described as truly decentralized when many of its users are dependent on a single entity.
While much of this discussion comes from supposed tribalists who advocate for the use of other blockchains, one solution for Ethereum believers who subscribe to the same view is to run an independent node.
Ethereum isn’t perfect, and not everyone who wants to use the network will be interested in following the steps required to run a node. An improved user experience would definitely help over time too. Bernd added that this is the primary objective for AVADO, “to create convenience. It should be very simple to run a node of any kind of blockchain.”
Making it easier for users to launch and maintain a full node is a key hurdle for organic network decentralization. For that to happen without a hitch, the team behind the project will need to stay focused on another pertinent issue: scaling and the launch of Ethereum 2.0.