Skip to content

HIP 73: Consensus Deselection Weighting #491

@vincenzospaghetti

Description

@vincenzospaghetti

HIP 73: Consensus Deselection Weighting

Author(s): @paulm
Start Date: 2022-10-03
Category: Technical
Original HIP PR: #490
Tracking Issue: #491
Code PR: helium/blockchain-core#1468

Summary

This change introduces a new, tunable, chain variable that improves the performance of the current Helium L1 by changing the selection algorithm of new Consensus Group members. This change specifically adjusts the weight given to historical penalties when selecting existing Consensus Group members to be removed. By reducing (or even zeroing out) the previous penalties of Consensus Group members, performance penalties earned in the current epoch have a larger impact on the selection. This will help eject poor performers from the Consensus Group more quickly and maintain the overall high performance of the chain.

The core developers will have the discretion to set this new chain var (election_penalty_history_percentage) as they see fit to promote the performance of the blockchain. Because it does change election dynamics which have a direct impact on validator operators, the core devs and I fell it is best to bring this change as a HIP with a vote amongst at least validator operators as they are the ones primarily affected.

The code for the change is already merged and tagged for release. However, it will be activated only upon HIP approval by the setting of election_version >= 7.

Motivation

The motivation for this change is to enable quicker removal of low-performing validators from the consensus group. With the current election system, we often see obvious low performers with high total penalties continue to remain in the consensus group. For example, the screenshot of CG member total penalty over time shows clear outliers who persist in the group despite amassing penalties 4x to 5x higher than average.

image

This change will help to remove these poor performers more quickly, by giving higher weight to performance penalties in the current epoch.

Rendered View

https://github.com/helium/HIP/blob/main/0073-consensus-deselection-history-weight.md

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions