BackItUp

BackItUp

Revolutionary Crypto backup and recovery system built completely on chain using Zero-Knowledge

BackItUp

BackItUp

Revolutionary Crypto backup and recovery system built completely on chain using Zero-Knowledge

The problem BackItUp solves

One of the most common incidence happening in today's crypto world is the people losing access to their wallet. As a result, they lose their hard earned crypto stored inside those wallets.

The problem is so omnipresent that, as of 2023, the estimate of total crypto value stored in these wallets are estimated to be beyond $180 billion dollors. Considering day-to-day data, almost 1500 BTC is lost daily due to this same problem.

Therefore, we have decided to address this significant issue in this edition of ETHIndia. Not only we offer effortless user experience, but also state-of-art technology stack.

The current architecture, while being secure, poses great difficulty to new users as losing private keys can be a single point of failure. Moreover, onboarding for a new user can be difficult as creating a crypto wallet is much different from the all-familiar bank, where funds are recoverable with your real-world identity. The idea of losing your funds if you lose a 64 hex character key could even sound ridiculous to TradFi users.

We have two problems to solve here- the issue of your private key being a single point of failure, and user onboarding to the crypto world having a steep learning curve. This is why we built BackItUp- login with your signed Aadhaar card, and setup recovery for your wallets. In spirit of decentralization, the recovery process is decentralized by making use of Chainlink Functions and Airstack!

Challenges we ran into

Chainlink Functions :

We were trying to run an Airstack query through Chainlink functions, and while the query was working through the Chainlink playground, it was not working on-chain. We solved this by using a different method to convert the request into a string before passing it to the contract.

Airstack Queries :

We needed the last active blocktime of a particular EOA and were confused if the last transaction we fetch from Airstack could be a spam transaction. We clarified this with the Airstack team and filtered through only EOA-initiated transactions.

Safe Module :

We first tried to deploy the safe by ourselves and were unsuccessful, after which we understood that safe has a proxy-singleton architecture. We used the Safe SDK later on to connstruct the enableModule transaction for our Safe Recovery Module.

Contract Verification on all chains :

Contract Verification was not working for any of the contracts compiled with compiler version 0.8.21. We do not know the reason for this yet except for that they differ in the encoded constructor arguments- the one deployed by hardhat and the one computed by etherscan is different. We did this successfully with 0.8.19 later on.

Anon Aadhaar Integration :

The integration for Anon Aadhaar into our protocol was quite complex and we needed to understand how the PCD works under the hood. However, after an overnight effort we were able to integrate successfully.

Intensive User Research :

Surprisingly, this problem is unadressed in most scenarios, ultimately, forcing us into a venture of designing a completely new user experiences, concepts and interaction elements; that were tailored-fit to solve this problem.

Tracks Applied (8)

Polygon Track

We were impressed by Polygon zkEVM's high TPS and have deployed our project onto it. Therefore, we believe our project f...Read More

Polygon

Ethereum Foundation Track

We have used Anon Aadhaar as a login method for all users in BackItUp. We believe this will help in better user onboardi...Read More

Ethereum Foundation

Airstack Track

We have used the AirStack API to determine if a recovery is eligible for activation, i.e, we compute the last active blo...Read More

Airstack

Chainlink Track

We have used the Chainlink Functions service to enable decentralized execution of wills/backups. We do this by executing...Read More

Chainlink

Alliance Track

We believe that our project serves a valid purpose in web3, and we could actually have an impact on the space. Private K...Read More

Alliance

Push Protocol Track

We have used the push protocol service for broadcasting notifications when executors sign the recovery approval transact...Read More

Push Protocol

MetaMask Track

We have used the Gas API in BackItUp to fetch gas fee for submitting transactions.

MetaMask

Scroll Track

We have deployed our project on Scroll.

Scroll

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion