Avatar
andrewtoth
10dc30b77d65c2884d0226d8ead2d52d50d766703ffdcefbf4a071b3e732fa67

This is wrong. Witness data is not stored in the UTXO set. Witness data is revealed when spending a UTXO, removing it from the UTXO set. Witness data is only in blocks and can be pruned.

Neat! How long does it take to finish syncing?

The problem with this is that connecting blocks to tip once you reach steady state will be much slower. Instead of looking up each input prevout from the set of utxos, you will have to lookup each input prevout from the set of all txos ever created.

The Bitcoin Core implementation only keeps a subset of utxos in memory, which by default is only 450 MB. The rest are on disk, which for this thought experiment you say we have plenty of.

Since blocks are limited to 4 MB, we will never have to exceed memory usage to process utxos in a block due to memory.

I don't think a sufficient number of utxos could cause it to fall over and crash.