[DEMO] NxxtechID, a blockchain identity application
One of the main pressing issues across the internet and every online industry in recent years is the identity. Identity of users, their data and personal information, throughout the leverage of access to online service and owning user’s own data.
As with every challenge, solutions are being searched for and from our perspective, blockchain technology can answer the challenge of identities.
Our platform Nxxtech serves as the modular blockchain architecture, on which any kind on distributed application can be developed. For the purpose of managing digital identity, we developed NxxtechID mobile application, aimed to do exactly what comes as an answer to the digital identity issues.
How does this app work? How can we use it connect our digital identity with online services and with the internet of things network?
We prepared a demo video with basic functionality of the app and the process explained in the following blog. Go through the video and below the steps are explained a bit further.
Step 1: Create NxxtechID Identity
After downloading the app to your mobile phone, basic identity needs to be created. On opening the app, Welcome screen and legal terms appear, and of course only after you agree, you can continue. First input required from the app is your mobile phone number, for the purpose to confirm your identity. After the verification code is inserted and confirmed, you proceed to the identity creation screen, where you choose your wallet password and a wallet name. The identity is created and information saved on blockchain.
Technical background:
When the phone number is verified, ethereum wallet is created, with ethereum address, public key and a private key that is stored on your phone. This public address and a private key form your unique identity. Ethereum address and verified phone number are stored to the blockchain storage system, the InterPlanetary File System (IPFS)
Step 2: Add additional identity details
Entering more identity details is the next option in the app, where you can optionally provide information like your full name, email, date of birth, residency, company, etc.
The next step here is to provide additional security measures, like pin number, fingerprint or a complex password.
Technical background:
Additional data, provided by the user, is also stored to the IPFS and app storage for faster access the next time.
Step 3: Login with NxxtechID
When all the basic necessary information is entered into the app, we can go further and explore, how can we access online service. A website, where you’re requiring an access to, displays a QR code. When you scan the QR code, you choose which element of your information you allow to be shared with the online service you’re accessing and confirm by pressing Authorize button. The result of this last action logs you into a website.
Technical background:
In the scanning QR process, application checks if user is already registered on the website.
If the user is registered, it logs the user to the website and access token is recorded to blockchain. On the next login, website reads the access token from blockchain and checks if user can be logged in.
If the user is not yet registered, the app shows the user (identity owner) terms and conditions required and optional data with possibility to confirm or deny access to the users’ data.
If (when) user accepts the request from the website, new access is recorded to the IPFS and access token is recorded to blockchain. Website reads access token from blockchain to check if user can be logged in. If all is in order, a page redirects a user to the users’ page.
On Access management screen user can check the identity details shared; access status, if access has been revoked or paused; time of expiration; and history of changes.