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

support for v2 txhashset (continuing to use v1 in mainnet and floonet) #3051

Merged
merged 1 commit into from
Sep 24, 2019

Conversation

antiochp
Copy link
Member

@antiochp antiochp commented Sep 20, 2019

Resolves #3011.

  • Cleanup TxKernelEntry wrapper (just store TxKernel directly in the kernel MMR data file)
  • Add support for reading/opening kernel MMR with v2 protocol version
  • Continue to support v1 kernel MMR -
    • all nodes on mainnet maintain v1 kernel MMR locally
    • fast sync will always provide v1 kernel MMR
    • but nodes now have the ability to read a v2 kernel MMR for future compatibility

This "future proofs" nodes so that once 2.1.0 is released and widely used we can think about letting nodes migrate to v2 kernel MMR.
Its not safe to do this today because nodes do not support v2 widely.
Fast sync can only really provide the same txhashset that is used locally as converting between v1/v2 cannot be done "on demand" or per fast sync request.

So this PR leaves all nodes continuing to use (and serve) v1 txhashset.
But with support for receiving a v2 txhashset in the future.


tl;dr Nodes maintain a txhashset locally, receive a txhashset during fast sync and serve a txhashset to peers when they fast sync.
We want add support for receiving a v2 txhashset. But we want to continue to maintain and serve txhashset files in v1 for now, until v2 is widely supported on the network.

@antiochp antiochp added this to the 2.1.0 milestone Sep 20, 2019
@antiochp antiochp merged commit 973a03c into mimblewimble:master Sep 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Variable size kernels: txhashset.zip v2 support
2 participants