<ol>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>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.</p></li>
</ol>

CC BY-SA 4.0
2018-06-27T01:02:20.760Z
2018-06-27T01:02:20.760Z
Nate Eldredge
<p>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. </p>

<p>In <strong>Section 4. Proof of Work</strong> 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". </p>

<p>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:</p>

<blockquote>
  <ol>
  <li><p>Assume a node <em>did</em> go back and redo the proof of work on a previous block (say block <em>n</em>) - with no intention of doing the proof-of-work on any following blocks - would this create a fork coming off of block <em>n</em> or would it sever the current longest blockchain between blocks <em>n</em> and <em>n+1</em>?</p></li>
  <li><p>Is the reason that '<em>the work to change the block would require redoing all the blocks after it</em>' 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
  <em>n</em> as outlined in question 1 (by my interpretation) creates a fork at block <em>n-1</em> to honest <em>n</em> and dishonest <em>n</em>, - by redoing the work for all other blocks following dishonest <em>n</em>, 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 <strong>5. Network</strong>.</p></li>
  <li>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?</li>
  </ol>
</blockquote>

<p>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. </p>

<p>Also - new to this community: please edit tags or title at will :)</p>

<doublespend><proof-of-work>
Security via Proof - of - Work
Prince M
# Security via Proof - of - Work

(Asked by: username_0 on 2018-06-27)

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 :)

**Tags:** doublespend, proof-of-work


---

## 1 answers

### Answer by username_1 on 2018-06-27. Score: 1 | Accepted answer

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.


---

