Ethercombing: Finding Secrets in Popular Places
securityevaluators.com
securityevaluators.com
There is no such thing as an invalid Ethereum address.
Separately, what the researchers seem to miss is that the majority of these funds were stolen due to a far more traditional software exploit: the Go Ethereum client (geth) has a JSON-RPC interface. If the user:
- enables the interface (it's disabled by default)
- listening on a public address (it defaults to 127.0.0.1)
- and unlocks their wallet (they are locked by default)
then anyone can send a request to the interface to sign a transaction transferring all funds in the account to another address.If anyone cares enough, it's easy to set up an instance of geth with the first two conditions met and watch the transfer attempts coming in.
True if the transfers were from external addresses, but transfers from contracts were likely intentional. Transferring to 0x0 is the standard way to burn ETH, and there are all sorts of reasons to do it, like destroying a bond as a penalty.
Some of the others were well-known issues in older clients, though I'm a bit surprised to see it's still happening. And of course brain wallets have been known to be vulnerable since early Bitcoin days.
Things like this come up a lot in layer-2 scaling solutions, for example. It also plays a central role in proof of stake, though that's not live on Ethereum yet.
I don't have a good specific example handy, though.
I definitely see reasons to not pay a counterparty; a swear jar is a one-sided incentive to not swear, where paying the other people present would reward them for tricking you into swearing.
The usual solution to this sort of issue is just donating the money, though. (For instance, productivity apps that hold money in escrow and donate it if you fail to complete tasks.) Is "donating to charity with Ethereum bonds" just too obscure to bother with at the moment, or is there a structural reason the bonds need to specifically be burned?
However, charitable donations aren't unknown. The ENS name registry, for example, is planning to require annual rents like DNS, and contribute the money to public goods (e.g. with grants to projects improving the ecosystem).