ERC-7730 is a wonderful standard that finally addresses the issue of blind signing, a huge problem that has not been addressed properly for many years and has lead to large financial loses and loads of stress literally for everyone who has ever interacted with smart contracts on Ethereum.
However, ERC-7730 does not specify a mechanism for the Ethereum community to permissionlessly maintain and update the registry of the Clear Signing descriptors, to establish a network of trust between the creators and consumers of these descriptors, and does not address the long-term storage and retrieval of the descriptor data.
Crucially, as the wallet ecosystem will begin moving towards requiring clear signing, with blind-signing being discouraged or even blocked by default by compatible wallets, there is a significant threat of the clear signing registry evolving into a bottlenecked whitelist of registry-approved contracts.
This ERC specifies a relatively simple smart contract that acts as a queryable on-chain registry of ERC-7730 descriptors that does not require any party to maintain the registry. The registry itself can be written to by anyone, with actual descriptors being served as a URI using any protocol - from HTTP to IPFS.
Wallet trust is established not by the mere fact of the entry being present in the registry, but through ERC-8176 Ethereum Attestations issued to the descriptors by companies (or other entities) that are trusted by the wallet.
This is an established standard that handles endorsement, expiry, revocation etc., meaning the registry logic does not need to be encumbered with the attestation maintenance logic.
Querying the registry is also done on-chain - the wallets can calculate a queryable contextId key for the signature request they need to Clear Sign at the moment, and use it to look up all potential clear signing descriptors and their attestations stored in the registry contract.
This on-chain registry should complete the end-to-end architecture for clear signing on Ethereum:
- ERC-7730 - defines descriptor file format
- ERC-8176 - defines the attestation format, allowing any 3rd party to issue an endorsement of the published Clear Signing descriptor
- ERC-8265 - defines the ātransaction envelopeā format where metadata for the wallet, like transaction simulation outcomes, transaction assertions, resolved ENS names and other info can be bundled during the resolution process until it reaches the signing hardware.
(An alternative ERC might be created if ERC-8265 fails to gain traction in the Clear Signing context.) - EIP-7906 - defines a mechanism for the smart contracts to enforce on-chain the state changes prescribed by the calldata
- ERC-8283 (new) - defines the on-chain open registry and resolution mechanism for clear signing
This turns Ethereum into a self-contained and self-documenting registry of on-chain APIs the wallets can interact with transparently for the users.
Also, this ERC serves as a counter-proposal for ERC: Onchain Clear Signing that expects smart contracts to provide their own clear signing descriptions on-chain, which in my opinion is completely unsustainable in practice.