Hacker News new | ask | show | jobs
by mannykannot 3074 days ago
No amount of wordplay and denial will alter the fact that the DAO fork was a de-facto rollback.
1 comments

There's a fundamental difference: a rollback reverses everybody's transactions, the DAO fork left unrelated transactions alone.

Bitcoin had an actual five-hour rollback in its early days, when someone figured out an exploit and awarded themselves over a billion coins.

That’s incorrect. There was never a rollback in Bitcoin. You may be referring to the leveldb bug that caused a fork, or Gavin and Satoshi’s discovery of the billion coins bug, which was fixed by a software update, but none of these involved a rollback.
I was thinking of the billion coins bug. I did some searching and it appears you're mostly correct; the errant transaction was removed, along with subsequent transactions that descended from it, but unrelated transactions were left in place.

https://bitcointalk.org/index.php?topic=823.msg9557

A rollback followed by a replay of desired transactions is still a rollback. This is how you can tell if an attempt to refute-by-redefinition is denial: first determine why it would be unfortunate if the predicate being refuted were true, and then ask if the redefinition actually fixes the problem.
Ethereum didn't have to replay transactions, because there was no rollback at all; it was an isolated change to the data in one contract. Ethereum doesn't work the way Bitcoin does.
Here we have another distinction without a relevant difference. A rollback is defined by its consequences, not the details of its process.
If you want to redefine "rollback" as "any fork that changes a blockchain's data" then ok, but that seems like a misleading definition to me. Normally a rollback means "all transactions are rolled back," which has entirely different consequences. In Ethereum's case, the data afterwards is different even from a rollback/reapply, since the theft is still in the transaction history.

In any case it seems fairly useless to debate what the meaning of "rollback" should be.

The meaning of rollback transcends and precedes blockchains, and it use here is in that sense.