Skip to content

Commit

Permalink
clarify the exchange method for the public key
Browse files Browse the repository at this point in the history
Signed-off-by: jdsika <[email protected]>
  • Loading branch information
jdsika committed Mar 12, 2024
1 parent 94ca181 commit 2eb9bff
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions tezos/caip122.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand All @@ -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/

Expand Down

0 comments on commit 2eb9bff

Please sign in to comment.