Peter Todd & Eric Lombrozo,

I also think communicating the UTXO would be increadibly useful. I just made a 
writeup called "Synchronization Checkpoints" on github. 
"https://github.com/bitcoin/bitcoin/issues/9885"; This idea also doesn't use 
commitments.

But... Commitments would be a plus, because then we having all of the miners 
verifying the UTXO. Below I brainstorm on how to make this happen with my 
"Synchronization Checkpoints" idea.

I think if there were commitments, such would not be feasible without it being 
a commitment on the UTXO as it was N blocks in the past rather than the highest 
block's UTXO set... because just one little fork of height 1 would be a big 
waste of effort for the miners.

- Miners would put a commitment at the current Checkpoint Block that would be a 
hash of the full state of the UTXO at the previous Checkpoint Block.
- I'll point out that blocks are like "incremental diffs" to the UTXO state.

I was thinking that say if a miner and other nodes are OK with storing multiple 
copies/backups of the UTXO state then to make this work with high performance:
1. Maintain a DB table who's only purpose is to sort UTXO.txid concat 
UTXO.vout.index.
2. Some Wait for no Forks blocks after a CheckPoint Block is made, begin 
populating a new UTXO Checkpoint File that is a serialized sorted UTXO set.
3. Merkle tree or bittorrent style hash the UTXO Checkpoint File
4. Party!

Cheers,
Praxeology
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to