The identity consists of two main parts:
- Keys that owns and controls the identity
- Claims that belong to that identity.
ERC725: Identity Keys
Is used to manage unique identity for humans, groups, objects, and machines. This identity can hold keys to sign actions (transactions, documents, logins, access, etc), and claims, which are attested from third parties (issuers) and self-attested (#ERC735), as well as a proxy function, to act directly on the blockchain.
ERC735: Identity Claims
It describes standard functions for adding, removing and holding of claims. These claims can be attested from third parties (issuers) or self-attested. This standardized claim holder interface will allow Dapps and smart contracts to check the claims about a claim holder. Trust is here transferred to the issuers of claims.
The relation between ERC725 and ERC735
ERC 735 deals with the management of claims made about an ERC 725 identity. It facilitates an emergence of a web of trust, by relying on the claims of trusted third parties about a given identity.
The following is the inheritance diagram showing how the standards could be implemented. Note that the 'final' identity smart contract inherits both functionalities of ERC 725 and ERC 735:
For the implementation of ERC725 and 735, refer this:
https://hackernoon.com/first-impressions-with-erc-725-and-erc-735-identity-and-claims-4a87ff2509c9
Here is the sample project code which uses ERC725 in ethereum for Identity management.:
https://github.com/OriginProtocol/origin-playground