<p>The bitcoin blockchain is a record of all transactions. This allows the user to independently validate transactions, and thus verify the authenticity of coins. However, <em>you don't need to store all of the transactions for all time, by running a 'pruned node' you can keep disk-space usage low, while still verifying all transactions.</em> </p>

<p>Background: <a href="https://bitcoin.stackexchange.com/questions/4301/what-is-an-unspent-output">bitcoins exist as 'Unspent Transaction Outputs' (UTXOs)</a>. Each individual transaction will consume some number of UTXOs as inputs*, and create new UTXO(s) as output(s). </p>

<p>Under this model, you can trace a UTXO back in time in order to validate it as being an authentic bitcoin transaction. For example, consider some bitcoin you receive today, lets call it 'UTXO-3'. In a simplified manner, you could trace the history of this UTXO-3 (to it's input 'UTXO-2', and so forth), until you find the coinbase transaction that mined the coins.</p>

<p>So ,going back in time, from your UTXO-3:</p>

<p>UTXO-3 &lt;- UTXO-2 &lt;- UTXO-1 &lt;- Newly mined coins</p>

<p><strong>This allows a bitcoin (UTXO) to be traced back to it's origin on the blockchain, which means you can validate it as an authentic bitcoin.</strong> Without this feature, you would be unable to verify for yourself that the bitcoin in question was created in a way which follows the network's rules. As mentioned above, bitcoin's design allows you to perform this verification without explicitly storing all transactions for all time (by running a pruned node). </p>

<p>Additionally, as Pieter mentioned in a comment, a user has the option to use a light-client, which does not require the user to store a copy of the blockchain locally (although this employs a slightly different trust model than running a full-node yourself).</p>

<p>.* <em>(the exception to this rule is a coinbase transaction, which follows special rules to generate coins, without having any inputs)</em></p>

CC BY-SA 4.0
2022-02-19T20:46:52.370Z
Today I heard about the [hashgraph](https://www.youtube.com/watch?v=SF362xxcfdk) with which you can dump all the history of the networks data.
xralf
CC BY-SA 4.0
2018-07-14T01:53:07.653Z
2018-07-14T01:53:07.653Z
chytrik
<p>Bitcoin stores all the transactions that happened
in the blockchain.</p>

<p>Are really all the transactions needed? What good is it
to have transactions ten years old stored. Isn't it a waste
of discspace?</p>

CC BY-SA 4.0
2018-07-14T01:26:10.100Z
If you run a node in pruning mode, or a light client, you don't store the entire blockchain.
Pieter Wuille
CC BY-SA 4.0
2018-07-14T14:10:21.483Z
It really depends on how much certainty you want in the validity of a transaction. The more info you have, the more sure you can be that the transactions you're interested in are actually valid.
JBaczuk
<transactions><blockchain>
What good is to store all the transactions in the history
xralf
# What good is to store all the transactions in the history

(Asked by: username_0 on 2018-07-14)

Bitcoin stores all the transactions that happened
in the blockchain.

Are really all the transactions needed? What good is it
to have transactions ten years old stored. Isn't it a waste
of discspace?

**Tags:** transactions, blockchain

> **Comments:**
> **username_1**: If you run a node in pruning mode, or a light client, you don't store the entire blockchain.  
> **username_2**: It really depends on how much certainty you want in the validity of a transaction. The more info you have, the more sure you can be that the transactions you're interested in are actually valid.  

---

## 1 answers

### Answer by username_3 on 2018-07-14. Score: 5 | Accepted answer

The bitcoin blockchain is a record of all transactions. This allows the user to independently validate transactions, and thus verify the authenticity of coins. However, *you don't need to store all of the transactions for all time, by running a 'pruned node' you can keep disk-space usage low, while still verifying all transactions.*

Background: [bitcoins exist as 'Unspent Transaction Outputs' (UTXOs)](https://bitcoin.stackexchange.com/questions/4301/what-is-an-unspent-output). Each individual transaction will consume some number of UTXOs as inputs\*, and create new UTXO(s) as output(s).

Under this model, you can trace a UTXO back in time in order to validate it as being an authentic bitcoin transaction. For example, consider some bitcoin you receive today, lets call it 'UTXO-3'. In a simplified manner, you could trace the history of this UTXO-3 (to it's input 'UTXO-2', and so forth), until you find the coinbase transaction that mined the coins.

So ,going back in time, from your UTXO-3:

UTXO-3 <- UTXO-2 <- UTXO-1 <- Newly mined coins

**This allows a bitcoin (UTXO) to be traced back to it's origin on the blockchain, which means you can validate it as an authentic bitcoin.** Without this feature, you would be unable to verify for yourself that the bitcoin in question was created in a way which follows the network's rules. As mentioned above, bitcoin's design allows you to perform this verification without explicitly storing all transactions for all time (by running a pruned node).

Additionally, as username_1 mentioned in a comment, a user has the option to use a light-client, which does not require the user to store a copy of the blockchain locally (although this employs a slightly different trust model than running a full-node yourself).

.\* *(the exception to this rule is a coinbase transaction, which follows special rules to generate coins, without having any inputs)*

> **Comments:**
> **username_0**: Today I heard about the [hashgraph](https://www.youtube.com/watch?v=SF362xxcfdk) with which you can dump all the history of the networks data.  

---

