<p>The primary advantages of the UTXO model are simplicity of implementation and improved privacy.</p>

<p>With the UTXO model, transactions just consume some UTXOs and create some UTXOs. This tight constraint on what transactions can do makes transactions simpler and easier to execute in parallel.</p>

<p>The UTXO model also improves privacy by making it more difficult to associate transactions issued by the same party.</p>

<p>The primary advantages of the account model are improvements in transaction flexibility, account management, and multi-currency capabilities. A transaction in an account model can do much more than just consume and create UTXOs, it can modify persistent data associated with an account. This permits functions like order books and cross-currency payments.</p>

<p>Perhaps most importantly, it allows an account to be managed. For example, the XRP Ledger permits accounts to change their cryptographic credentials. You can have a publicly known receiving address and change the key needed to spend funds sent to that address without having to communicate a new address or move funds. </p>

<p>On a multi-currency system, accounts can specify assets that they're willing to accept as payment. So, for example, if I owe you US dollars, I can check your account settings to see what assets you accept for dollar payments. The enables the XRP Ledger's foreign asset system, enabling the largest decentralized exchange in the world.</p>

<p>Lastly, an account model makes it easier to bring new servers up. The number of accounts will generally be much less than the number of UTXOs in a comparably sized system. This means less data needed to bring on new nodes.</p>

CC BY-SA 4.0
2023-12-10T17:10:38.767Z
What about light clients and SPV, what are the differences there?
Ini
CC BY-SA 3.0
2018-04-30T22:18:24.637Z
2018-05-01T05:35:09.753Z
2018-05-01T05:35:09.753Z
David Schwartz
<p>There are two possible models, the UTXO model and the account model. Each has advantages and disadvantages. Bitcoin chose the UTXO model. XRP and Ethereum for example use an account model. </p>

<p>What are the advantages and disadvantages of each model?</p>

CC BY-SA 3.0
2018-04-30T19:09:10.800Z
It is not. My question is generic as you can see he asks something specific.
Ini
CC BY-SA 3.0
2018-04-30T19:10:10.297Z
Maybe the question isn't, but I think my answer there covers your question as well.
Pieter Wuille
CC BY-SA 3.0
2018-04-30T19:11:24.093Z
Nop. If this would be the case @David Schwartz would not have suggested to open a new question about this topic in this thread: https://bitcoin.stackexchange.com/questions/20611/why-do-outputs-need-to-be-spent-entirely/20623?noredirect=1#comment86236_20623
Ini
CC BY-SA 3.0
2018-04-30T19:12:46.133Z
Maybe he wasn't aware of the question there, or feels information is missing. That's fine. I'm simply stating that my answer to this question would be identical to my answer there.
Pieter Wuille
CC BY-SA 3.0
2018-04-30T19:13:45.283Z
The question at your link is totally specific, my qustion is generic. I suppose the answer it totally different or lets say the answer here should be much more comprehensive (spv, light-clients trust, privacy, smart contracts etc etc).
Ini
CC BY-SA 3.0
2018-04-30T20:21:09.673Z
That question only addresses scaling and doesn't address any of the other benefits of the account model, such as the ability to manage properties of accounts.
David Schwartz
CC BY-SA 3.0
2018-04-30T20:57:16.330Z
No, it explains how it adds complications (which are solvable, as you point out) while worsening privacy. As a result, I believe there are no advantages to the account model - encouraging linkage of transactions is giving up on creating a fungible currency.
Pieter Wuille
CC BY-SA 3.0
2018-04-30T21:54:47.510Z
@PieterWuille Being able to rotate your keys without having to move your money or tell everyone who might need to send you money about your new receiving address isn't an advantage? Being able to use a single receiving address for multiple currencies isn't an advantage?
David Schwartz
CC BY-SA 3.0
2018-04-30T23:11:58.790Z
@DavidSchwartz They certainly make things easier to reason about, as they make the on-chain data more accurately match the reality of funds movement. However, I believe that is the wrong place to solve this. Describing more than what is needed for validating the correctness of your ledger is gratuitously giving up privacy, which hurts the fungibility of the currency. All the things you bring up can be solved at higher levels, with better privacy and scalability trade-offs. Anyway, I mostly agree with your answer below.
Pieter Wuille
<utxo><accounting>
utxo vs account-model
Ini
# utxo vs account-model

