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

Add ERC: Decentralized Identity Verification (DID) #517

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

64anushka
Copy link

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:

  • The PR edits only existing draft PRs.
  • The build passes.
  • Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
  • If matching on email address, the email address is the one publicly listed on your GitHub profile.

@eip-review-bot
Copy link
Collaborator

eip-review-bot commented Jul 2, 2024

File ERCS/erc-7734.md

Requires 1 more reviewers from @axic, @g11tech, @SamWilsn, @xinbenlv

erc-64.md Outdated Show resolved Hide resolved
erc-64.md Outdated Show resolved Hide resolved
erc-64.md Outdated Show resolved Hide resolved
@xinbenlv xinbenlv changed the title Create erc-64.md Create ERC-7734 Decentralized Identity Verification (DID) Jul 3, 2024
@64anushka 64anushka marked this pull request as draft July 8, 2024 06:13
@64anushka 64anushka marked this pull request as ready for review July 8, 2024 06:13
@64anushka 64anushka marked this pull request as draft July 8, 2024 06:14
@64anushka 64anushka marked this pull request as ready for review July 8, 2024 06:14
@eip-review-bot eip-review-bot changed the title Create ERC-7734 Decentralized Identity Verification (DID) Add ERC: Decentralized Identity Verification (DID) Jul 23, 2024
Copy link
Collaborator

@SamWilsn SamWilsn left a 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.
Copy link
Collaborator

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.
Copy link
Collaborator

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.

Copy link
Author

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.

@github-actions github-actions bot added the w-ci label Jul 23, 2024
@eip-review-bot eip-review-bot changed the title Add ERC: Decentralized Identity Verification (DID) Add ERC: Decentralized Identity Verification (DID) Standard Jul 23, 2024
Copy link

The commit 5999900 (as a parent of 4499ff4) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot removed the w-ci label Jul 23, 2024
@eip-review-bot eip-review-bot changed the title Add ERC: Decentralized Identity Verification (DID) Standard Add ERC: Decentralized Identity Verification (DID) Jul 23, 2024
ERCS/erc-7734.md Outdated
Comment on lines 73 to 85
#### 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.

Copy link
Collaborator

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 Show resolved Hide resolved
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.
Copy link
Collaborator

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
Comment on lines 103 to 105
### 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.
Copy link
Collaborator

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.
Copy link
Collaborator

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).
Copy link
Collaborator

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.
Copy link
Collaborator

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
Copy link
Collaborator

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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants