Ed25519 is one of the most common public-key
signature schemes, used by protocols like
TLS 1.3,
Signal,
Tor, and commonly recommended as
the default SSH authentication key scheme by corporations like
GitHub.
EIP-665 (originally proposed in 2018),
adds a new ED25519VFY precompile contract at address(0x9), enabling
signature verification at a cost of 2000 gas.
EIP Specification
Ifblock.number >= CONSTANTINOPLE_FORK_BLKNUM, add a precompiled contract for
Ed25519 signature verification (ED25519VFY).
The proposal adds a new precompiled function ED25519VFY with the following
input and output.
ED25519VFY takes as input 128 octets:
- message: the 32-octet message that was signed
- public key: the 32-octet
Ed25519public key of the signer - signature: the 64-octet
Ed25519signature
ED25519VFY returns as output 4 octets:
0x00000000if signature is valid- any non-zero value indicates a signature verification failure