Hello, everyone.Can a Bitcoin node build a partial UTXO set from only the most recent blocks and use it to validate new transactions?
I am investigating whether a storage-constrained Bitcoin node could retain only the most recent (N) blocks, construct a partial UTXO set from those blocks, and use that partial UTXO set to independently validate newly received transactions. The basic idea would be: recent (N) blocks → construct a partial UTXO set → validate a new transaction locally if all of its input UTXOs are available in that partial set. However, I see a potential bootstrap problem. Suppose the node starts with only the most recent (N) blocks. Some transactions in the earliest retained blocks may spend outputs created before the retained window. Without the earlier UTXO state, the node cannot fully validate those inputs. If the node therefore cannot fully validate those blocks, can it safely treat the outputs created by those blocks as valid UTXOs and progressively construct a partial UTXO set from them? More generally: Is it technically feasible for a Bitcoin node to construct a trustworthy pa...