[ADR][DRAFT] 024: SignBytes and validator types in privval#2445
[ADR][DRAFT] 024: SignBytes and validator types in privval#2445
Conversation
|
@tarcieri also suggested as while ago to include the public-key / fingerprint thereof into each "SignRequest" sent by tendermint. E.g. the KMS holds a bunch of key-pairs and needs to know which priv-key of those to use to sign Votes, Proposals, or Hearbeats. This is probably quite important. I still left it away here as I assume the implied changes to be quite involved already. |
- fix link - add little diagram - fix typo
3813f1f to
19ded87
Compare
|
Thanks for taking this on!! Just noting it should be ADR-024. See number assignment in #2313 |
d9a3cf1 to
b2af2ac
Compare
|
IMO there is a lot of scope for improving the validator socket protocol lets focus on getting the MVP working with KMS before we add important features like key ids and and error handling. |
|
@zmanian: OK, I'll open an issue and a PR that just moves |
#2445 - still contains a lot of failing tests etc
|
Error handling should be considered part of an MVP. |
ebuchman
left a comment
There was a problem hiding this comment.
Will merge this and open an issue to follow up
|
|
||
| ### Vote | ||
|
|
||
| As explained in [issue#1622] `Vote` will be changed to contain the following fields |
There was a problem hiding this comment.
Let's add a summary of why here (ie. fixed points for jumping to to check fields for preventing double signing), and note that from Timestamp and on we lose the fixed lengths.
| // registered with "tendermint/socketpv/SignedVoteReply" | ||
| message SignedVoteReply { | ||
| Vote Vote | ||
| Signature Signature |
There was a problem hiding this comment.
Might be nice to ultimately get to this, but we should probably separate it out last, since so much expects a Vote to have a Signature.
|
|
||
| ```proto | ||
| // vanilla protobuf / amino encoded | ||
| message Proposal { |
| Round sfixed32 | ||
| Timestamp Timestamp // << using protobuf definition | ||
| BlockPartsHeader PartSetHeader // as already defined | ||
| POLRound sfixed32 |
There was a problem hiding this comment.
lets move this into the fixed length section (ie. above Timestamp).
|
|
||
| ### Heartbeat | ||
|
|
||
| **TODO**: clarify if heartbeat also needs a fixed offset and update the fields accordingly: |
There was a problem hiding this comment.
It doesn't, it's just for debugging
Work in progress: Quick fledged draft summarizing #1622
If time allows, please review for overall sanity (not typos/nitpicks):
https://github.com/tendermint/tendermint/blob/5d46a2d49dba4da726463ba43058c6b230e3d24a/docs/architecture/adr-02x-sign-bytes.md