Many decentralized finance applications broke down earlier today after a series of unfortunate events resulted in an outage on a key piece of Ethereum infrastructure.
The main lesson of the day is that a *decentralized* financial system shouldn’t be so reliant on a single provider.
Here’s what happened: Developers of Ethereum client Geth —one of the software implementations of Ethereum— months ago had quietly fixed a bug in their code. They did so quietly so that hackers wouldn’t exploit the bug in older versions of the software.
But the bug was triggered this morning, causing a split in the Ethereum chain, between nodes running the old, broken version of Geth, and nodes running updated Geth clients and other clients.
Here’s the problem for DeFi: Infura, a service which many Ethereum applications use to outsource running their own Ethereum nodes, was running the old, buggy version of Geth. This caused applications using Infura to break.
MetaMask, Compound Finance, Uniswap, Pool Together and MakerDAO, are just some of the applications that use Infura in some capacity.
Infura is back up at the time of writing, and so was DeFi. Neither tokens nor ETH flinched, and the market is continuing its rally.
Hopefully this will help make DeFi stronger: More applications should run their own nodes and/or use Infura back ups. Developer David Mihal put together a website outlining the alternatives. Also, everyone should be running the latest version of whatever Ethereum client they’re using.