> Having sounded the alarm bells, a group of benevolent white-hat hackers from the Ethereum community rapidly organized. They analyzed the attack and realized that there was no way to reverse the thefts, yet many more wallets were vulnerable. Time was of the essence, so they saw only one available option: hack the remaining wallets before the attacker did. > By exploiting the same vulnerability, the white-hats hacked…
> something is very wrong with your system To be clear, neither of the two situations is "more moral" than the other. In the end however, the question remains: who you trust. Governments have resolved the question long ago (by enforcing trust), cryptocurrencies are just now starting to face the same question. You are correct however that who you Trust remains the greatest issue behind creating a currency.
The underlying cause is a generally shoddy design of the contract language: when you're writing code where it's imperative that it have no security flaws, writing it in a JavaScript-like language which provides so few protections is absurd.
The Ethereum community is run by profiteering speculators rather than revolutionaries, however, so to them, performing a 51% attack on their own blockchain whenever they don't like how a contract turns out is an okay solution.