On Sat, Feb 18, 2023 at 5:11 AM vjudeu via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > > Also, it gives us a hint, that if any Script upgrade will be considered in > the future, we can think about doing it in a way, where unused parts can be > pruned, without invalidating signatures. > FWIW, pruning unused case branches is a core design principle of the Simplicity language I am developing. That being said, even this is not enough to thwart agents that specifically desire to post unused data blobs as part of their programs. This is largely because there are many mathematical expressions for what is equivalently an identity function. Think computing (x ^ 257) mod 257 (see Fermat's little theorem). Even in Simplicity users can write Word **; unit which is roughly equivalent PUSH ** DROP in Script. I don't even bother trying to prevent it. Doing so just adds more consensus complexity, and only raises the bar slightly on how to work around it. Simplicity's pruning is instead meant as a way to (usually) lower costs for users who aren't actively trying to spam the network.