DISCLAIMER : Worked on the project solo and didn't finish - underestimated the workload. Would like to use the judging time to get advice, I want to finish the project and make a medium article on it - any future work will documented at semisecret.xyz
Inspiration
Contract wallets are great, but many layer 2 solutions and other blockchains don't have the luxury of smart contract support. Seed phrases are often discarded, and people often forget the passwords to their encrypted wallets.
The idea
Prevent losing the password to your encrypted wallet, and prevent your seed phrase getting into the wrong hands (or lost all together). We do this by encrypting a wallet with a randomly generated seed phrase. Users' encrypted wallets would be stored in a server, and only accessible after google authentication. The seed phrase would referred to as a "semi-secret", as they shouldn't share it widely, but there is no direct risk to their key if people have access to this phrase. By encouraging user's to keep multiple copies of their phrase, by giving them to trusted people etc - the user reduces the probability of not having the needed knowledge to recover their wallet. Simultaneously, backup wallet storage providers don't have the key to the encrypted wallet, unless it is explicitly given to them.
This would be integrated into the onboarding flows of mobile dApps/wallets that hold keys. Combined with native meta-transactions, secure enclaves on devices, and transaction firewalls - this could be a compelling alternative to contract wallets.
The application for this would be as recovery tool for keys stored securely within secure enclave within a mobile device (e.g. Samsung's blockchain wallet platform), in the event of phone damage or theft etc. This could also open up the possibility of blockchain scalability solutions with good recover UX, that don't rely on multisig/contracts - e.g. DeFi on mainnet, payments on Binance chain or via state channels etc.
How I built it
Was using React Native and Firebase to build a simple POC but ran into some huge roadblocks
Log in or sign up for Devpost to join the conversation.