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

Fix Signature Verification Issue Causing Missed Blocks on Gnosis Chain #3181

Closed
4 tasks done
boulder225 opened this issue Jul 22, 2024 · 1 comment
Closed
4 tasks done
Assignees
Labels
protocol Protocol Team tickets streamline

Comments

@boulder225
Copy link

boulder225 commented Jul 22, 2024

🎯 Problem to be solved

An issue in Charon is apparently causing validators on the Gnosis chain to miss block proposals. The issue appears to be related to a v1 endpoint failing to verify signatures, likely due to problems with the state root or version used by Charon for verification. This impacts the performance of Gnosis validators, with even a small set of 30 validators missing proposals every 20 minutes.

🛠️ Proposed solution

  • Add detailed logging to the problematic functions (verify eth2 sign data, verify partial sig) to gather more information
  • Investigate differences in signing or key mechanisms specific to Gnosis compared to other chains
  • Arrange a call with external experts (e.g., Dappline) to review the code and discuss potential solutions
  • Analyze the state root and version handling in Charon, focusing on Gnosis-specific implementations

15:49:00.138 ERRO vapi Validator api 5xx response: signature not verified {"status_code": 500, "message": "Internal server error", "duration": "3.133976ms", "vapi_endpoint": "submit_proposal_v1"} tbls/herumi.go:297 .Verify tbls/tbls.go:122 .Verify eth2util/signing/signing.go:109 .Verify core/eth2signeddata.go:41 .VerifyEth2SignedData core/validatorapi/validatorapi.go:1110 .verifyPartialSig core/validatorapi/validatorapi.go:417 .SubmitProposal core/validatorapi/router.go:804 .func11

@github-actions github-actions bot added the protocol Protocol Team tickets label Jul 22, 2024
@pinebit
Copy link
Contributor

pinebit commented Aug 20, 2024

This ticket is used to track the work on temporary solution: relaxing partial signatures verification in the consensus flow.

obol-bulldozer bot pushed a commit that referenced this issue Aug 26, 2024
If the "gnosis_block_hotfix" feature flag is enabled, use the Gnosis-compatible representation of the proposal when calculating its hash tree root.  This should fix Gnosis proposals failing due to bad signature.

category: feature
ticket: #3181 
feature_flag: gnosis_block_hotfix
pinebit pushed a commit that referenced this issue Sep 16, 2024
If the "gnosis_block_hotfix" feature flag is enabled, use the Gnosis-compatible representation of the proposal when calculating its hash tree root.  This should fix Gnosis proposals failing due to bad signature.

category: feature
ticket: #3181
feature_flag: gnosis_block_hotfix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol Protocol Team tickets streamline
Projects
None yet
Development

No branches or pull requests

3 participants