Grin v3.0.0 Hard Fork upgrade (Jan 2020)

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.1
September 8 2019

Important Block Heights and Dates

Event Date or Block
Testnet Hard Fork Block Height TBA
Testnet Hard Fork Date (expected) TBA
Hard Fork Block Height 524,160
Hard Fork Date (expected) 2020-01-15 (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 successfuly
  • Hard Fork 2: 524,160
  • Hard Fork 3: 786,240
  • Hard Fork 4: 1,048,320.

The second network upgrade is expected to happen in mid-January 2020. Compatible versions of grin node, grin-wallet, and grin-miner will be versioned 3.0.0 or greater. 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.

Important Information:

Grin v3.0.0 is a network wide upgrade. Apart from updating their binaries in order to transact 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.

Breaking Changes

The following is an incomplete list of breaking changes. This section will be updated as required until scope has been finalized.

Node:

  • New secondary proof-of-work. Grin remains true to its commitment to tweak CuckARoo as part of every upgrade in order to discourage manufacturers from building specialized ASIC hardware for it. As such, Cuckarood29 will be deprecated for a new algorithm, its details yet to be announced. There will be a forum post defining the algorithm in advance, alongside corresponding pull requests. Mining software must upgrade their solver.
    • Definition: To be announced.
    • Cuckoo Cycle repository: https://github.com/tromp/cuckoo
    • Corresponding Grin HF PoW PR: To be announced.
    • Grin-miner pull request: To be announced.

Wallet:

To be confirmed.

Compatibility

To be confirmed.

Actions Required

To be confirmed.

Timeline

Date Milestone Description
TBC PoW Release New secondary proof of work is released along with a basic solver.
2019-10-31 Scope freeze New functionality, improvements, and fixes targeted for the upgrade are defined and communicated
Early december Beta Binaries Release Release of grin, grin-wallet, grin-miner beta binaries.
Late dec Release candidate binaries Release of grin, grin-wallet, grin-miner binaries.
Early Jan Floonet upgrade Launch of Floonet hard fork and public testing.
TBC Code Freeze No changes are permitted on the branch to be released except critical bugs.
2020-01-15 Mainnet upgrade Grin is forking to v3.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
2019-12-01 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.
2019-12-15 1st Banner First banner on grin-tech.org with a link to a summary of what will happen.
TBC 2nd Banner Update banner on grin-tech.org with binaries and urge ecosystem to upgrade.
2020-01-08 Final banner Update banner to urge mining pool and exchanges to upgrade.
Immediately following upgrade v3.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:

11 Likes

Great keep moving :+1: