I don't think they're the only options. Am I right in thinking that the objectionable content put in op_return is prunable? Eventually most nodes will have to be pruned anyways. Maybe the other option is making lightning nodes work with pruned nodes and just being more okay with pruning.
Login to reply
Replies (3)
Pruning isn't by field type. Pruning means keeping the UTXO set and a certain count of blocks or space dedicated to storing blocks. Even pruned you are storing that chain content until it ages out of your block storage.
In order to validate you need to be able to hash the entire block. Change any field and the hash changes. The hash from last block is included in the next block so you can't tell if it is valid unless you have the entire block before that which you can't tell if it is valid unless you have the entire block before that, and so on forever back to the Genesis block.
Pruning works by validating the entire chain then discarding and trusting your own prior work.
All you need is the hash.
I thought the point of the op_return increase was to minimize the utxo set.
IMO it was never realistic for every block to keep the whole chain. What about 300 years in the future? To assume storage will continue getting cheaper forever is silly. Maybe, maybe not. Its just not an assumption that should ever have passed inspection.
A hash without any context is just a random 256 byte string. Don't have the block? You have no way to know if that is the correct hash or some random numbers I made up. At that level of trust you are wasting your time running a node at all.
The UTXO set is not the entire chain. The UTXO set is the location of all spendable coins, plus some spam in unfortunate block fields that we can't tell from spendable coins. A pruned node keeps the entire UTXO set plus its limited chain.