<div>TL;DR: using spentness bits scales linearly... vs swapping digest leafs with empties can scale with logorithmically increasing storage requirements.&nbsp; So if you are using a 32 byte hash and spentness bits, you are pretty much limited to only being able to prune 8 to 12 layers.&nbsp; This corresponds to an MMR proof length of 512 to 768 bytes.<br></div><div><br></div><div>===============<br></div><div><br></div><div>After doing some calculations:<br></div><div>Given that the spentness bit fields are 1 bit per txo, and markle hash size is 32 bytes... When using spentness bits in the merkle tree hashes instead of setting leaf nodes to empty, increasing the DLH_REQUIRED beyond 8 quickly has diminishing returns.<br></div><div><br></div><div>With DLH_REQUIRED = 8, the spentness bits take up 30% of the data structure's space.&nbsp; MMR proof size = 512 bytes.<br></div><div><br></div><div> With DLH_REQUIRED = 12, the spentness bits take up 87% of the data structure's space.&nbsp; MMR proof size = 768 bytes.<br></div><div><br></div><div>Using stats from blockchain.info (I know not very reliable)... I figure there would be about 12E6 delayed utxo only txos added to an MMR per year w/ the current block size.&nbsp; 200E6 txo/year added to the MMR per year if spent txos are added too.<br></div><div><br></div><div>Using DLH_REQUIRED = 12 (or 8)<br></div><div>With 12E6 txo/year added to the MMR, the MMR grows by about 1.5MB (or 5MB) per year.<br></div><div>With 200E6 txo/year added to the MMR, the MMR grows by about 27.5MB (or 80MB) per year.<br></div><div><br></div><div>Since the spentness bits are not in any way compressed by the MMR tree...&nbsp; this puts a hard limit on the potential gains by pruning more.<br></div><div><br></div><div>A growth rate of 27MB to 80MB per year for adding all txos to the MMR doesn't sound too bad.&nbsp; But if the block size is increased, we may soon decide we'd rather switch from using spentness bits to changing digest nodes to empty nodes.&nbsp; Only adding utxos at a delayed time gives more breathing room.<br></div><div><br></div><div>Cheers,<br></div><div>Praxeology Guy<br></div><div><br></div><div>P.S. This analysis also applies to Bram Cohen's "TXO bitfield".&nbsp; Instead of DLH_REQUIRED, his node with spendess bits would be at a block with about 4000 txos, which just happens to equal a DLH_REQUIRED = 12.<br></div>