Grin v4.0.0 network upgrade (Hard Fork 3: July 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.3
April 02 2020

Important Block Heights and Dates

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

The third network upgrade is expected to happen in mid-July 2020. Compatible versions of grin node, grin-wallet, and grin-miner will be versioned 4.0.0 or greater. The first releases of these are scheduled for June.

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 v4.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.

Breaking Changes

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

Node:

  • Last planned tweak of AR proof-of-work algorithm. Grin remains true to its commitment to tweak CuckARoo as part of network upgrades in order to discourage manufacturers from building specialized ASIC hardware for it. As such, Cuckaroom 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.
  • Deprecate Node API v1: Retiring the first version of the Node API.
  • Parallel IBD: An improved process for initial sync and download of blockchain data.
  • Relative locked kernels: Enabling future use cases, such as payment channels.

Wallet:

  • Compact slates: A new, slate format designed to have as light footprint as possible.
  • Slate serialisation: A new method to serialise slates in order to reduce size in transport as much as possible.
  • Armored slates: An iteration of file based transacting with the intention to make it as user friendly as possible to copy/paste a slate file text on different mediums and devices.
  • Deprecate http listener for external addresses: Announcing the deprecation of support for unsecured http listeners, targeted for version 5.0.0 (Jan 2021).

Compatibility

To be confirmed.

Actions Required

To be confirmed.

Detailed contents & Status

Timeline

Date Milestone Description
2020-03-31 Scope freeze New functionality, improvements, and fixes targeted for the upgrade are defined, and prioritised.
May 2020 PoW Release New secondary proof of work is released along with a basic solver.
2020-06-02 Beta Binaries Release Release of grin, grin-wallet, grin-miner beta binaries.
2020-06-09 Code Freeze No changes are permitted on the branch to be released except critical bugs.
2020-06-16 Release candidate binaries Release of grin, grin-wallet, grin-miner binaries.
2020-06-17 Floonet upgrade Launch of Floonet hard fork and public testing.
2020-07-15 Mainnet upgrade Grin is forking to v4.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-05-15 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-06-01 1st Banner First banner on the website with a link to a summary of what will happen.
2020-06-16 2nd Banner Update banner on the website with binaries and urge ecosystem to upgrade.
2020-07-08 Final banner Update banner to urge mining pool and exchanges to upgrade.
Immediately following upgrade v4.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:

4 Likes

Update to version 0.3 of the announcement to include milestones and description of items that are currently considered in scope

1 Like