In banking, a user's account will have a balance, and when they spend an amount is credited from their balance. For example, the account #310 could have $100, and spending $10 would reduce it to $90.

Bitcoin on the other hand makes you spend all $100 from the account in a transaction, but the transaction could have two outputs ($10 and $90 - you would keep control of the new $90 account).

Why was Bitcoin set up that way instead of the other way? The other way seems more natural. You'd just sign a transaction as coming from your account and going to someone else's account.

  • Is it more natural? Long before we had accounts and balances, we had physical money. Physical money behaves a lot more like bitcoin. Well, it doesn't have arbitrary "note" sizes and you can't break a unit of currency by yourself, but other than that...
    – Jasper
    Jul 30 '18 at 13:03

It could, yes. Ethereum works on something similar to an account system, at least as far as ethereum balance is concerned. Both models are valid, and have their benefits and drawbacks.

The UTXO model allows for great parallelism and privacy. Each transaction can create UTXOs to new addresses, and different UTXOs can be spent independently and parallely.

The account model requires some form of ordered execution (achieved via a nonce in ethereum). Moreover, a single transaction cannot combine balance for two different accounts in current implementations, while you can combine UTXOs from as many addresses are you wish in a single transaction.

As to why Bitcoin chose a UTXO model over a balance one, I don't think an authoritative answer exists on that. It's what the creator(s) of Bitcoin started with, and there is no pressing reason to change it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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