Revolutionary Crypto backup and recovery system built completely on chain using Zero-Knowledge
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!
Links
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.