ΞID Mobile

Open Source Decentralized Identity Wallet

Kames
4 min readNov 4, 2019

Code: https://github.com/KamesCG/ethid-mobile
Android: Coming Soon
IOS: Coming Soon

Announcement

Launching a new MIT license Decentralized Identity Wallet.

What

An experiment to understand decentralized identity in the mobile environment. The ΞID Mobile experiment seeks to understand what are the optimal method(s) to overcome several unique decentralized identity challenges.

Why

A number of reasons. A BIG reason is 3Box released the identity-wallet module, plus maturing their decentralized identity features: authentication, storage and communication. It's a great time to be a Web3 Developer.

The primary reason is I want a really great decentralized identity wallet. A completely open and free to use codebase that will let me extend and experiment. The decentralized chaos needs to be tamed.

captured screenshots

Architecture

Ultimately the objective is to modularize the core “decentralized” features.

Capturing patterns that emerge around verifiable credentials, decentralized profiles, automated IPFS pinning, delegate key management, etc… Success is functional modules, abstracted and easily migrated to new applications/environment: Smartphone, Browser, Desktop, etc…

As of now… it’s just a very basic React Native application with potential!

Identified Modules to Build

  • WalletConnect/3ID State Sync
  • 3ID UI System
  • 3ID Verifiable Credentials System

Current Setup

The current ΞID Mobile project uses the latest React Native and includes a minimal amount of dependencies.

Major Dependencies

  • React Native: 0.61.3
  • IdentityWallet: 0.2.1
  • Ethers: 4.0.39 (upgrading to v5 soon - testing external effect)
  • WalletConnect: 1.0.0-beta.38

Greenfield Development

Decentralized identity (as far I understand it) can be technically categorized into several overarching protocols, systems and practices: verifiable credentials, identity hubs, social connections, delegate key management, etc

Eventually, the application may (or may not) experiment with each of these.

Picking The Right Features

However, instead of exhaustively discussing how the ΞID Mobile application my experiment with each of these categories, we’ll keep it simple and discuss how the 3Box authentication, storage, messaging features will help drive the ΞID Mobile features roadmap.

  • Authentication
  • Storage
  • Messaging

Peer-to-Peer Verifiable Credentials

Peer-to-peer verifiable credentials will be the first feature target.

The ΞID Mobile experiment will first focus on peer-to-peer verifiable credentials. A core offering made possible in the identity-wallet right now.

Shoutout uPort and team for creating the did-jwt module!

The verifiable credential part of decentralized identity is new, and largely unexplored territory. IMO it’s been missed/ignored in the Ethereum ecosystem, and thus underutilized as a mechanic for decentralization.

Creating an interesting/compelling application with verifiable credentials could help others understand new ways to include the light-weight data authentication and verification model. Also in my opinion peer-to-peer verifiable credential, is likely the highest-value adding open source feature to help kickstart the’ol decentralized identity engine.

Decentralized developer profiles with social networking sounds dope.
Let’s build that 🏗️

Essential Features for P2P Verifications

  • Decentralized Developer Profile
  • Device to Device JSON-RPC Communication
  • Verifiable Credential Signing UI Kit

Want to help add/pick features?

I’m thinking about adding a voting system. Let me know in the comments if you want a simple way to help decide what features to prioritize.

Contributors

A lot can be learned from a feature driven, MIT license project. The project is MIT licensed to promote contributions and experiments. Here is a list of features I hope to be adding.

  • Decentralized Identity Onboarding UI Kit
  • Decentralized Identity Profile UI Kit
  • Peer-to-Peer Verifiable Credentials
  • Verifiable Credential UI Kit
  • 3ID Standard Experimentation
  • Burner/Delegate Key System (Include existing solutions)
  • Multi-Device Communication for Blockchain/IPFS
  • Multi-IPFS Hub Support/Linking

Want different features? Add to the features discussion or create a pull request. The choices is yours.

#buidl. #commitle. #shipl

--

--