<div>Peter Todd &amp; Eric Lombrozo,<br></div><div><br></div><div>I also think communicating the UTXO would be increadibly useful.&nbsp; I just made a writeup called "Synchronization Checkpoints" on github. "<a href="https://github.com/bitcoin/bitcoin/issues/9885">https://github.com/bitcoin/bitcoin/issues/9885</a>"&nbsp; This idea also doesn't use commitments.<br></div><div><br></div><div>But... Commitments would be a plus, because then we having all of the miners verifying the UTXO.&nbsp; Below I brainstorm on how to make this happen with my "Synchronization Checkpoints" idea.<br></div><div><br></div><div>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.<br></div><div><br></div><div>- 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.<br></div><div>- I'll point out that blocks are like "incremental diffs" to the UTXO state.<br></div><div><br></div><div>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:<br></div><div>1. Maintain a DB table who's only purpose is to sort UTXO.txid concat UTXO.vout.index.<br></div><div>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.<br></div><div>3. Merkle tree or bittorrent style hash the UTXO Checkpoint File<br></div><div>4. Party!<br></div><div><br></div><div>Cheers,<br></div><div>Praxeology<br></div>