-
Notifications
You must be signed in to change notification settings - Fork 6
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
[PROPOSED WORK ITEM] Eip712Signature2021 #194
Comments
Digital Bazaar is supportive of this work item for at least the following reasons:
In short, it's a model specification that innovates on top of the Linked Data Signature work in interesting ways. |
Sounds like an interesting project. @wyc can you add it to the CCG agenda for Tuesday for discussion, community feedback and next steps? Thanks. |
Sure thing, will do. |
@vsnt are we okay to proceed with this work item? Can open an issue to add an informative README to the new repo. |
Spruce is implementing this signature suite in Rust: spruceid/ssi#213 |
Ok to proceed, please include detailed information in a readme, as requested in the CCG call. |
Opened https://github.com/w3c-ccg/ethereum-eip712-signature-2021-spec with related issues including README update, added to registry on the community page via #199. |
Reopening to communicate to everyone the series of non-material actions here:
|
This has been completed. |
New Work Item Proposal
See W3C-CCG New Work Item Process
Include Link to Abstract or Draft
Describes an Ethereum EIP712 Signature Suite created in 2021 for the Linked Data Proof specification. The Signature Suite utilizes EIP712 signatures.
List Owners
Lead:
Other owners:
Work Item Questions
General goal is to foster SSI adoption. Ethereum wallets are used by a large community, e.g., >5M MetaMask users. Ethereum wallets are different from SSI wallets, but they can be used for secure key management and expose certain JSON RPC APIs.
A typial flow is, a wallet injects as certain JS object (web3 provider) into the DOM tree, and the website invokes JSON RPC calls on that object. The object can be implemented in various ways without vendor lock-in.
Changing JSON RPC APIs of Ethereum wallets would require a lot of work and is not an option. However, Ethereum wallets implement EIP712 which is a way to sign over human-readable data.
The idea is to use Ethereum wallets for signing LD-Proofs using the signature algorithm that is proposed in EIP712. The signature algorithm is based on Secp256k1 but requires some data transformation. For this reason, exisintg LD-Proof Suites cannot be used. This proposal is about introducing a new LD-Proof Suite that allows Ethereum wallets to sign over human-readable data through EIP712.
Those LD-Proofs can then be used for ZCap-LD, Verifiable Credentials and Presentations. Verifiers won't necessarily need access to Ethereum to verify those signatures.
Today, SSI wallet implementations require either an internal KMS or an external KMS (hosted as a service). For fully backend-less applications, access to external KMS' might not be an option. Some applications, e.g., decentralized applications with no backend (e.g., in the browser) don't have access to a secure data (key) storage. External KMS' also introduce an adoption barrier in certain communities.
Ethereum Wallets are in production and are available to address those needs for a larger community.
Ethereum wallets will be able issue and present Verifiable Credentials, create ZCaps or more generally, sign over human-readable data that is compatible with the W3C (CCG) specification stack.
NOTE: for those people who use DIDs, there is no requirement for a certain DID method.
The text was updated successfully, but these errors were encountered: