diff --git a/source/docs/casper/concepts/hash-types.md b/source/docs/casper/concepts/hash-types.md index 4613716c11..79ee6257bf 100644 --- a/source/docs/casper/concepts/hash-types.md +++ b/source/docs/casper/concepts/hash-types.md @@ -34,7 +34,7 @@ For the sake of user convenience and compatibility, we expect the delivery of ha ## Hash and Key Explanations {#hash-and-key-explanations} -`PublicKey` is a 32 byte asymmetric public key, preceded by a one-byte prefix that tells whether the key is `ed25519` or `secp256k1`. +`PublicKey` is a 32 byte asymmetric public key, preceded by a one-byte prefix that tells whether the key is `ed25519` or `secp256k1`. There is a third type of `PublicKey` that refers to the system and it is a single `00`. `AccountHash` is a 32 byte hash of the `PublicKey` serving to identify user accounts. diff --git a/source/docs/casper/concepts/serialization-standard.md b/source/docs/casper/concepts/serialization-standard.md index e44c404ce1..a526046238 100644 --- a/source/docs/casper/concepts/serialization-standard.md +++ b/source/docs/casper/concepts/serialization-standard.md @@ -745,6 +745,7 @@ A `Map` serializes as a list of key-value tuples. There must be a well-defined o `PublicKey` serializes as a single byte tag representing the algorithm followed by 32 bytes of the `PublicKey` itself: +- If the `PublicKey` is a `System` key, the single tag byte is `0`. With this variant, the single byte of `0` is the entire key. - If the `PublicKey` is an `Ed25519` key, the single tag byte is `1` followed by the individual bytes of the serialized key. - If the `PublicKey` is a `Secp256k1` key, the single tag byte is a `2` followed by the individual bytes of the serialized key.