Skip to content

BIT-0008 EVM Weight Verification #19

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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

HudsonGraeme
Copy link

@HudsonGraeme HudsonGraeme commented Jun 18, 2025

As a component of the broader Proof of Weights initiative (#10), a mechanism is required to verify that validator weights submitted to the blockchain are valid per a subnet-owner-controlled verification contract.

This BIT proposes a mechanism to enable subnet owners to deploy custom verification contracts that validate weight submissions before they affect consensus. The proposed optimistic verification mechanism maintains network security while minimizing on-chain computational overhead.
image

If `E_commit` was not a Verification Epoch, these steps are skipped.

> [!NOTE]
> The penalty is applied directly to validator weights by zeroing them out, rather than modifying derived values like ranks or trust. This ensures that unverified weights are completely ignored by the network, as they provide no value without verification. The validator effectively becomes a non-participant for that epoch, which is the most direct and logical consequence of failing verification.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about we burn their collateral an deregister their uid?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't, at least initially, nuke these weights completely, but multiplyying stake by 0.9 or 0.8 would be a good start for the testing period.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't, at least initially, nuke these weights completely, but multiplyying stake by 0.9 or 0.8 would be a good start for the testing period.

That sounds good. What do you think about hyperparameters such as the following?

Hyperparameter Access Description
weight_verification_multiplier sudo, root The stake multiplier controlling the impact a failed weight verification has on the weights of an unverified validator
weight_verification_max_multiplier root The global maximum value for weight_verification_multiplier to allow for a controlled rollout of the feature.

This makes it somewhat configurable, so globally as the feature is rolled out, gov can ramp up the latitude subnet owners are allowed in terms of max impact. Then, per-subnet as subnet owners try the feature they can ramp up the multiplier individually until they're fully confident in the contract.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants