Skip to content

Commit

Permalink
Update erc-7734.md
Browse files Browse the repository at this point in the history
  • Loading branch information
64anushka authored Jul 23, 2024
1 parent de9cceb commit 5999900
Showing 1 changed file with 42 additions and 7 deletions.
49 changes: 42 additions & 7 deletions ERCS/erc-7734.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
eip: 7734
title: Decentralized Identity Verification (DID)
description: A standard for decentralized identity verification on the Ethereum blockchain.
author: Anushka Yadav <[email protected]>
discussions-to: https://ethereum-magicians.org/t/erc-7734-decentralized-identity-verification-did/20392
eip: xx

Check failure on line 2 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `eip` must be an unsigned integer

error[preamble-eip]: preamble header `eip` must be an unsigned integer --> ERCS/erc-7734.md:2:5 | 2 | eip: xx | ^^^ not a non-negative integer | = help: see https://ethereum.github.io/eipw/preamble-eip/

Check failure on line 2 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

file name must reflect the preamble header `eip`

error[preamble-file-name]: file name must reflect the preamble header `eip` --> ERCS/erc-7734.md:2:5 | 2 | eip: xx | ^^^ this value | = help: this file's name should be `erc-xx.md` = help: see https://ethereum.github.io/eipw/preamble-file-name/

Check failure on line 2 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `eip` must be an unsigned integer

error[preamble-eip]: preamble header `eip` must be an unsigned integer --> ERCS/erc-7734.md:2:5 | 2 | eip: xx | ^^^ not a non-negative integer | = help: see https://ethereum.github.io/eipw/preamble-eip/

Check failure on line 2 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

file name must reflect the preamble header `eip`

error[preamble-file-name]: file name must reflect the preamble header `eip` --> ERCS/erc-7734.md:2:5 | 2 | eip: xx | ^^^ this value | = help: this file's name should be `erc-xx.md` = help: see https://ethereum.github.io/eipw/preamble-file-name/
title: Decentralized Identity Verification (DID) Standard

Check failure on line 3 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `title` value is too long (max 44)

error[preamble-len-title]: preamble header `title` value is too long (max 44) --> ERCS/erc-7734.md:3:7 | 3 | title: Decentralized Identity Verification (DID) Standard | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ too long | = help: see https://ethereum.github.io/eipw/preamble-len-title/

Check failure on line 3 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `title` should not contain `standard` (or similar words.)

error[preamble-re-title]: preamble header `title` should not contain `standard` (or similar words.) --> ERCS/erc-7734.md:3:7 | 3 | title: Decentralized Identity Verification (DID) Standard | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prohibited pattern was matched | = info: the pattern in question: `(?i)standar\w*\b` = help: see https://ethereum.github.io/eipw/preamble-re-title/

Check failure on line 3 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `title` value is too long (max 44)

error[preamble-len-title]: preamble header `title` value is too long (max 44) --> ERCS/erc-7734.md:3:7 | 3 | title: Decentralized Identity Verification (DID) Standard | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ too long | = help: see https://ethereum.github.io/eipw/preamble-len-title/

Check failure on line 3 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `title` should not contain `standard` (or similar words.)

error[preamble-re-title]: preamble header `title` should not contain `standard` (or similar words.) --> ERCS/erc-7734.md:3:7 | 3 | title: Decentralized Identity Verification (DID) Standard | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prohibited pattern was matched | = info: the pattern in question: `(?i)standar\w*\b` = help: see https://ethereum.github.io/eipw/preamble-re-title/
description: A standard for decentralized identity verification on the blockchain.

Check failure on line 4 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `description` should not contain `standard` (or similar words.)

error[preamble-re-description]: preamble header `description` should not contain `standard` (or similar words.) --> ERCS/erc-7734.md:4:13 | 4 | description: A standard for decentralized identity verification on the blockchain. | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prohibited pattern was matched | = info: the pattern in question: `(?i)standar\w*\b` = help: see https://ethereum.github.io/eipw/preamble-re-description/

Check failure on line 4 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `description` should not contain `standard` (or similar words.)

