Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[move] Enhance Vouch System for Validator Security #298

Open
soaresa opened this issue Aug 5, 2024 · 0 comments
Open

[move] Enhance Vouch System for Validator Security #298

soaresa opened this issue Aug 5, 2024 · 0 comments
Assignees

Comments

@soaresa
Copy link
Contributor

soaresa commented Aug 5, 2024

Objective:

To update the existing vouch system to enhance security, reliability, and ensure greater active participation of validators in the social consensus. The goal is to prevent Sybil attacks, manage validator eligibility more effectively, and maintain network stability.

Context:

Since the V7 Hard Fork, the validator set has rapidly increased, raising concerns about Sybil attacks and validator trustworthiness. The current system needs enhancements to manage the growing number of validators and to improve decision-making regarding vouches.

Key Changes:

  1. Maximum Vouches:

    • Each validator can give a maximum of 10 vouches.
    • Validators will require a maximum of 8 vouches to stay in the set, providing a margin for up to 2 additional vouches.
  2. Vouch Expiration:

    • Change the vouch expiration period from 90 epochs to 45 epochs.
    • Display vouch statuses on the 0L Explorer to help validators monitor their vouches and make informed decisions.
  3. Cost of Vouching:

    • Implement the cost of vouching equivalent to one nominal epoch reward, to be burnt at the epoch boundary.
  4. Business Logic Implementation:

    • Develop pure functions to handle business logic.
    • Create query functions to estimate the validator set situation for the next epoch and display this information on the 0L Explorer.
  5. Handling Validator Ineligibility:

    • Ensure that only vouches from validators who are still in the set are counted as valid, maintaining the true friends logic.
    • Implement measures to handle scenarios where validators become ineligible due to friends (those they vouched for) being jailed or having low bids.

Acceptance Criteria:

  1. Maximum Vouches:

    • Implement a maximum limit of 10 vouches per validator.
    • Set the requirement for a validator to stay in the set to a maximum of 8 vouches, ensuring a margin of 2 additional vouches.
  2. Vouch Expiration:

    • Update the vouch expiration period to 45 epochs.
    • Ensure the 0L Explorer displays vouch statuses for validators to monitor and manage their vouches effectively.
  3. Cost of Vouching:

    • Adjust the cost of vouching to one nominal epoch reward, burnt at the epoch boundary.
  4. Business Logic Implementation:

    • Implement pure functions for business logic.
    • Develop query functions to estimate the validator set situation for the next epoch and display these estimates on the 0L Explorer.
  5. Handling Validator Ineligibility:

    • Ensure that only vouches from validators who are still in the set are counted as valid.
    • Implement logic to manage the impact of validator ineligibility on the vouch system.

Implementation Steps:

  1. Update Maximum Vouches:

    • Set the maximum number of vouches a validator can give to 10.
    • Establish the requirement for validators to need a maximum of 8 vouches to stay in the set.
  2. Change Vouch Expiration:

    • Update the vouch expiration period to 45 epochs.
    • Integrate vouch status display on the 0L Explorer for better monitoring.
  3. Implement Vouching Cost:

    • Adjust and implement the cost of vouching to be burnt at the epoch boundary.
  4. Develop Business Logic:

    • Create pure functions for business logic and query functions for estimating the next epoch’s validator set situation.
    • Display these estimates on the 0L Explorer.
  5. Manage Validator Ineligibility:

    • Ensure vouches from ineligible validators do not count towards required vouches.
    • Implement measures to handle cascading effects of validator ineligibility.

Changes to Open Libra Explorer:

  1. Vouch Status Display:

    • Implement a feature to display the status of vouches on the 0L Explorer.
    • Ensure validators can see the number of vouches they have and their expiration status.
  2. Estimation of Validator Set Situation:

    • Develop and integrate query functions to estimate the validator set situation for the next epoch.
    • Display these estimates on the 0L Explorer to help validators make informed decisions about their vouches.
@soaresa soaresa self-assigned this Aug 5, 2024
@soaresa soaresa added this to Eng Aug 5, 2024
@soaresa soaresa moved this to In progress in Eng Aug 5, 2024
@soaresa soaresa changed the title Enhance Vouch System for Validator Security [move] Enhance Vouch System for Validator Security Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant