user56776: I guess this is called Circular spending.
Why is it required in the bitcoin protocol?

user10411: Because on the lowest level of bitcoin protocol there is no accounts. There are scripts inside transaction. The most common script says: show me public key, I will compute Hash160 of it, compare with given Hash160, and if they are equal, I will check signature.
Let imagine, transaction contains single output with 1 bitcoin. Script contains Hash160 (which we treat as account). There is no way to spent part of bitcoin. We have to spent entire output, which is equal to 1 BTC in our case.
Transactions, like blocks, form some kind of chain.

56776: <p>I guess this is called Circular spending.</p>

<p>Why is it required in the bitcoin protocol?</p>
 10411: <p>Because on the lowest level of bitcoin protocol there is no accounts. There are scripts inside transaction. The most common script says: show me public key, I will compute Hash160 of it, compare with given Hash160, and if they are equal, I will check signature.</p>

<p>Let imagine, transaction contains single output with 1 bitcoin. Script contains Hash160 (which we treat as account). There is no way to spent part of bitcoin. We have to spent entire output, which is equal to 1 BTC in our case.
Transactions, like blocks, form some kind of chain.</p>