error[preamble-re-description]: preamble header `description` should not contain `standard` (or similar words.) --> ERCS/erc-7734.md:4:13 | 4 | description: A standard for decentralized identity verification on the blockchain. | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ prohibited pattern was matched | = info: the pattern in question: `(?i)standar\w*\b` = help: see https://ethereum.github.io/eipw/preamble-re-description/
author: Anushka Yadav <@64anushka>

Check failure on line 5 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

authors in the preamble must match the expected format

error[preamble-author]: authors in the preamble must match the expected format --> ERCS/erc-7734.md:5:8 | 5 | author: Anushka Yadav <@64anushka> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unrecognized author | = help: Try `Random J. User (@username) <[email protected]>` for an author with a GitHub username plus email. = help: Try `Random J. User (@username)` for an author with a GitHub username. = help: Try `Random J. User <[email protected]>` for an author with an email. = help: Try `Random J. User` for an author without contact information. = help: see https://ethereum.github.io/eipw/preamble-author/

Check failure on line 5 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `author` must contain at least one GitHub username

error[preamble-author]: preamble header `author` must contain at least one GitHub username --> ERCS/erc-7734.md | 5 | author: Anushka Yadav <@64anushka> |

Check failure on line 5 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

authors in the preamble must match the expected format

error[preamble-author]: authors in the preamble must match the expected format --> ERCS/erc-7734.md:5:8 | 5 | author: Anushka Yadav <@64anushka> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unrecognized author | = help: Try `Random J. User (@username) <[email protected]>` for an author with a GitHub username plus email. = help: Try `Random J. User (@username)` for an author with a GitHub username. = help: Try `Random J. User <[email protected]>` for an author with an email. = help: Try `Random J. User` for an author without contact information. = help: see https://ethereum.github.io/eipw/preamble-author/

Check failure on line 5 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `author` must contain at least one GitHub username

error[preamble-author]: preamble header `author` must contain at least one GitHub username --> ERCS/erc-7734.md | 5 | author: Anushka Yadav <@64anushka> |
discussions-to: https://ethereum-magicians.org/t/discussion-on-decentralized-identity-verification-did-standard/20392
status: Draft
type: Standards Track
category: ERC
created: 2024-07-02
created: 2024-06-26
---

## Abstract
Expand All @@ -16,7 +16,7 @@ This proposal introduces a standard for decentralized identity verification (DID

## 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.
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.

## Specification

Expand Down Expand Up @@ -69,6 +69,41 @@ interface IDecentralizedIdentity {
```

### Usage
#### 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.

### How It's Supposed to Be Used
#### Creating an Identity

To create a new decentralized identity, a user calls the createIdentity function with the hash of their identity data. The contract stores this hash and emits the IdentityCreated event. This step ensures that the user's identity is registered on the blockchain.

#### 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.

#### Revoking an Identity

If a user wishes to revoke their identity, they can call the revokeIdentity function. The contract marks the identity as not verified and emits the IdentityRevoked event. This feature allows users to manage their identities actively and revoke them if necessary.

#### Retrieving an Identity

Anyone can retrieve the details of a user's identity by calling the getIdentity function with the user's Ethereum address. This function returns the identity details, including whether the identity is verified. This feature allows dApps and services to check the identity status of users securely.

## Differentiation

Check failure on line 103 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

body has extra section(s)

error[markdown-order-section]: body has extra section(s) --> ERCS/erc-7734.md | 103 | ## Differentiation | = help: see https://ethereum.github.io/eipw/markdown-order-section/

Check failure on line 103 in ERCS/erc-7734.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

body has extra section(s)

error[markdown-order-section]: body has extra section(s) --> ERCS/erc-7734.md | 103 | ## Differentiation | = help: see https://ethereum.github.io/eipw/markdown-order-section/

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.

## Rationale

The design leverages cryptographic hashes to represent identity information, ensuring that sensitive data is not stored directly on the blockchain. The use of verification hashes allows for flexible identity verification mechanisms, and the inclusion of events ensures transparency and traceability.
Expand Down

0 comments on commit 5999900

Please sign in to comment.