6
4
The Bitcoin developer guide states that
each output of a particular transaction can only be used as an input once in the block chain. Any subsequent reference is a forbidden double spend—an attempt to spend the same satoshis twice.
So how does a Bitcoin network node actually mark a transaction's output as spent? I imagine it would need to be irreversible, so that other nodes cannot revert the "spent" marker, but I cannot think of a way that Bitcoin could ensure that.
Where in the standard Bitcoin code does this marking occur, and how does it occur?
This answer goes more into detail than the previous one, so I'm accepting this one instead. Thanks! – feralin – 2014-07-02T15:49:42.010
I get it about only spending one, but this transaction confuses me, which appears to reduce the balance of an address twice on separate occasions (this is the tipjar for bitref.com FYI) https://blockchain.info/address/38Ee9XUoHp6usVRDKNTdUvS1EUsca3Sb6L?sort=0
– Dean Radcliffe – 2018-02-05T18:12:14.480Block explorers will confuse you. Addresses don't hold a balance. There are only outputs. Each output has an address an and amount. Transaction inputs spend one specific previous output completely. – Pieter Wuille – 2018-02-05T18:43:39.437