Two Factor Authentication (Multi-sig)
See original GitHub issueOverview
Adding support for multi-sig based 2FA will make the web wallet more secure. This will require deploying a contract to wallet users’ accounts, and will allow them to specify which transactions require multi-sig.
Stories
As a user, I want to set limits on my transaction amounts, requiring two factor authentication above the limits, so I can use the web wallet to safely store $100-$1000 worth of assets.
Flows
For any account, there are minimum three keys
1 key in localStorage 1 key in recovery 1 key on our server
TXs require 2-of-3 multi-sig
Create account with 2FA
- User receives Linkdrop link
- User enters desired account name on
/create
- User chooses how to “Secure Account” a. Use Ledger only b. Setup SMS-based 2FA, choose email or seed phrase recovery
createAccount
function on Linkdrop contract is called- Up to 3 keys are passed as arguments to be added as multi-sig keys a. If Ledger, only one key is passed and multi-sig is 1-of-1 b. If 2FA, backend generates a key to be added to multi-sig, returns to frontend
- In a batch TX a. Account is created b. Multi-sig contract is deployed, with keys as multi-sig keys c. Keys are added as access keys (separate from above) d. Account is funded (if applicable)
Sign TX with 2FA
- User initiates a TX, signs with key in localStorage
- Server sends an SMS to the user with TX details, code to enter
- User enters the code into the UI
- Server signs and sends TX
Recover with 2FA (Email)
- User clicks link in recovery message
- User is redirected to
/recover-with-link
- Selects “Continue”
- Uses Sign TX with 2FA flow to finish recovery
Recover with 2FA (Seed)
- User navigates to
/recover-seed-phrase
- User enters account name and seed phrase
- Selects “Continue”
- Uses Sign TX with 2FA flow to finish recovery
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (8 by maintainers)
Top Results From Across the Web
What are Multi-signature 2FA Crypto Wallets? - HelloCrypto
The most common and easiest type of multisig is two factor authentication (2FA), a version of a dual key system. This system, simply...
Read more >What Is a Multisig Wallet? - Shrimpy Academy
Two -factor authentication is a method by which a user requires two keys to access funds. Most online platforms already utilize this model...
Read more >What Is a Multi-Signature Wallet? - Gemini
Multi-sig can also serve as a form of two-factor authentication (2FA), because users can hold private keys on different devices. However, there ...
Read more >What is a multisig wallet? Understanding the basics - Casa Blog
Multisig is short for multisignature, a security feature with more ... The premise is similar to two-factor authentication, but more robust.
Read more >How does Blockstream Green's multisig security work?
The second key is held on the Blockstream Green servers protected by two-factor authentication (2FA). Multisig Shield Account Types. You can create two...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@ilblackdragon what if friends collude to steal your phone 😂
Expanding on @ilblackdragon’s comments:
Goals
Prevent attackers from
Flow
For any account, there are minimum three keys
TXs require 2-of-3 multi-sig
cc @vgrichina @Patrick1904