HN user

thiagobbt

30 karma
Posts0
Comments12
View on HN
No posts found.

Imagine there's a machine that you can deposit dollar bills and it registers in an internal database how much you have. The machine calls these stored values as wrapped dollar. You can withdraw your wrapped dollars back as dollar bills whenever you want.

This machine also allows you to send these wrapped dollars to other people - it just subtracts from your balance and adds to the other person's.

What this guy did is transferring his wrapped dollars to an address no one controls instead of withdrawing as he should. This address was the machine's address, but it's not programmed to handle the balance in it's own account and it runs code that can't be upgraded, so any values sent there are lost.

In this example dollar = ETH, wrapped dollar = WETH, machine = the WETH smart contract.

The real problem here was thinking a ETH transfer (dollar bill deposit in the example) works the same as a WETH transfer (database transaction in the example).

Due to the hierarchy of dns you can ask to a root server who handles .com, then to that server who handles google.com, then to that Google server, who handles mail.google.com, and then you can connect to it. If you allow anything to be a TLD the root servers need to know about everything, which isn't really feasible