As already pointed out, the
utreexo
accumulator is dynamic and needs to be computed from all blocks. Just as a heads-up, you can use utreexod or floresta if you want to get the current roots and prove a given utxo. Furthermore, the commitment scheme used in utreexo is a bit different (I keep pondering if I should add this torustreexo
or keep it as “we only have the accumulator algorithms”).
Thanks, I’ll update it to use the dynamic accumulator
Pretty cool to see someone looking at this. I did start something similar, but never finished. My goal was to commit the private key by hashing it at the end, so it couldn’t be replayed. I also commit to the current accumulator, so you can know exactly up to which height it is valid.
I added the private key hash at the end as well, as an attempt to create a private identifier for the output: Use priv key hash as identifier · halseth/utxozkp@6fd00e2 · GitHub
This should work since we are checking that the private key used as a preimage to the hash function also gives us the public key that is proven to be in the UTXO set.