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

Require NU5 checkpoints regardless of zebrad.toml settings #6178

Closed
teor2345 opened this issue Feb 16, 2023 · 0 comments
Closed

Require NU5 checkpoints regardless of zebrad.toml settings #6178

teor2345 opened this issue Feb 16, 2023 · 0 comments
Labels
A-consensus Area: Consensus rule updates C-bug Category: This is a bug I-invalid-data Zebra relies on invalid or untrusted data, or sends invalid data I-lose-funds Zebra loses user funds S-needs-triage Status: A bug report needs triage

Comments

@teor2345
Copy link
Contributor

teor2345 commented Feb 16, 2023

Motivation

Mainnet nodes must check that their chain contains NU5 before:

  • risking funds, including mining
  • displaying transactions to users, including through lightwalletd

Ticket #5912 fixes this issue for the default config, so this is a low priority. It only affects configs generated before March 2022, or manually edited configs.

Specifications

A network upgrade is settled on a given network when there is a social consensus that it has activated with a given activation block hash. A full validator that potentially risks Mainnet funds or displays Mainnet transaction information to a user MUST do so only for a block chain that includes the activation block of the most recent settled network upgrade, with the corresponding activation block hash. Currently, there is social consensus that NU5 has activated on the Zcash Mainnet and Testnet with the activation block hashes given in § 3.12 ‘Mainnet and Testnet’ on p. 20.

https://zips.z.cash/protocol/protocol.pdf#blockchain

Complex Code or Requirements

We already have a mandatory checkpoint height, we just need to increase it.

We could also just ignore the checkpoint_sync setting, but that is more complicated, and it would make our CI images larger. (And maybe make the tests take longer.)

Testing

This has an existing CI test, we'll need to make the regenerate-stateful-disks job into a long test:

  1. regenerate-stateful-disks:

    is_long_test:
    required: false
    type: boolean
    default: false
    description: 'Does this test need multiple run jobs? (Does it run longer than 6 hours?)'

  2. And then run it manually using "run workflow" on the branch for this ticket: https://github.com/ZcashFoundation/zebra/actions/workflows/continous-integration-docker.yml

Related Work

Follow up to:

@teor2345 teor2345 added C-bug Category: This is a bug A-consensus Area: Consensus rule updates S-needs-triage Status: A bug report needs triage P-Low ❄️ I-invalid-data Zebra relies on invalid or untrusted data, or sends invalid data I-lose-funds Zebra loses user funds labels Feb 16, 2023
@mpguerra mpguerra added this to Zebra Feb 16, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in Zebra Feb 16, 2023
@teor2345 teor2345 changed the title Increase the required network upgrade to NU5 Increase the required network upgrade to NU5 regardless of zebrad.toml settings Feb 16, 2023
@teor2345 teor2345 changed the title Increase the required network upgrade to NU5 regardless of zebrad.toml settings Require NU5 checkpoints regardless of zebrad.toml settings Feb 16, 2023
@mpguerra mpguerra closed this as not planned Won't fix, can't repro, duplicate, stale Oct 14, 2024
@github-project-automation github-project-automation bot moved this from New to Done in Zebra Oct 14, 2024
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 C-bug Category: This is a bug I-invalid-data Zebra relies on invalid or untrusted data, or sends invalid data I-lose-funds Zebra loses user funds S-needs-triage Status: A bug report needs triage
Projects
Archived in project
Development

No branches or pull requests

2 participants