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

Remove Validator Balance Requirement for Checkpoints #1156

Open
karlem opened this issue Sep 26, 2024 · 1 comment
Open

Remove Validator Balance Requirement for Checkpoints #1156

karlem opened this issue Sep 26, 2024 · 1 comment
Labels

Comments

@karlem
Copy link
Contributor

karlem commented Sep 26, 2024

Find a way to remove the need for validators to maintain a balance of circulating supply in order to create checkpoints.

Suggestion: Validators could receive automatic fund allocations from the network to cover the necessary balance.

@raulk
Copy link
Contributor

raulk commented Nov 27, 2024

IUC, the issue is that these signatures are sent as ordinary transactions in the subnet. The FVM verifies that the sender account exists and has sufficient balance to cover the maximum gas costs as per base fee and gas fee cap. What we could do:

  1. Auto-create Eth accounts matching the secp256k1 public keys of validators at genesis and as new validators are added.
  2. Make validators submit these transactions from their f410 identities.
  3. Detect "system" transactions like this at the interpreter level through pattern matching, e.g.:
    • from == some validator address.
    • to == gateway.
    • data is ABI-encoded to addCheckpointSignature.
  4. Execute those transactions as implicit transactions at the FVM level; this disarms gas charging and removes the need for the account to hold balance.

We will need to accompany this with rejecting the block if the validator spams or misuses the system, e.g. includes transactions satisfying the above but with non-zero exit codes (error).

We'd need to make changes to the mempool to accept such transactions at that level too.

@raulk raulk added the papercut label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Backlog
Development

No branches or pull requests

2 participants