I do understand that every block is validated in terms of the blocks before it by way of the previous block's hash, all the way back to the genesis block. However, could the protocol be modified such that the blockchain is a sliding window over the most recent N number of blocks? How likely is it that some block from 1 year ago later turns out to be invalid?
2 Answers
How likely is it that some block from 1 year ago later turns out to be invalid?
Very unlikely, but I think that isn't the problem.
The problem is, how does a new user find out the current state (UTXO set or equivalent) without having to trust other parties? Any community has dishonest people preying on it.
You cannot ignore, expire or invalidate unspent UTXO from much earlier blocks. That is someone's savings and the community wont throw their savings away or arbitrarily take away their peers savings. To do so would undermine the credibility of the currency. Any such change would be ignored and not be adopted by the majority.
-
Could everyone trust at least the UTXO represented within the sliding window? If so could it work if the concept of coin expiration be added to solve this (in theory I mean - I realize this would probably be too large a change to be considered even if it might work). Commented May 4, 2021 at 16:14
-
@nocturna. I see no sound basis for that and expect it would open the way for fraud. We also need our money's value to persist and not evaporate. Commented May 4, 2021 at 16:19
-
How would it open the door to fraud? Whether dormant utxo evaporates or not is a value judgement and imho is better than persisting illegal and disgusting content on my computer by way of the blockchain. But anyway I’m trying to understand whether such a scheme would work assuming that one doesn’t have a problem with old utxo expiring. Commented May 4, 2021 at 17:09
-
For future readers, a similar scheme is discussed here: bitcoincashresearch.org/t/…. Looks like the objections are value-based as opposed to technical/cryptological. Commented May 4, 2021 at 18:10
If your objection is specifically to the requirement to store old blocks (as you hinted in a comment), then you might consider pruning - see How can I run bitcoind in pruning mode?.