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

whitepapers: document signing prefixes used #4105

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 30 additions & 3 deletions whitepapers/0009_guardian_key.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,16 @@ The Guardian Key is used to:

1. Sign gossip messages
1. heartbeat
2. governor config and governor status
3. observation request
2. Sign Observations
1. governor config and governor status
1. observation request
1. Sign Observations
1. Version 1 VAAs
1. Sign Guardian identification
1. Wormchain account registration
1. Sign Accountant observations
1. Token Bridge
1. NTT
1. Sign Query responses

## Detailed Design

Expand All @@ -35,3 +41,24 @@ Rationale

- Gossip messages cannot be confused with other gossip messages because the message type prefix is prepended.
- Gossip messages cannot be confused with observations because observations utilize a double-Keccak256 and the payload is enforced to be `>=34` bytes.

## Prefixes Used

<!-- cspell:disable -->

```go
acct_sub_obsfig_000000000000000000| // token bridge accountant observation
ntt_acct_sub_obsfig_00000000000000| // ntt accountant observation
governor_config_000000000000000000| // gossip governor config
governor_status_000000000000000000| // gossip governor status
heartbeat| // gossip heartbeat
signed_observation_request| // gossip signed observation request
mainnet_query_request_000000000000| // query request (mainnet, not signed by guardian)
testnet_query_request_000000000000| // query request (testnet, not signed by guardian)
devnet_query_request_0000000000000| // query request (devnet, not signed by guardian)
query_response_0000000000000000000| // query response
query_response_0000000000000000000| // query response
signed_wormchain_address_00000000| // wormchain register account as guardian
```

<!-- cspell:enable -->
Loading