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