utreexo icon indicating copy to clipboard operation
utreexo copied to clipboard

WIP: enable backwards validation

Open adiabat opened this issue 5 years ago • 2 comments

could be fun! Start at the tip, and work back to the genesis block

adiabat avatar Jul 21 '20 22:07 adiabat

The "easy" way would be for every udata to also include a rootSet of what the starting state of the accumulator should be. This is redundant for clients going forward since they already have it, and I think it's also redundant for clients going backwards. But -- it's simple to verify for the backwards clients.

It seems there's also a fancier version where the backwards clients figure this out without any hints from the server, but I need to figure out how that works. For example, in blocks with no proofs (empty blocks which don't consume any utxos but just reward the miner), you need to defer linking up the rootSets, as you know what to add (the miner utxo) but there's nothing to remove and no proofs to verify.

adiabat avatar Jul 22 '20 04:07 adiabat

We are already distingushing between backwards and forwards clients so sending the rootsets to backwards clients only would also work.

dergoegge avatar Jul 22 '20 11:07 dergoegge