[Proposal] Add 10 more validators to the committee during election #2024-01-A-001

Overview

The Validator Committee is responsible for block proposing during each epoch. The current number of validators in the Committee is 40 at the moment.

Motivation

There are 40 validators will be elected during each epoch to participate in block signing. With the MAPO ecosystem getting bigger, more valuable and strong partners would like to join as validators to support the ecosystem’s growth. Hence, the team is proposing to add more validators to the committee during the election. In order to meet MAPO security standards, the new MGP-0006 is going to add 10 spots for new validators to join the consensus process.

Specification

The parameter involved with the change is

   struct ElectableValidators {
        uint256 min;
        uint256 max;
    }

The function that set the change is

    function setElectableValidators(uint256 min, uint256 max) public onlyOwner returns (bool) {
        require(0 < min, "Minimum electable validators cannot be zero");
        require(min <= max, "Maximum electable validators cannot be smaller than minimum");
        require(
            min != electableValidators.min || max != electableValidators.max,
            "Electable validators not changed"
        );
        electableValidators = ElectableValidators(min, max);
        emit ElectableValidatorsSet(min, max);
        return true;
    }

The proposed change to the function is

min = 1;
max = 50;

which means that there are 50 validators elected during an epoch.

Implementation

The modification of the validator committee number will be in

Election.sol 1

Security Considerations

None.

License

This work is licensed under the Apache License, Version 2.0.

On-chain Voting

https://staking.mapprotocol.io/#/governance/proposal/7