<p>Yes this is called an SPV client.  See <a href="https://bitcoin.stackexchange.com/questions/4649/what-is-an-spv-client">this question</a> here for detailed explanation of how SPV works.  There are several of these today, most mobile wallets and the multibit wallet use SPV technology.   </p>

CC BY-SA 3.0
2014-03-12T21:22:28.713Z
2014-03-12T21:22:28.713Z
2017-04-13T12:47:33.583Z
Mark S.
<p>No, you can't. When a transaction refers to an unspent output, it refers to it by transaction ID and output number, not by address. So knowing that a particular address has a particular balance is not what you need to validate transactions. If you can't validate transactions, you can't validate blocks. If you can't validate blocks, you can't really do much of anything except trust some other server to do the real work for you.</p>

<p>Ripple implements accounts with balances instead of unspent outputs precisely to avoid this.</p>

CC BY-SA 3.0
2014-03-14T02:56:08.293Z
2014-03-14T02:56:08.293Z
David Schwartz
<p>To answer your question completely:</p>

<ol>
<li>It is possible to implement a Bitcoin client without the whole blockchain. In fact, many exist, including Electrum, MultiBit, Mycelium, etc.</li>
<li>However, it is not possible to implement the entire Bitcoin network without a full blockchain, unless you want to create a fundamentally new technology. Bitcoin thrives on the blockchain; it is what allows it to maintain a decentralized ledger. If no one kept track of transactions before block 200,000, you'd have to trust that whoever is maintaining the balances at that block 200,000 isn't making up numbers.</li>
</ol>

CC BY-SA 3.0
2014-03-16T06:57:54.253Z
2014-03-16T06:57:54.253Z
Tony
<p>It's entirely possible for a node to store only the balances (Actually the UTXO, but it's conceptually similar). This is called blockchain pruning, and IIRC has been on the wishlist for a while.</p>

<p>The biggest problem is that to bootstrap a full node, it can't just take your word for what the set of balances should be, it needs proof. That proof is the full blockchain.</p>

<p>So even if 99% of nodes switch over to keeping pruned versions of the blockchain, we'll need a few that archive everything, so new full nodes can convince themselves of the correctness of the balances.</p>

CC BY-SA 3.0
2014-03-12T21:52:50.887Z
2014-03-12T21:52:50.887Z
Christophe Biocca
<p>Is the Bitcoin's copy of the block chain completely necessary? Couldn't we just store the current balances of all addresses, without keeping logs of their transactions as well? </p>

<technical-analysis>
Could Bitcoin be implemented without saving the block chain on the HDD?
d33tah
# Could Bitcoin be implemented without saving the block chain on the HDD?

(Asked by: username_0 on 2014-03-12)

Is the Bitcoin's copy of the block chain completely necessary? Couldn't we just store the current balances of all addresses, without keeping logs of their transactions as well?

**Tags:** technical-analysis


---

## 4 answers

### Answer by username_1 on 2014-03-12. Score: 4

Yes this is called an SPV client. See [this question](https://bitcoin.stackexchange.com/questions/4649/what-is-an-spv-client) here for detailed explanation of how SPV works. There are several of these today, most mobile wallets and the multibit wallet use SPV technology.


---

### Answer by username_2 on 2014-03-14. Score: 1

No, you can't. When a transaction refers to an unspent output, it refers to it by transaction ID and output number, not by address. So knowing that a particular address has a particular balance is not what you need to validate transactions. If you can't validate transactions, you can't validate blocks. If you can't validate blocks, you can't really do much of anything except trust some other server to do the real work for you.

Ripple implements accounts with balances instead of unspent outputs precisely to avoid this.


---

### Answer by username_3 on 2014-03-16. Score: 1

To answer your question completely:

1. It is possible to implement a Bitcoin client without the whole blockchain. In fact, many exist, including Electrum, MultiBit, Mycelium, etc.
2. However, it is not possible to implement the entire Bitcoin network without a full blockchain, unless you want to create a fundamentally new technology. Bitcoin thrives on the blockchain; it is what allows it to maintain a decentralized ledger. If no one kept track of transactions before block 200,000, you'd have to trust that whoever is maintaining the balances at that block 200,000 isn't making up numbers.


---

### Answer by username_4 on 2014-03-12. Score: 1

It's entirely possible for a node to store only the balances (Actually the UTXO, but it's conceptually similar). This is called blockchain pruning, and IIRC has been on the wishlist for a while.

The biggest problem is that to bootstrap a full node, it can't just take your word for what the set of balances should be, it needs proof. That proof is the full blockchain.

So even if 99% of nodes switch over to keeping pruned versions of the blockchain, we'll need a few that archive everything, so new full nodes can convince themselves of the correctness of the balances.


---

