Hacker News new | ask | show | jobs
by gliptic 4492 days ago
You can't double-spend the outputs unless you get rid of the blocks they were originally spent in, i.e. rewinding and re-mining all of them.
1 comments

Why is this?

My understanding of the way the network operates is that a group with 51% of hashing power can essentially arbitrarily manipulate the blockchain going forward. Nothing could stop them from confirming otherwise invalid transactions (re-spending the original outputs) and mining those new transactions. After which, clients, only looking backwards to the first block a transaction resides in, wouldn't notice that the funds were originally double-spent.

Only if they completely change how the protocol and the blockchain works so that you can somehow invalidate previously confirmed transactions. Then they need to make everyone upgrade all clients or suffer a hard fork. In the end, this would have to invalidate all the transactions that are dependent on the "evil" ones, reversing a boatload of transactions pretty much arbitrarily throughout the blockchain.

This means that if the purported thieves have transferred their coins to e.g. an exchange, potentially any of the transactions the exchange has made since then could be reversed, cascading from there.

I don't think I'm understanding your point. Why would they need to invalidate previously confirmed transaction?
How else do you plan to get rid of the transactions?