I have plain and simple desire. I want my dapp users to be able to generate some data payload, sign it with their private key, and send it using any external channel (eg JSON between apps) to a recipient, who can then post a transaction to the blockchain, which will include this data as part of the “data” field. Now here is the key:
I want to verify the signature given the ethereum address or public key sent, and the payload, which is a substring of the data field, and get a boolean true or false
Is there a built-in opcode to do this?
I would use it to eg generate and pre-sign “capabilities” or “transaction templates” that have parameters with ranges that can be filled in by the user, and present this capability as a payload.
What I don’t want is to waste gas on elaborate algorithms to check private key signatures. Also, is any of this quantum resistant?
PS: Perhaps a workaround is for party A to generate and sign a transaction, and send it to party B to post at any time that is allowed by first transaction... thereby A paying the gas fees and B can even be a totally new wallet user with zero balance? But then IS THERE ANY MECHANISM for the second party B indicate any additional information (such as their own wallet address) without having to sign it with A’s key?? I guess if B had gas, they can execute some transaction to change some variable and then A’s transaction will refer to it.