(Asked by: username_0 on 2018-04-30)

There are two possible models, the UTXO model and the account model. Each has advantages and disadvantages. Bitcoin chose the UTXO model. XRP and Ethereum for example use an account model.

What are the advantages and disadvantages of each model?

**Tags:** utxo, accounting

> **Comments:**
> **username_0**: It is not. My question is generic as you can see he asks something specific.  
> **username_1**: Maybe the question isn't, but I think my answer there covers your question as well.  
> **username_0**: Nop. If this would be the case @username_2 would not have suggested to open a new question about this topic in this thread: https://bitcoin.stackexchange.com/questions/20611/why-do-outputs-need-to-be-spent-entirely/20623?noredirect=1#comment86236_20623  
> **username_1**: Maybe he wasn't aware of the question there, or feels information is missing. That's fine. I'm simply stating that my answer to this question would be identical to my answer there.  
> **username_0**: The question at your link is totally specific, my qustion is generic. I suppose the answer it totally different or lets say the answer here should be much more comprehensive (spv, light-clients trust, privacy, smart contracts etc etc).  
> **username_2**: That question only addresses scaling and doesn't address any of the other benefits of the account model, such as the ability to manage properties of accounts.  
> **username_1**: No, it explains how it adds complications (which are solvable, as you point out) while worsening privacy. As a result, I believe there are no advantages to the account model - encouraging linkage of transactions is giving up on creating a fungible currency.  
> **username_2**: @username_1 Being able to rotate your keys without having to move your money or tell everyone who might need to send you money about your new receiving address isn't an advantage? Being able to use a single receiving address for multiple currencies isn't an advantage?  
> **username_1**: @username_2 They certainly make things easier to reason about, as they make the on-chain data more accurately match the reality of funds movement. However, I believe that is the wrong place to solve this. Describing more than what is needed for validating the correctness of your ledger is gratuitously giving up privacy, which hurts the fungibility of the currency. All the things you bring up can be solved at higher levels, with better privacy and scalability trade-offs. Anyway, I mostly agree with your answer below.  

---

## 1 answers

### Answer by username_2 on 2018-04-30. Score: 7

The primary advantages of the UTXO model are simplicity of implementation and improved privacy.

With the UTXO model, transactions just consume some UTXOs and create some UTXOs. This tight constraint on what transactions can do makes transactions simpler and easier to execute in parallel.

The UTXO model also improves privacy by making it more difficult to associate transactions issued by the same party.

The primary advantages of the account model are improvements in transaction flexibility, account management, and multi-currency capabilities. A transaction in an account model can do much more than just consume and create UTXOs, it can modify persistent data associated with an account. This permits functions like order books and cross-currency payments.

Perhaps most importantly, it allows an account to be managed. For example, the XRP Ledger permits accounts to change their cryptographic credentials. You can have a publicly known receiving address and change the key needed to spend funds sent to that address without having to communicate a new address or move funds.

On a multi-currency system, accounts can specify assets that they're willing to accept as payment. So, for example, if I owe you US dollars, I can check your account settings to see what assets you accept for dollar payments. The enables the XRP Ledger's foreign asset system, enabling the largest decentralized exchange in the world.

Lastly, an account model makes it easier to bring new servers up. The number of accounts will generally be much less than the number of UTXOs in a comparably sized system. This means less data needed to bring on new nodes.

> **Comments:**
> **username_0**: What about light clients and SPV, what are the differences there?  

---

