Il coûte 3000 unités de gaz et renvoie l’adresse de 20 octets de la clé publique récupérée, ou zéro octet (l’adresse zéro en Solidity) pour une entrée invalide, par exemple un v différent de 27 ou 28, ou des r et s hors plage. Il n’impose pas la règle low-S : un contrat qui utilise les signatures comme identifiants uniques doit donc rejeter lui-même tout s supérieur à n/2 (EIP-2 n’a appliqué cette règle qu’aux transactions).
Pour un usage sûr : comparez toujours le résultat au signataire attendu et rejetez l’adresse zéro, vérifiez un nonce ou une échéance dans les données signées pour empêcher le rejeu, hachez des données EIP-191 ou EIP-712 plutôt que des valeurs brutes, et utilisez ERC-1271 pour les comptes de contrat intelligent. ECDSA.recover et SignatureChecker d’OpenZeppelin intègrent ces vérifications.