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?

  • If you run a node in pruning mode, or a light client, you don't store the entire blockchain. – Pieter Wuille Jul 14 '18 at 1:26
  • 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 Jul 14 '18 at 14:10

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). 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 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).

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

| improve this answer | |

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.