Is there a practical way (preferrably OSS library or implementation) to verify Ed25519 signatures in Solidity (compiled for and run on the EVM), in smart contracts?
Update: I've created EIP665
Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up.
Sign up to join this communityThere's no native functions that provide ed25519 cryptographic operations.
Doing it in the EVM would require a substantial amount of processing, and being that:
Fast single-signature verification. The software takes only 273,364 cycles to verify a signature on Intel's widely deployed Nehalem/Westmere lines of CPUs
I'm fairly certain that you'd quickly use up a lot of gas trying, most likely more than the maximum allowed.
In order to accomplish this, you'd need to start an EIP request, and convince the community that there's a valid and compelling use-case for implementing native signature verification in the server itself.
Specifically you'd want to explain in the EIP why the existing ecsign
and ecrecover
(ECDSA) routines aren't adequately suitable.