-
Notifications
You must be signed in to change notification settings - Fork 460
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
Add ERC: Decentralized Identity Verification (DID) #517
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aside from the eipw
errors, this seems fine. My only concern is that it doesn't provide enough detail on who would want to implement it, and how it's supposed to be used.
How is verifyIdentity
supposed to be used? How does the Identity
struct get stored in the contract?
Some of that might be covered in your reference implementation, but you need to make sure your standard is implementable with only the Specification section. The Reference Implementation is just an aide to help with understanding.
ERCS/erc-7734.md
Outdated
--- | ||
eip: 7734 | ||
title: Decentralized Identity Verification (DID) | ||
description: A standard for decentralized identity verification on the Ethereum blockchain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need to mention Ethereum in the title or description. We assume all ERCs are Ethereum related.
ERCS/erc-7734.md
Outdated
|
||
## Motivation | ||
|
||
Centralized identity verification methods are often cumbersome, prone to data breaches, and do not give users control over their identity data. A decentralized identity verification standard will allow users to maintain control over their identity information while ensuring security and privacy. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should include a bit more detail that differentiates this proposal from others that may be similar. There are a few that are DID-related, if I remember correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@SamWilsn Updated the code, please check.
The commit 5999900 (as a parent of 4499ff4) contains errors. |
ERCS/erc-7734.md
Outdated
#### Who Would Want to Implement It | ||
##### dApp Developers: | ||
Developers creating decentralized applications that require identity verification can implement this standard to provide users with secure, decentralized identity management. | ||
|
||
##### Service Providers: | ||
Platforms offering services such as decentralized finance (DeFi), gaming, or social networking can integrate this standard to verify user identities without relying on centralized authorities. | ||
|
||
###### Enterprises: | ||
Companies looking to integrate blockchain-based identity solutions into their existing systems can use this standard to ensure secure and privacy-preserving identity verification. | ||
|
||
##### Developers of Interoperability Solutions: | ||
Developers working on cross-platform and cross-blockchain interoperability can implement this standard to enable a unified identity verification mechanism across different systems. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This belongs in the Motivation section.
ERCS/erc-7734.md
Outdated
|
||
#### Verifying an Identity | ||
|
||
To verify an identity, a user calls the verifyIdentity function with two verification hashes. These hashes could be derived from proofs or attestations. The contract updates the identity's verification status and emits the IdentityVerified event. This process ensures that the identity is verified using off-chain proofs, maintaining privacy and security. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the meanings of the verification hashes is left to the contract implementation? It might be best to explicitly state that, if true.
ERCS/erc-7734.md
Outdated
### Differentiation | ||
|
||
This proposal distinguishes itself from other DID standards by focusing on a minimalistic approach, emphasizing user control and privacy. Unlike other proposals that might include a broader scope of identity attributes and interactions, this standard keeps the identity structure simple and relies on off-chain mechanisms for detailed identity management and verification. This simplicity encourages wider adoption and integration into various dApps, fostering a more secure and user-centric ecosystem on the Ethereum blockchain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This also belongs in Motivation. It doesn't give any requirements or instructions to implementers, so it doesn't belong in the Specification section.
--- | ||
eip: 7734 | ||
title: Decentralized Identity Verification (DID) | ||
description: A decentralized identity verification on the blockchain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your description doesn't really add any additional information that wasn't in your title.
|
||
## Abstract | ||
|
||
This proposal introduces a standard for decentralized identity verification (DID) on the Ethereum blockchain. The standard aims to provide a secure, privacy-preserving method for identity verification that can be used by decentralized applications (dApps). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be nice to include a bit about how your proposal accomplishes its goals here in the abstract. You should include enough detail to give the reader a high level but still technical overview.
|
||
Centralized identity verification methods are often cumbersome, prone to data breaches, and do not give users control over their identity data. Current DID solutions, while innovative, often come with complexity and additional requirements that can be burdensome for dApp developers and users. Our proposal aims to address these issues by providing a straightforward, minimalistic approach to decentralized identity verification. This standard focuses on user control and privacy, ensuring that users can manage their identity information securely without unnecessary overhead. By leveraging cryptographic hashes and events, we provide a transparent, traceable, and efficient method for identity verification. This simplicity encourages wider adoption and integration into various dApps, fostering a more secure and user-centric ecosystem on the Ethereum blockchain. | ||
|
||
This standard focuses on user control and privacy, ensuring that users can manage their identity information securely without unnecessary overhead. By leveraging cryptographic hashes and events, we provide a transparent, traceable, and efficient method for identity verification. This simplicity encourages wider adoption and integration into various dApps, fostering a more secure and user-centric ecosystem on the Ethereum blockchain. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This paragraph repeats the previous one. Is that intentional?
|
||
This proposal distinguishes itself from other DID standards by focusing on a minimalistic approach, emphasizing user control and privacy. Unlike other proposals that might include a broader scope of identity attributes and interactions, this standard keeps the identity structure simple and relies on off-chain mechanisms for detailed identity management and verification. This simplicity encourages wider adoption and integration into various dApps, fostering a more secure and user-centric ecosystem on the Ethereum blockchain. | ||
|
||
### How It's Supposed to Be Used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this section meant to be part of the Specification section?
When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md
We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met: