Update x8.md

This commit is contained in:
Dean Eigenmann 2019-08-27 11:34:42 +02:00 committed by Oskar Thoren
parent cfa3212a96
commit f77dd07d22
No known key found for this signature in database
GPG Key ID: B2ECCFD3BC2EF77E
1 changed files with 7 additions and 9 deletions

16
x8.md
View File

@ -12,23 +12,21 @@ updated:
- [Encoding](#Encoding)
- [Upgradability](#Upgradability)
This specification describes how the payload of each message in the Status Protocol looks like. It does not care how the payload is encrypted or exchanged later.
The payload must be flexible enough to support messaging but also cases described in [Status Whitepaper](https://status.im/whitepaper.pdf) as well as various clients created using vastly different technologies.
This specification describes how the payload of each message in the Status Protocol looks.
# Wrapper
Payloads are wrapped in a [protobuf record](https://developers.google.com/protocol-buffers/)
record:
```
message StatusProtocolMessage {
bytes signature = 1;
bytes payload = 2;
}
```protobuf
message StatusProtocolMessage {
bytes signature = 1;
bytes payload = 2;
}
```
Where `signature` is the bytes of the signed `SHA3-256` of the payload, signed with
`signature` is the bytes of the signed `SHA3-256` of the payload, signed with
the key of the author of the message.
The signature is needed to validate authorship of the message, so that the message can be relayed to third parties.
If a signature is not present but an author is provided by a layer below, the message is to be relayed to third parties and its considered plausibly deniable.