-
Notifications
You must be signed in to change notification settings - Fork 638
privval: DO NOT require extension signature from privval if vote extension is disabled #2439
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
Comments
If the application has enabled vote extensions (which is optional) and is not actually using it. |
After discussion with @sergio-mena, we've decided to add a boolean flag
Protobuf declaration:
|
... from privval if vote extension is disabled New API (added sign_extension bool flag): ``` SignVote(chainID string, vote *cmtproto.Vote, signExtension bool) error { ``` New Protobuf message (added sign_extension field): ``` // SignVoteRequest is a request to sign a vote message SignVoteRequest { cometbft.types.v1beta1.Vote vote = 1; string chain_id = 2; bool sign_extension = 3; } ``` [api-breaking] Closes #2439
... from privval if vote extension is disabled New API (added sign_extension bool flag): ``` SignVote(chainID string, vote *cmtproto.Vote, signExtension bool) error { ``` New Protobuf message (added sign_extension field): ``` // SignVoteRequest is a request to sign a vote message SignVoteRequest { cometbft.types.v1beta1.Vote vote = 1; string chain_id = 2; bool sign_extension = 3; } ``` [api-breaking] Closes #2439
... from privval if vote extensions are disabled New API (added sign_extension bool flag): ``` SignVote(chainID string, vote *cmtproto.Vote, signExtension bool) error { ``` New Protobuf message (added sign_extension field): ``` // SignVoteRequest is a request to sign a vote message SignVoteRequest { cometbft.types.v1beta1.Vote vote = 1; string chain_id = 2; bool sign_extension = 3; } ``` [api-breaking] Closes #2439 --- #### PR checklist - [x] Tests written/updated - [x] Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog) - [ ] Updated relevant documentation (`docs/` or `spec/`) and code comments - [x] Title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec
... from privval if vote extensions are disabled New API (added sign_extension bool flag): ``` SignVote(chainID string, vote *cmtproto.Vote, signExtension bool) error { ``` New Protobuf message (added sign_extension field): ``` // SignVoteRequest is a request to sign a vote message SignVoteRequest { cometbft.types.v1beta1.Vote vote = 1; string chain_id = 2; bool sign_extension = 3; } ``` [api-breaking] Closes #2439 --- #### PR checklist - [x] Tests written/updated - [x] Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog) - [ ] Updated relevant documentation (`docs/` or `spec/`) and code comments - [x] Title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec (cherry picked from commit cb177fe)
This adds a new field to the `ChainConfig` structure which represents an entry in the `[[chain]]` registry in tmkms.toml which indicates whether or not vote extensions should be signed. In the future we should be able to query this using the `signExtension` field of `SignVote`. See cometbft/cometbft#2439. However, for now this requires a manual configuration flag.
This adds a new field to the `ChainConfig` structure which represents an entry in the `[[chain]]` registry in tmkms.toml which indicates whether or not vote extensions should be signed. In the future we should be able to query this using the `signExtension` field of `SignVote`. See cometbft/cometbft#2439. However, for now this requires a manual configuration flag.
Do we have a solution for this problem for v0.38.x? See #2711. |
The only possible solution is to not check extension signature if vote extensions are disabled. But this would change the default behavior (always check). |
Refs #2357
cometbft/types/vote.go
Lines 436 to 441 in 914e9d7
Currently, we require an extension signature from the privval EVEN IF vote extensions are disabled. I.e., if the app is not using vote extensions, validators are signing (through HSM or
FilePV
) emptyVote.Extension
(plus other fields like height and round). Seems like a waste of computing resources. Refs iqlusioninc/tmkms#857 (comment)The text was updated successfully, but these errors were encountered: