Distributed virtual identity stored in IPFS and governed by an Ethereum smart contract


Basically, the user can create an online distributed identity interacting with an ethereal smart contract. That identity can include personal data such as email addresses, real addresses, phone, email, etc. That data can be stored in IPFS encrypted or no. When the user wants to share his data with a 3rd party he/she/it will provide a pointer to the ipfs hash. The service has a small charge for the user for the initial identity creation and for each update, this fee is collected via the smart contract.

How it's made

It basically consists of an web interface built with react and hosted in fleek, a smart contract running in ethereum and ipfs as online distributed storage. Basically every new identity is signed by the user's wallet an stored in ipfs encrypted. When one user (buyer) wants to buy another user's identity (seller), the dapp will retrieve the encrypted identity from ipfs will ask the seller to decrypt the identity and encrypt it back using the buyer's public key. Then the buyer will be able to decrypt that identity and store it with his/her data.

Technologies used