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:
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?
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.
- 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
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 🙂