Skip to main content
added 74 characters in body
Source Link
Pieter Wuille
  • 109.7k
  • 9
  • 202
  • 318

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around, and it's unnecessary to have access to the chain's data for validation. Storing the block data or not is pretty much irrelevant for energy usage.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around, and it's unnecessary to have access to the chain's data for validation.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around, and it's unnecessary to have access to the chain's data for validation. Storing the block data or not is pretty much irrelevant for energy usage.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

added 72 characters in body
Source Link
Pieter Wuille
  • 109.7k
  • 9
  • 202
  • 318
added 72 characters in body
Source Link
Pieter Wuille
  • 109.7k
  • 9
  • 202
  • 318

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around, and it's unnecessary to have access to the chain's data for validation.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

Perhaps more a clarification than an answer: there is absolutely no need for validating nodes to keep a copy of the full historical blockchain around, and it's unnecessary to have access to the chain's data for validation.

In Bitcoin Core (a fully-validating node that's often considered a reference implementation), there is a possibility of running in "pruned" mode, where all blocks are downloaded and fully validated, one by one, but deleted from disk afterwards. This is possible because the full block data is actually not necessary for validating future full blocks; only the set of unspent transaction outputs created by that block need to be retained. This is done in a separate database that is only a few GB in size, compared to a few 100 GB for the full blockchain.

The only impact this pruning mode has is not being able to scan for historical transactions (e.g. you can't import an old wallet because it won't be able to find those old transactions), and being unable to provide the historical blockchain to new nodes that are still synchronizing (which they need, even if they'll eventually prune that data away too).

Source Link
Pieter Wuille
  • 109.7k
  • 9
  • 202
  • 318
Loading