I guess this is called Circular spending.

Why is it required in the bitcoin protocol?


1 Answer 1


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.


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