Skip to content

Multifactor social recovery app for LUKSO Universal Profile

License

Notifications You must be signed in to change notification settings

Lumukso/lumukso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App | Demo Video | Contact


Lumukso is a multifactor social recovery app made for Lukso Universal Profile.

The application utilizes external key managers such as Magic.link & web3auth.io to help Lukso universal profile users recover their access using SSO.

There's also a new concept of "Guardian Invitation" being introduced into Lumukso's smart contract. This concept applies a 2-phase consent flow that requires a signature from invited addresses to confirm their agreement on becoming a guardian.

Prerequisite

Please make sure you have installed v1.0.0-develop.298-MV3 Lukso UP browser extension and disabled Metamask and other browser wallets.

Visit https://docs.lukso.tech/guides/browser-extension/install-browser-extension/ for the download link and instruction.

Workflow

  • Alice is the original owner
  • Bob is the new owner
  • Charlie is the guardian

Concepts

SSO Guardians

External key managers like Magic.link and Web3auth.io enable users to become their own social recovery guardian via SSO. The private keys of these key managers are accessible to end users as long as they have access to the configured SSO methods.

Guardian Invitation & Confirmation

2-Phase guardian address configuration is applied to Lumukso in order to make sure that every added guardian has made a consent to confirm their intention to become a guardian. This consent is made via a specially crafted signature defined in Lumukso smart contract.

Social Recovery Fault Tolerance

This concept is used to determine the LSP11 guardians threshold parameter using Byzantine Fault Tolerance theorem where there can be only one-third of the guardians being faulty.

$$Number of Guardians = 3Faulty Guardians + 1$$

$$Guardians Threshold = Number of Guardians - Faulty Guardians = 2Faulty Guardians + 1$$

For example when fault tolerance is configured as 1, then 3 guardians are required to recover the access of a user.

Supported Guardians

  • Universal Profile
  • magic.link
  • web3auth.io

Utilized Standards

  • LSP0 - Universal Profile
  • LSP6 - Key Manager
  • LSP11 - Social Recovery

Build

Contracts

cd packages/contracts
pnpm install
pnpm test

App

cd packages/app
pnpm install
pnpm dev

Contact

About

Multifactor social recovery app for LUKSO Universal Profile

Topics

Resources

License

Stars

Watchers

Forks