Why Full Node stores whole blockchain instead of only the UTXO set?

You are right, and it seems this answer is outdated.

The concept of a UTXO set is more recent than Bitcoin itself. The original software kept a database with information on every transaction output ever created, including whether it was already spent. In that setting, the UTXO set was only defined implicitly by the spentness information in that database.

Bitcoin Core 0.8 (back then still just called Bitcoin) was the first full node software version to make the UTXO set explicit. At the time (2013) it was known that it was possible to also actually delete old block data after validation, as the UTXO set was maintained separately. It was only in 2016 with Bitcoin Core 0.12 that this was actually implemented using a feature known as pruning.

Historically speaking, the answer in the course was not wrong: UTXO maintenance used to imply having the full database. Since the introduction of pruning this is however no longer the case.

Source link

Leave a Comment

Your email address will not be published. Required fields are marked *