Grin v5.0.0 network upgrade (Hard Fork 4: January 2021)

This post will be updated as there is progress, with an announcement in the comments section each time there’s a significant change.

Version 0.2
Nov 03 2020

Important Block Heights and Dates

Event Date or Block
Testnet Hard Fork Block Height TBD
Testnet Hard Fork Date (expected) 2020-12-08
Hard Fork Block Height 1,048,320
Hard Fork Date (expected) 2021-01-17 (est.)

Summary

As previously announced, Grin is making network wide upgrades through four scheduled hard forks in the first two years after launch. These are set in the code to occur in rough intervals of 6 months, at every 60*24*7*26 = 262,080 blocks:

  • Hard Fork 1: 262,080 Completed successfully
  • Hard Fork 2: 524,160 Completed successfully
  • Hard Fork 3: 786,240 Completed successfully
  • Hard Fork 4: 1,048,320.

The fourth network upgrade is expected to happen in mid-January 2021. Compatible versions of grin node and grin-wallet will be versioned 5.0.0 or greater. grin-miner will be unaffected. The first releases of these are scheduled for December.

This post describes breaking changes, timeline and communications that will take place, with the intention that the upgrade goes as smoothly as possible and that ecosystem participants can make the necessary preparations. It will be updated as necessary with additional information once available, so ensure to come back to it regularly.

Important Information:

  • Grin v5.0.0 is a network wide upgrade. Apart from updating their binaries in order to use Grin after the upgrade, users are not required to do anything. Stored grins will not be affected. Beware of scams telling you to move your coins elsewhere.
  • Unlike the previous three network upgrades, there will be no new secondary PoW algorithm announced, or new solver provided. The network is now converging to mine the primary Cuckatoo PoW algorithm indefinitely.
  • Staying true to the initial commitment before launch, there are no further hard forks or network upgrades scheduled. Any future network-wide upgrades will be done ad-hoc through co-ordination in the Grin community.

Changes

The following is a list of targeted changes. This section will be updated as required.

Node:

  • Improve transaction fee calculation, as outlined in this RFC proposal, still open for comments and improvement suggestions.
  • Improve difficulty adjustment algorithm, as outlined in this RFC proposal, still open for comments and improvement suggestions.
  • (Partial) Parallel IBD: Preparation for support of an improved process for initial sync and download of blockchain data.

Wallet:

  • Late locking of outputs: Removing the need for outputs to be locked during transaction building before the final stage.
  • Remove http listener for external addresses: As per the deprecation announcement with v4.0.0, remove support for unsecured http listeners in favour of the slatepack standard.

Detailed contents & Status

Timeline

Date Milestone Description
2020-10-13 Scope freeze New functionality, improvements, and fixes targeted for the upgrade are defined, and prioritised.
2020-11-24 Beta Binaries Release Release of grin, grin-wallet, grin-miner beta binaries.
2020-12-08 Testnet upgrade Launch of testnet hard fork and public testing.
2020-12-15 Release candidate binaries Release of grin and grin-wallet RC binaries.
2021-01-05 Final release Release of grin and grin-wallet binaries.
2021-01-17 (est) Mainnet upgrade Grin is forking to v5.0.0.

NB: Actual dates (but not the hard fork block height) may vary slightly based on the current circumstances.

Communication

Prior to the hard fork, the Grin community will communicate with the following medium:

Date Milestone Description
2020-10-30 Communication to exchanges and mining pools Communicate with exchanges and mining pools to make sure everyone is aware and are getting ready for the upgrade, offering assistance as required.
2020-12-01 1st Banner First banner on the website with a link to a summary of what will happen.
2021-01-03 2nd Banner Update banner on the website with binaries and urge ecosystem to upgrade.
2021-01-08 Final banner Update banner to urge mining pool and exchanges to upgrade.
Immediately following upgrade v5.0.0 banner Add a banner on the website informing about the hard fork, the changes introduced, and links to the latest binaries.

Contact

For any feedback, questions, concerns, or problems, please contact Daniel Lehnberg:

Changelog

  • v0.1, Oct 14: Initial draft
  • v0.2, Nov 03: Correct date typo
10 Likes

The year of the “mainnet upgrade” table element is wrong, should be 2021.

Thanks, this is now fixed :+1: