Share this article
An Oasis user lost 63 ETH more than three weeks ago, but has since learned that the funds have been restored. The funds had been returned by the MakerDAO Protocol engineering team. The user said the funds represented “literally everything I owned besides my car.”
The Savvy MakerDAO Engineers And The Challenge
A mix of engineering talent and genuine concern enabled the MakerDAO Protocol engineering team to recover nearly $240,000 worth of lost ETH for its owner through the DeFi DAO.
One Reddit user recently wrote about the harrowing experience of sending 63 Ether to the wrong address. In a YouTube video as a personal regret and warning to others, the user outlines exactly what they did.
This user reported connecting the Metamask wallet to Oasis, switching the Ethereum Mainnet to Arbitrum, and depositing the ETH into the DAI token bridge on Arbitrum.
Since the token bridge was only available for DAI and not ETH, there was a problem. Although ETH is sometimes used to interact with the Maker Protocol, it wasn’t the case here.
In the Reddit post, the user regretfully wrote:
“This was literally everything I had in the world besides my car. I’m not posting for sympathy, I just want everyone to know so it doesn’t happen to them… I know I’m the one who made the transaction. I take responsibility for that.”
How to Reverse a Blockchain Transaction?
MakerDAO protocol engineer Sam MacPherson explained what happened next in a tweet.
Since Ethereum addresses are “deterministically generated,” any smart contact address deployed on Layer 2 by a Layer 1 EOA “can be used to revoke” the address.
EOAs are Externally Owned Accounts, which are simply normal Ethereum addresses with private keys, rather than just contract accounts (like those used in DeFi contracts). Layer 2 address the funds were sent to corresponded with a known proxy contract on Layer 1 and engineers were able to insert any smart contract code into Layer 2 address.
Using Layer 1 ProxyRegistry deployment, the engineers got the EOA nonce and deploying address for the smart contracts, so they could deploy them on EOA.
From the EOA (the user’s ETH wallet), they initiated arbitrary smart contracts (“self-sends” without calling any services or adding value), until they reached the chosen nonce, allowing them to deploy the desired contract.
As MacPherson reported: “Once we have the Proxy deployed at the target address we can issue a command to send the ETH back to the original user and voila we recovered the ETH!”
Upon receiving the returned ETH, the user updated on Reddit:
“I honestly cannot believe this. As soon as I realized what had happened, I was positive it was gone forever… These guys had no obligation to me whatsoever and yet they still took the time to figure out how to do something that many people, including myself, thought would be impossible.”