[May 2022 Monthly Report] Identicon Verification Protocol (May 16 - June 03 - 2022)

Project title: Identicon

Proposal: Identicon Verification Protocol

Project Summary

Identicon is a trustless protocol for identity verification on NEAR Protocol, focused on providing multiple signed verifications of a real world entity and binding it to one (or more) digital identities, and independent of the form these digital identities may take (NFT, DID, etc). It is not an identity vault or a repo for unique identity.

Is based on a set of decentralized and random selection of human nodes (citizens) which will produce the “on-site” verification of the solicited identity, proof of life or proof of existence.

Series: Onboarding NEAR Certified Developer bootcamp participants to Developers in Residence program

Team involved in development:

Facilitators

Periods and Results

May 16/2022May 20/2022, (Argentina)

During this week we assembled the Team, we have had our first team meetings to bootstrap the project, define criteria and start designing the architecture.
Initial outcome:

  • We had to clarify general concepts, flow and several decision points. @mariozito started creating docs and diagrams. organizing work, code and documentation. Also translating previous work on the NCA, NCD and NCAR bootcamps to this repo.
  • As we will be focused on general public, non crypto users, the onboarding MUST be extremely simple (similar to Web2) without the need to use wallets. But we will have wallets and NEAR accounts created on background. @leamanza started designing the onboarding.
  • We discussed alternatives to manage privacy in the Blockchain, as the ProofOfLife needs some personal private data that should not be visible to third parties.@jmescher started analyzing this as well as using pub/priv key pairs to encrypt it.
  • Established the Project Roadmap and Weekly tasks
  • GitHub repo is Identicon Network and Documents

May 23/2022May 27/2022, (Argentina)

This week we focused on points mentioned in previous week, and decided that not only for simplified onboarding but also for encrypting personal data, we will need a dedicated (centralized) Gateway.

  • @leamanza finished the design and documented the onboarding processed.
  • @jmescher defined the Gateway tech stack, did the search for providers and the bootstrap of the Gateway.
  • @mariozito designed and documented the Message flow for the onboarding, the initial (partial) Gateway API, and the Gateway DB models.

May 30/2022Jun 03/2022, (Argentina)

  • @jmescher implemented the Gateway DB and models and already has a dockerized working instance using Ubuntu20.04, Nodejs, Expressjs, Sequelize ORM and SQLite.
  • @leamanza finished the research on how to create a verification certificate, and documented the Verifiable Credentials standard applied to our use case.
  • @mariozito designed and documented the message flow for the Verification request, continued with the Gateway API, and finished the Contract data model.
  • As a team we reviewed all work done, assigned priorities for next week, and defined certain points, resumed in the Meeting briefings.

Last weeks results

An index of all the created documentation, tech stack and design decisions follows:

Intro and concepts

Basic concepts

General flow diagram

Verifiable Credentials

Message flows

Onboarding of new users

Verification request

Architecture and design

General arcuitecture

Data models

Open API

Contract and methods

Meeting briefings

Resources

Articles and references