diff --git a/tezos/caip122.md b/tezos/caip122.md index 8bf4a8e2..a5bb0d18 100644 --- a/tezos/caip122.md +++ b/tezos/caip122.md @@ -103,7 +103,7 @@ Here: ### Signature Verification -Tezos signatures and public keys are base58 encoded with prefixes. Once these have been removed, we can use standard signature verification methods. Note that the signature and the signing public key should be sent together to verifiers, because there is no solution to recover the public key from `tz1`, `tz2`, `tz3`, or `tz4` signatures. The public key can either be received through the connection with the wallet using the [Beacon SDK][] or by searching the [Reveal][] operation on-chain which reveals the public key of the sending manager as knowing this public key is indeed necessary to check the signature of future operations signed by this manager. +Tezos signatures and public keys are base58 encoded with prefixes. Once the prefixes have been removed, you MAY use standard signature verification methods. It is REQUIRED that the signature and the signing public key is send together to verifiers, because there is no solution to recover the public key from `tz1`, `tz2`, `tz3`, or `tz4` signatures and/or public key hashes. The public key MAY either be received through the [TZIP-10][] compliant handshake between app and wallet e.g. using the [Beacon SDK][] or OPTIONALLY by searching the [Reveal][] operation on-chain which stores the public key of a sending manager in the context. You MAY use an archive node in combination with an indexer software to access old context if the manger was deleted from the current context due e.g. the account balance being equal to zero. ## Examples @@ -143,7 +143,8 @@ c2VydmljZS5vcmcgd2FudHMgeW91IHRvIHNpZ24gaW4gd2l0aCB5b3VyIFRlem9zIGFjY291bnQ6CnR6 - [Secp256k1][] - Elliptic curve used in Bitcoin's public-key cryptography. - [NIST P256][] - One of the most used elliptic curves including native support in some mobile devices. - [BLS family][] - BLS12-381 is a pairing-friendly elliptic curve construction from the BLS family, with embedding degree 12. -- [Beacon SDK][] - Beacon is the implementation of the wallet interaction standard TZIP-10 which describes the connection of a dApp with a wallet.- [SIWT library][] - A reference implementation adhering to the CAIP specifications. +- [Beacon SDK][] - Beacon is the implementation of the wallet interaction standard [TZIP-10][] which describes the connection of a dApp with a wallet. +- [SIWT library][] - A reference implementation adhering to the CAIP specifications. [CAIP-2]: https://chainagnostic.org/CAIPs/caip-2 [CAIP-10]: https://chainagnostic.org/CAIPs/caip-10 @@ -159,6 +160,7 @@ c2VydmljZS5vcmcgd2FudHMgeW91IHRvIHNpZ24gaW4gd2l0aCB5b3VyIFRlem9zIGFjY291bnQ6CnR6 [BLS family]: https://eprint.iacr.org/2002/088 [base58]: https://gitlab.com/tezos/tezos/-/blob/5bb8fd589cc8777f44c795b71acf3e0a5dcac06f/src/lib_crypto/base58.ml [Beacon SDK]: https://github.com/airgap-it/beacon-sdk +[TZIP-10]: https://gitlab.com/tezos/tzip/-/blob/57c32be0e5d4bc6867cea83a12cf909894c42c41/proposals/tzip-10/tzip-10.md [Reveal]: http://tezos.gitlab.io/paris/blocks_ops.html#manager-operations [SIWT library]: https://siwt.xyz/