The theory is that the witness data can be pruned after you download and verify it. This would reduce the space needed to store the full list of transactions.
This is the theory but I’m not sure there is much practical benefit.
Firstly, many nodes are probably already pruning out all the transactions they don’t care about which reduces storage space immensely.
Secondly, full nodes need to store that witness data so they can bootstrap new nodes.
Thirdly, between bandwidth and storage space, nodes are more likely bandwidth constrained. All that jpeg witness data needs to be downloaded and verified by every node.
Matt, what am I missing?
I heard about the theory of pruning the witness data during the 2017 fork wars, but haven't crossed it IRL. The only way of pruning AFAIK is pruning the total chain size by storing only the most recent blocks, but storing those in full. Would really like to know about actually pruning witness data. Unfortunately I'm not code-savvy enough to read the source 🥺