消費ガスは 3,000 で、復元した公開鍵の 20 バイトのアドレスを返します。v が 27 でも 28 でもない、r や s が範囲外であるといった無効な入力に対しては、長さ 0 のバイト列(Solidity ではゼロアドレス)を返します。low-S を強制しないため、署名を一意な識別子として使うコントラクトは、n/2 を超える s を自分で拒否しなければなりません(EIP-2 がこの規則を適用したのはトランザクションだけです)。
安全に使うには、結果を想定する署名者と必ず比較してゼロアドレスを拒否し、署名されたデータに含まれる nonce や期限を確認してリプレイを防ぎ、生の値ではなく EIP-191 や EIP-712 のデータをハッシュし、スマートコントラクトのアカウントには ERC-1271 を使ってください。OpenZeppelin の ECDSA.recover と SignatureChecker は、これらのチェックをまとめて提供しています。