Newbie discovers that calling initWallet() on an Ethereum smart contract makes them the owner due to a bug in the code, accidentally deletes $150 million in Ethereum.

Etherium is a blockchain and coin. It's main feature is the ability to deploy smart contracts, which are basically small programs which can do stuff conserving the transfer of funds depending on their code. These contracts are written in programming languages which compile into bytecode for the EVM, and are thereby stored on the blockchain. Most of them are written in a language called Solidity, which to be honest isn't that secure. Some developers for a popular Etherium application tried to save space by using a library, thereby reducing transaction fees. It had a bug which allowed random people to claim ownership of smart contracts and thus the ETH assigned to them due to the developers not realizing that certain functions were publicaly available, which was discovered by a newbie trying out commands which he shouldn't have been able to execute on random wallets. He ended up accidentally making himself the owner of a smart contract containing $150 million and deleting it. Now there's a debate about whether the community should roll back the transactions recorded on a supposedly immutable ledger and correct the transaction, or let the ETH be lost.

/r/programmingcirclejerk Thread Parent Link - medium.com