Expand description

UData is the serialized data used for proof propagation in utreexo. It contains all data needed for validating some piece of information, like a transaction and a block.

Modules

Structs

  • BatchProof serialization defines how the utreexo accumulator proof will be serialized both for i/o.
  • Commitment of the leaf data, but in a compact way
  • Leaf data is the data that is hashed when adding to utreexo state. It contains validation data and some commitments to make it harder to attack an utreexo-only node.
  • UData contains data needed to prove the existence and validity of all inputs for a Bitcoin block. With this data, a full node may only keep the utreexo roots and still be able to fully validate a block.
  • A block plus some udata

Enums

  • A recoverable scriptPubkey type, this avoids copying over data that are already present or can be computed from the transaction itself. An example is a p2pkh, the public key is serialized in the scriptSig, so we can just grab it and hash to obtain the actual scriptPubkey. Since this data is committed in the Utreexo leaf hash, it is still authenticated