I am reading Satoshi's original paper, merely for the sake of understanding the concept. I have minimal computer science background (some), mostly just mathematics.

In Section 4. Proof of Work of Satoshi's original paper, he (she? who knows) says 'Once the CPU effort has been expended to make it satisfy the proof-of-work, the block cannot be changed without redoing the work. As later blocks are chained after it, the work to change the block would require redoing all the blocks after it".

I think I understand the big picture in the above selection, but the technical details of what would happen in such situations are unknown to me. Questions:

  1. Assume a node did go back and redo the proof of work on a previous block (say block n) - with no intention of doing the proof-of-work on any following blocks - would this create a fork coming off of block n or would it sever the current longest blockchain between blocks n and n+1?

  2. Is the reason that 'the work to change the block would require redoing all the blocks after it' simply because there is no sense in changing a block unless the data in the changed block is validated by appearing in the longest chain. Since going back and changing block n as outlined in question 1 (by my interpretation) creates a fork at block n-1 to honest n and dishonest n, - by redoing the work for all other blocks following dishonest n, the hashes and timestamps coincide, and if this chain theoretically caught up to the current honest chain (which of course probabilistically can't happen), this chain would be the new honest chain by the definition in 5. Network.

  3. Suppose the unlikely happened, and the scenario of question 2 took place - would the proper analogy to regular currency be a) I gave you money in exchange for some good or service b) (presumably) I received the good or service c) I stole the money back. My point here is, even if the unthinkable happen, it would not be analogous to 'duplicating' the money I gave you, it would be more like stealing it back?

I would prefer answers that mostly answer within the framework of Satoshi's original paper (which may be different than how bitcoin currently operates in the real world), but I am not opposed to hearing related facts about how this is actually implemented.

Also - new to this community: please edit tags or title at will :)

1 Answer 1

  1. It creates a fork. There's no way to "sever" an existing branch of the blockchain. All valid branches remain valid forever, and a node will select whichever one is currently the longest (by total work) as the authoritative ledger.

  2. Right. If you just redo one block, you've created a branch, but it's not the longest one, so it won't be considered part of the authoritative ledger.

  3. Yes, that's the right analogy. "Double spending" doesn't duplicate money; rather, it rewrites history so that your payment is considered to have gone to someone else instead (typically back to you). If someone else thought they had that money, and gave you some goods or services in exchange, then you've effectively stolen it back from them. You effectively got to spend that money twice, but the blockchain thinks the first one never happened, so the official record only shows one spend.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.