EIP-665
Adds support for Ed25519
signature verification via a new precompile contract.
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
If block.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
Ed25519
public key of the signer - signature: the 64-octet
Ed25519
signature
ED25519VFY
returns as output 4 octets:
0x00000000
if signature is valid- any non-zero value indicates a signature verification failure