Skip to content

3.0.1

Compare
Choose a tag to compare
@bijianing97 bijianing97 released this 11 Aug 07:36
· 8 commits to master since this release

Upgrade Background

As a new EVM-compatible public chain, REI Network has made continuous progress in self-iteration and performance exploration. After REI Network introduced the "Better POS" module on November 30, 2022, REI Network will usher in another major upgrade. In this upgrade, we have introduced the bls signature and the on-chain parameter management module. We call this upgrade REI DAO Hard Fork.

Version

REI DAO

Upgrade Guide

It's a hard fork version upgrade. All nodes need to complete the upgrade before the block height of 15084585 (approximately 2023-9-11 02:00:00 UTC), otherwise the nodes cannot continue to synchronize after the hard fork. Please refer to the upgrade guide for details.

Version Features

This hard fork includes:

  • Introduce the bls signature. After the validator registers the bls public key, it uses the bls signature algorithm to sign the block, and each validator aggregates the signatures, which reduces the size of the block, and improves the block production efficiency and validator security.

    NOTE: You can find the documentation for generating and registering bls here

    In the previous startup commands, the validator needs to unlock the private key, for example

     rei --datadir ~/reiDataDir --mine --coinbase 0xFF96A3BfF24DA3d686FeA7BD4bEB5ccFD7868DdE --unlock 0xFF96...DdE --password ~/password

    After updating the program, the validator needs to add the bls unlock command, for example

     rei --datadir ~/reiDataDir --mine --coinbase 0xFF96A3BfF24DA3d686FeA7BD4bEB5ccFD7868DdE --unlock 0xFF96...DdE --password ~/password --bls-password ~/blspassword --bls-file UTC--2023-03-03T00-05-58.026Z--0xaa257914ddc6207fb4706e6fb2116e61d7b2cfdcab0a81a55ff7b16f7fe05bb8751de51c0fe272084f8a3a47dcfa6170.json

    You need to add two parameters: --bls-password and --bls-file, --bls-password to unlock the bls keystore, --bls-file is the corresponding file path of bls keystore.

    NOTE: After the block 15084585, the validator can remove --unlock and --password parameters, no need to unlock the account private key when the validator starts.

    NOTE: You can find the how to to verify that bls started correctly here

  • The logic of validator election is optimized, which improves the efficiency of block production.

  • Change some of the on-chain parameters to be controllable by the contract, such as: block rewards, number of validators, etc., to facilitate better-decentralized governance.

  • Modified the slash logic for double-signature: after the hard fork, the double-signature validator will be frozen to wait for the ruling from the DAO. In this upgrade, the double-signature penalty amount before the fork will be returned to the DAO address after the hard fork to wait for the ruling.

Related RIPs