Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

main, mempool, blockchain, wire, wallet: initial mempool support for partial proofs #85

Conversation

kcalvinalvin
Copy link
Contributor

Adds code so that the proof is cached and then regenerated for receiving and sending txs to utreexo nodes.

On verification, there's an option for the accumulator to cache the
proof and the hashes so that they can be proven at a later date. The
change here exposes that option to the callers of verifyudata.
IsCompact returns whether or not the leafdata is in the compact form or
not. Useful for determining if the correct hash can be genereated from
just the leaf data or if additional data is needed.
PruneFromAccumulator can be used for csn nodes to prune away the given
hashes from the accumulator.
For utreexo CSN to CSN proof serving, each node needs to keep track of
the proof for the given mempool tx. The change made here introduces a
pool of leaf datas that are stored in the mempool and when adding
transactions to the pool, the accumulator proof for that is cached in
the accumulator as well.

This code is mostly for the p2p to eventually support receiving and
serving partial proofs for utreexo peers.
@kcalvinalvin kcalvinalvin force-pushed the 2023-11-06-initial-mempool-support-for-partial-proofs branch from 20b4fae to d6edbc6 Compare November 10, 2023 04:42
@kcalvinalvin kcalvinalvin merged commit 877de3e into utreexo:main Nov 13, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant