Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Protocol Specs] Clarify how signing extensions are meant to be implemented #62

Open
3 tasks
nlordell opened this issue Nov 1, 2023 · 0 comments
Open
3 tasks

Comments

@nlordell
Copy link
Collaborator

nlordell commented Nov 1, 2023

Currently the protocol specs have this comment:

There are continuous efforts to expand the types of signatures supported by the EVM beyond the currently predominant secp256k1 elliptic curve. For example, a signature scheme gaining popularity is based on the secp256r1 elliptic curve (see EIP-7212). Signature Validators allow accounts to support new standards and enable use-cases such as Passkeys-enabled smart accounts, BLS/Schnorr or quantum-secure signatures.

However, it is unclear exactly how this fits into the current signature validation specification (which is very much geared towards EIP-712 and EIP-1271).

Questions

  • There are solutions involving ERC-1271 "account" contracts, but this would be protocol adjacent - do we insist on having signing extensions be part of the protocol or part of the account implementation?
  • Using the account's ERC-1271 signature support, we could potentially make it work by setting the SignatureManager contract as an owner. This would require some consideration on "can an owner's signature count more than once?" and "how do multiple owners use an extension for signing". This would allow for a protocol-centric approach to extending Safes with new signing schemes, but doesn't seem like a clean approach.
  • Are these signing schemes intended to be universal (i.e. apply to transaction signing, ERC-4337 user operation validation, and ERC-1271 signature verification)?
@nlordell nlordell changed the title [Protocol Specs] Clarify how extension of [Protocol Specs] Clarify how signing extensions are meant to be implemented Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant