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

Document how we review consensus rule changes after audits #3186

Closed
Tracked by #2311 ...
teor2345 opened this issue Dec 9, 2021 · 2 comments
Closed
Tracked by #2311 ...

Document how we review consensus rule changes after audits #3186

teor2345 opened this issue Dec 9, 2021 · 2 comments
Labels
A-consensus Area: Consensus rule updates A-docs Area: Documentation C-security Category: Security issues I-consensus Zebra breaks a Zcash consensus rule

Comments

@teor2345
Copy link
Contributor

teor2345 commented Dec 9, 2021

Motivation

We are about to finish implementing all the Zcash consensus rules for a validating node, and get Zebra audited. After the audit, we will need to make sure Zebra keeps implementing the same consensus rules.

Consensus rule changes can happen due to:

  • spec or ZIP changes
  • Zebra consensus rule bugs
  • refactors
  • dependency updates

Scheduling

We should spend an hour or two creating a draft document, then update it later as needed.

This should include the mempool rule documentation in #3188.

Process Changes

We should document the requirements for new consensus rules, and consensus rule updates:

  • quote the consensus rule from the spec or ZIP
  • link to the relevant section in the spec or ZIP
  • explain how Zebra implements it
  • test success and failure cases for the consensus rule
  • validate test vectors from zcashd, if available

We should also document how we identify the code that can change consensus rules:

  • the function that implements the consensus rule
  • all code that it calls, including other Zebra crates, and external dependencies
  • any code that changes the data that's given to the function (for example, calling the function on different transaction versions)

Here is the ECC's policy for zcashd reviews:
#5996 (comment)

Related Work

@teor2345 teor2345 added A-docs Area: Documentation A-consensus Area: Consensus rule updates S-needs-triage Status: A bug report needs triage P-Medium C-security Category: Security issues I-consensus Zebra breaks a Zcash consensus rule labels Dec 9, 2021
@mpguerra
Copy link
Contributor

@mpguerra mpguerra removed the S-needs-triage Status: A bug report needs triage label Jan 14, 2022
@mpguerra mpguerra mentioned this issue Jan 27, 2022
40 tasks
@mpguerra mpguerra moved this to 🆕 New in Zebra Sep 22, 2022
@mpguerra mpguerra added this to Zebra Sep 22, 2022
@teor2345
Copy link
Contributor Author

This is effectively a duplicate of #5996, and it's a bit outdated.

@teor2345 teor2345 closed this as not planned Won't fix, can't repro, duplicate, stale Jun 14, 2023
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Zebra Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-consensus Area: Consensus rule updates A-docs Area: Documentation C-security Category: Security issues I-consensus Zebra breaks a Zcash consensus rule
Projects
Archived in project
Development

No branches or pull requests

2 participants