Hacker News new | ask | show | jobs
by jude- 1860 days ago
> Satoshi fixed a bug (that reverted it back to the initial rules everyone agreed upon).

The Bitcoin chain fork where the bug manifested wasn't reverted. Instead, a chain fork where the bug didn't manifest outgrew the one that did, and is now the canonical fork. If they wanted, miners could continue to mine the fork where the bug manifested. The point is, the Bitcoin protocol didn't change at all -- it merely presented miners and users a choice between two conflicting histories. You can start up a miner on the other fork today if you wanted.

This is not true for Ethereum. Because the undecidability of the EVM precludes miners from determining whether or not a given transaction would touch the DAO contract without first executing the transaction for less than the cost of executing them, there was really no good answer to dealing with the DAO hack. The options were:

* Let the DAO hacker keep the proceeds (this became Ethereum Classic)

* Change the network protocol to prevent the DAO code from ever running (this is Ethereum today)

* Change the EVM so it would permit miners to determine which contract(s) are reachable from a given transaction, thereby allowing them to filter out contracts that could move the DAO funds (a path not taken, because censorship)

1 comments

> The Bitcoin chain fork where the bug manifested wasn't reverted. Instead, a chain fork where the bug didn't manifest outgrew the one that did, and is now the canonical fork.

That's right, thank you for adding the missing nuance.