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

Describe PeerSets behavior at a network upgrade's activation height #3181

Merged
merged 2 commits into from
Dec 13, 2021

Conversation

jvff
Copy link
Contributor

@jvff jvff commented Dec 9, 2021

Motivation

ZIP-201 describes how a Zcash node should behave when it reaches a network upgrade activation height. Zebra doesn't implement all the details specified there, so we need to document what it does implement and what it doesn't and why.

This closes #706.

Specifications

The motivation for ZIP-201 is:

With scheduled network upgrades, at the activation height, nodes on each consensus branch should disconnect from nodes on other consensus branches and only accept new incoming connections from nodes on the same consensus branch.

Solution

The specification itself contains many details that are zcashd specific, so in this PR we document the behavior of zebra and how it satisfies the original motivation for ZIP-201, while also describing why other details don't need to be implemented.

Review

@teor2345 can review this, since they have recently reviewed the implementation code in #3108.

Reviewer Checklist

  • Code implements Specs and Designs
  • Tests for Expected Behaviour
  • Tests for Errors

@zfnd-bot zfnd-bot bot assigned jvff Dec 9, 2021
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, we could merge this as it is.

But we might want to describe the number of connected peers in a bit more detail.

zebra-network/src/peer_set/set.rs Outdated Show resolved Hide resolved
ZIP-201 describes how a Zcash node should behave when it reaches a
network upgrade activation height. Zebra doesn't implement all the
details specified there, so we need to document what it does implement
and what it doesn't and why.
@jvff jvff force-pushed the document-peer-set-network-upgrade-behavior branch from 1754d64 to 6dbb356 Compare December 10, 2021 21:40
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@mpguerra mpguerra merged commit 7bc2f0a into main Dec 13, 2021
@mpguerra mpguerra deleted the document-peer-set-network-upgrade-behavior branch December 13, 2021 10:17
@teor2345 teor2345 mentioned this pull request Dec 21, 2021
26 tasks
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.

Justify our alternative to "evicting pre-upgrade peers from the peer set across a network upgrade"
3 participants