Author

Topic: Why nodes need to maintain full list of blocks? (Read 133 times)

legendary
Activity: 4466
Merit: 3391
I mean, why Bitcoin nodes keep all the data of all blocks, back to the genesis block? The majority of this information is not required for processing new blocks and may be ignored. Well, some statistical resources should still keep it, but to run a node it's possible to just delete the majority of historical data. Am I right?

Once a database of the UTXOs is constructed, the blocks are no longer needed. The blocks are kept in order to provide them to other nodes and to reconstruct the UTXO database when necessary. Blocks must also be kept for resolving branches.
hero member
Activity: 718
Merit: 545
I'm just going to say it -  It's impossible that there is a fraudulent transaction 1 year behind the top block.
staff
Activity: 3304
Merit: 4115
By running exact copies you're assuring that the code hasn't been altered, and the Blockchain hasn't been altered in anyway. There isn't any malicious transactions such as spending on one network, but not spending on another. The copies simply verify that everyone has the same Blockchain. They check against each other for any abnormalities.
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Basically, those blocks are required for verification process such as :
1. Checking whether input is actually exist (not comes from thin air)
2. Checking whether an input is spendable by looking at UTXO scripting

You could ask another node to send their current chainstate, but it won't solve the root problem.

Few relevant question :
https://bitcoin.stackexchange.com/q/43489
https://bitcoin.stackexchange.com/q/72341
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Additionally to what other said above
 
The main reason is trust.

When a new full node comes in, it just needs the Genesis block and then it starts checking all past transactions without trusting anyone but the Genesis block.

If someone decided"after block xxxxx we don't need to verify back transactions anymore" we would need to trust that there is no single malicious transaction in that registry.
legendary
Activity: 1876
Merit: 3132
Well, some statistical resources should still keep it, but to run a node it's possible to just delete the majority of historical data. Am I right?

It is possible to run a node in a pruned mode. Once your node has downloaded all the blocks and verified them, it gets rid of most data. Note that you won't be able to import new addresses and rescan the wallet once you enable it.
jr. member
Activity: 42
Merit: 1
I mean, why Bitcoin nodes keep all the data of all blocks, back to the genesis block? The majority of this information is not required for processing new blocks and may be ignored. Well, some statistical resources should still keep it, but to run a node it's possible to just delete the majority of historical data. Am I right?
Jump to: