Les clés sont encodées par leur seule coordonnée x, le point implicite étant celui dont y est pair, ce qui économise un octet. Le challenge vaut e = tagged_hash("BIP0340/challenge", R.x ‖ P.x ‖ m) et la signature est R.x ‖ s ; les hachages étiquetés SHA256(SHA256(tag) ‖ SHA256(tag) ‖ data) séparent les différents usages du hachage. La procédure de signature recommandée mêle 32 octets d’aléa auxiliaire à la dérivation du nonce, et la vérification est stricte, si bien que les signatures ne sont pas malléables.
La linéarité permet l’agrégation de clés (MuSig2, BIP-327) et les schémas à seuil (FROST), et la vérification par lots accélère la validation des blocs. Les messages BIP-340 font 32 octets ; les messages de longueur arbitraire sont couverts par la révision ultérieure de BIP-340 et par les protocoles qui hachent d’abord (Nostr signe l’ID d’événement de 32 octets).