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.
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