AbcPay Account and 2FA
Need to have the ability to link a personal account to an email address or phone number
- The account will be created using the 2-3 multi sig configuration
- 2 keys will be held by the user, in which 1 will be stored in the wallet, and another will be stored as a recovery key separately and secretly
- The remaining key will be stored in a key server, called linked key
- The linked key will be linked to an email address or phone number. Email or phone verification is required to link successfully
- When someone want to send to the account, the wallet client will communicate to the key server using the account id (email/phone). The key server will return with a new/unused address to which the sender can send the fund to. The address can be derived from the xpub/xpriv keys stored in the key server. Then the sender can propose a transaction to send to the returned address. This feature is to ensure the privacy of the receiver.
- The email/phone can also be used to act as 2FA for the user, so that when the user want to send a transaction, a code will be sent to the email/phone and the user has to enter the correct code to send the transaction.
- Optionally, the user may want to hide the email/phone, by setting up an account Id instead of using email/phone, in which case their email/phone is hidden and cannot be used to send fund to.