I have been thinking about a way to add Google auth to crypto wallets in a seamless way for a lot of time. I have come up with some solutions but I need some help regarding how I can make these solutions better (or help to see the right direction in case I am on the wrong path). This is what I have thought of:
​
1. Smart contract wallet: This is the most obvious solution. Create a decentralized wallet which checks for GAuth code before any transfer or approval. However, the fact that the user needs to move his funds from his main wallet adds a lot of friction to this idea.
2. Wrapped token: Create a wrapped token of USDT, say gUSDT. Now, in the smart contract of gUSDT, make it mandatory to check GAuth code at all transfers and approvals. Also add liquidity for the gUSDT/USDT pair in Uniswap so that users can swap gUSDT whenever they need. But the downside is that a lot of functions will become unusable by this (eg. stake USDT, transfer to Binance etc.)
3. MPC with GAuth code: I am not sure if this possible but can we build an MPC where one of the parts of the secret will be the GAuth code? I understand that anyone can brute force a 6 digit code but I would assume that we can make the MPC function purposefully slower making it harder to brute force.
I have spoken to a decent number of people to understand that there are a lot of crypto users (both native and non native) who would love to have GAuth security on their crypto wallets. However, most of them won’t be willing to move their funds elsewhere for this.
Anyone here who has tips/advices for me to build a better solution or would love to use the above-mentioned solutions? Thanks for the help!
make a web 3 version and tokenize it
Check out Radix DLT and the work they are doing with their new wallet.