-
Notifications
You must be signed in to change notification settings - Fork 801
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
Optional slashing protection for remote keys #4981
Optional slashing protection for remote keys #4981
Conversation
…protection-web3signer
…protection-web3signer
…3signer' into disable-slashing-protection-web3signer
Ready for Deneb on Sepolia/Chiado/Goerli. I'll hopefully write the tests for this next week and we can merge it to |
Ready for review! 🚀 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both block and attestation signature code paths hit requires_local_slashing_protection
which is always true for LocalKeystore
.
Tests cover the case of attempting to sign a slashable block, or attestation with LocalKeystore
and --disable-slashing-protection-web3signer
.
Moving the doppelganger check before the slashing protection check is conceptually better and should have no effect on safety.
I've not manually tested the feature
Any ETA about this PR making it to a public version? |
@jmcruz1983 It'll be in the next release, which is likely happening within 3 weeks |
…protection-web3signer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, I think the tests are comprehensive too!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Thanks
@Mergifyio queue |
🛑 The pull request has been removed from the queue
|
@Mergifyio dequeue |
✅ The pull request has been removed from the queue
|
@Mergifyio requeue |
✅ This pull request will be re-embarked automaticallyThe followup |
🛑 The pull request has been removed from the queue
|
@Mergifyio requeue |
✅ This pull request will be re-embarked automaticallyThe followup |
✅ The pull request has been merged automaticallyThe pull request has been merged automatically at 7bec3f9 |
* Optional slashing protection for remote keys * Merge remote-tracking branch 'origin/unstable' into disable-slashing-protection-web3signer * Start writing tests * Merge remote-tracking branch 'origin/unstable' into disable-slashing-protection-web3signer * Merge remote-tracking branch 'michael/disable-slashing-protection-web3signer' into disable-slashing-protection-web3signer * Make half-written tests compile * Make tests work * Update help text * Update book CLI text * Merge remote-tracking branch 'origin/unstable' into disable-slashing-protection-web3signer * More logging & CLI tests * CLI tweaks
Issue Addressed
Closes #4890
Proposed Changes
Introduce a new flag for the validator client which turns off local slashing protection for remote keys:
--disable-slashing-protection-web3signer
This is intended as an optimisation to avoid redundant I/O for the slashing protection DB. It is likely only useful on VC nodes with large numbers of keys (1k+). We should never enable this by default due to the risk of the user running with their remote signer slashing protection disabled, and relying on the current database to protect them.
Additional Info
This needs a very thorough review. I've written what I think are comprehensive tests.