KIPs
KIPs copied to clipboard
Pact On-Chain ECDSA Cryptographic Verification
Problem
To be able to verify cryptographic signatures generated by signing arbitrary data with the associated public key on-chain / contracts.
Current Approach
We can create a signature for a message with a key-pair and verify it off-chain using the function Pact.crypto.sign
provided in pact-lang-api
Js library.
But there is no way to verify this signature on-chain / in contract.
Proposal
To add ECDSA crytopgraphic method to verify a signed message as a built in function.
-
verify-sig
that takes public key and a signature as parameters and returns a boolean value representing whether the public key is the one used to generate the given signature.
Current Alternatives
There are no current alternatives to my knowledge. Also suggest if there is any other way to achieve the same.
References
- EIP-2098: https://eips.ethereum.org/EIPS/eip-2098
- EIP-191: https://eips.ethereum.org/EIPS/eip-191
- EIP-712: https://eips.ethereum.org/EIPS/eip-712
- ECDSA Solidity Implementation : https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol