project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

Lynx

Social media based Account abstracted smart contract wallet protocol with 1 EOA & 2 social media handle as keys

Lynx

Created At

Scaling Ethereum 2023

Project Description

Taking inspiration from the current hot web topic in web3, Account Abstraction combines it with rinkeby faucet's social media-based verification. Lynx wallet is an attempt to create an ownership recoverable social media-based MPC (or multi-sig) smart contract wallet. In the Lynx wallet, the owner can spend tokens (with a limit) using their social media, yeah without using an EOA wallet. Here, in India, lots of people do shopping through FB messenger or micropayments from Whatsapp. Lynx allows users to harness the same power in the blockchain realm, they can transfer money or shop online just from their chat apps. The EOA will serve as a power key, a secret weapon required only when withdrawing heavy funds. QuadrigaCX has already lost $190M due to irrecoverable, stubborn crypto wallets. Technologies like MPC and multi-sig emerged to tackle this problem, but they only managed to witness success with enterprises or tech-savvy people. Almost every social media user owns multiple handles, a real one, an official one, a private one, and fake one, and so on, but even many seasoned crypto traders still use a single key-pair EOA wallet.

The project combined the decentralized technology with existing social media and deployed it all on Gnosis Chiado.

How it's Made

We have created a lightweight custom protocol implementation upon the Gnosis chain to accommodate social media handles as wallets and posts as atomic transactions.

The stack can be divided into three sections

  1. The handles ( 1 EOA, 2 social media accounts).
  2. On-chain smart contract wallet.
  3. And the glue between them is our custom nodes, called executors.
  • Much like EOA, if not hijacked, each social media account uniquely represents the owner on the platform and much like txns, each post or message is unique with a particular signature.
  • The current version only supports Twitter & Mastodon and the hash of each post works as a transaction hash, the hash of the user profile URL is the public key.
  • The user will have to submit the URL of the post through an API call, which is then inserted in the mempool.
  • The executors, pull bundles of URLs and extract the rpc instructions from the post.
  • The executor nodes can only communicate with Executor Smart Contract which holds special powers over the Lynx Wallet Factory contract.
  • Executor smart contract can only accept two external calls lynx_create and lynx_call. lynx_create is only used to create a new Lynx Wallet, 'lynx_call is used to perform all other tasks.
  • The consensus is achieved on-chain i.e any instruction is executed only when 51% of the executor nodes submit the same data.

Reason to choose the Gnosis chain: Time invested to achieve consensus will increase, due to the Lynx protocol's consensus on top of the chain's consensus. Along with time, the gas will skyrocket too, Gnosis being fast and cheap aids in the protocols realization.

The three most important aspects of the protocol are

  1. Creation of wallet:
    • To create a new Lynx wallet 1 EOA and 2 social media accounts are required.
    • The EOA will publish the first create call directly to Lynx Wallet Factory.
    • For each social media handle the EOA will produce a particular signature sig(n) = signature(eoa || s(n)) where s(n), is the social media account URL. Proving the ownership over all three handles
    • Both social media will post their particular signature and submit the URL to the network, and after successful consensus, a new Lynx Wallet will be created.
  2. Two-factor authentication:
    • Each handle (EOA or social media) can independently spend tokens but only within the set limit.
    • When the owner requires to transfer more tokens, the transaction should be verified by 1 EOA and 1 social media handle by submitting the same call.
    • A unique hash key for each handle is generated to record the authentication data. To enforce our philosophy, EOA is a weapon for special purposes, only two hash keys will be generated h1:= hash(eoa || data) and h2:= hash(s1 || s2 || data).
    • After successful authentication, the call will be executed.
  3. Recover:
    • One of the first potential use of these multi-key wallets are the recovery of ownership in case of EOA hijacking or loss of key.
    • In this special case, the two social media handles authenticate for the same transaction data.
    • After successful authentication, the new EOA key will be updated as a handle.

Roadblocks:

Till 22nd March, we were working on the Staking protocol for Filecoin, which didn't work out. This idea popped up on the same day after watching Kiara (virtual influencer) on the internet. Without much time on our hands, we worked on this project for day-night for two days. The backend was completed but since none of us are front-end dev, it became a problem. With drowsy eyes, lots of coffee in our bloodstream, and perfect alignment of the Crescent moon above Venus (on Ramadan), we chose to go for cli rather than UI.

background image mobile

Join the mailing list

Get the latest news and updates