Live data from Hacker News

Blockchains from a Distributed Computing Perspective [pdf]

cs.brown.edu

71–73 of 73 posts

Re: Blockchains from a Distributed Computing Perspective [pdf]

#71
post #68

Earlier quoted context omitted.

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 t…

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

If you're using the original definition from SQL, the DAO event still doesn't qualify. A SQL transaction rollback removes the transaction from the log, while the DAO theft transaction is still on chain. What Ethereum did was an additional update transaction.

Re: Blockchains from a Distributed Computing Perspective [pdf]

#72
post #54

Earlier quoted context omitted.

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

Re: Blockchains from a Distributed Computing Perspective [pdf]

#73
post #71

Earlier quoted context omitted.

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

If you're using the original definition from SQL, the DAO event still doesn't qualify. A SQL transaction rollback removes the transaction from the log, while the DAO theft transaction is still on chain. What Ethereum did was an additional update transaction.

The original post is clearly referring to the general engineering usage of rollback, as seen, for example, in source code control systems. As I pointed out before, 'rollback' is defined by its effects, not the mechanism by which it is performed, to which I might add that it is even less defined by mechanisms that are specific to a particular implementation.

If the existence of a record of the rolled-back transaction made a difference to whether an action is a rollback or not, then, by your argument, it would seem that the existence, or not, of a backup (or any other record) preserving the prior state of the system, would make the difference as to whether an SQL rollback was or was not actually a rollback. This, of course, is absurd, but its what you get from mistaking an implementation for a definition.

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

That was the point of my first post in this thread (with special reference to self-serving definitions.)

Post reply on HN