Inspiration
One day, I was thinking about the proxy contracts and thought of an exploit scenario. As many people were giving infinite approvals to smart contracts, a proxy contract could be changed and used to withdraw funds from the wallet. I also wrote a Medium piece about it (https://medium.com/easyblock-blockchain-technology-blog/why-you-should-never-approve-proxy-smart-contracts-for-token-spending-3797e542113b). A couple of months later the idea that smart contracts can withdraw funds from one wallet combined with a popular action movie concept in my mind. "If they don't hear from me in 5 minutes, this video will get released to the internet. " (Probably me watching the Mission Impossible series again back than helped this as well.) And on the back of my mind, I was always thinking about one of the inherant problems of crypto: losing access to ones wallet. Lack of inheritance to family members and forgetting the private keys have always been an important problem in the crypto space. So I thought, people can use a contract which gives them access their funds from a secondary wallet in case they lose access.
What it does
EasyBackup is decentralized and trustless wallet backup and inheritance protocol. In the website the users choose 5 parameters for a backup and then it get recorded to the blockchain. Those 5 parameters are:
Token: The token you want the backup wallet to be able to access. You can choose from the list or use a custom token address.
Amount: The amount of tokens the backup wallet can access. If you choose "infinite" the backup will able to access all, or you can limit the amount.
Backup Wallet: The wallet which you want to be able to access your tokens.
Access Time: The time which needs to pass before the backup becomes accessible. For example, choosing 1 year means, the backup wallet can transfer the specified tokens to itself 365 days after your last interaction with the contract.
Automatic Transfer: If this option is enabled the funds will automatically get transferred to the backup wallet.
While creating a backup they also approve the EasyBackup contract for token transfer. Thus, in case they loose private keys or in the unfortunate case of passing away, the backup wallet can claim those funds from the primary one and the funds get safer. (Only the backup wallet can do the claim and the amount of time specified in the "access time" option should pass after the last interaction of the wallet with the EasyBackup contract.)
Centralized exchanges have some procedure for inheritance but this problem hasn't been addressed in the DeFi space. In addition, EasyBackup doesn't need any lock up or funds or anything. After people create the backup, they can continue using their wallet normally without any drawbacks.
In crypto, there is the inverse corelation between security and usability. More secure people get, the chance that they can lose access to their wallet increases. EasyBackup addresses this issue as well. For example, people can assign backups from their secure cold wallets to their secondary hot wallets which they may have shared the private keys with family members as well. As the secondary wallet don't get access to the funds before the necessary time passes, this doesn't cause any security risks.
How we built it
I started by writing the smart contract and testing if it actually works. After proving the concept I continued the development of the smart contract to make it as versatile as it can be. Lastly, I coded the frontend and tried to improve its UX to make it user friendly.
Challenges we ran into
I can say the main challenge was the frontend design. As I am not a designer myself, the frontend didn't look pretty and I tried to do something which looks okay. However, one of my primary todos is to work with a designer to improve the UI/UX of the EasyBackup website.
Accomplishments that we're proud of
EasyBackup solves a problem which no decentralized protocols solves right now in a really simple and "easy" way, I believe this is the main value of EasyBackup.
What's next for EasyBackup
Improving the frontend is the first step. Then to attract more users and let more people keep their funds safe with EasyBackup. Hopefuly, EasyBackup will be the primary protocol for backup wallets and intheritance in the DeFi space.
Built With
- javascript
- nextjs
- react
- solidity
Log in or sign up for Devpost to join the conversation.