HelloZeroNet / HelloZeroNet/ZeroNet

Support for hardware wallets

Open
#2,083 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
18.8k
Forks
2.3k
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

ZeroNet currently uses a local JSON file for storing private keys and accounts. And when using Multiuser plugin, the private key should be written directly to the displayed prompt.

While this is good for local instances, there are security concerns when using public proxies. If a proxy is malicious or compromised and you write your private key, they can steal your account and IDs. There can also be a problem with a local instance in case if the computer is compromised.

**Describe the solution you'd like**

There should be support for hardware wallets. Users should be able to log in with their hardware wallets from both local instance and public proxy. This means that all communication needs to be done with JavaScript.

Most hardware wallets communicate via WebAuthn/U2F which is supported in all browsers so this should not be a problem. Some other hardware wallets require browser extension or local bridge but this is also not a problem.

And if Ethereum cryptography is supported with #2053, there could also be support for MetaMask, WalletConnect and WalletLink.

The most important thing here is that users should be safe even if they use an account on possible compromised proxy or computer. And classic accounts with private keys should remain because not everyone has hardware wallets and private keys are still safe for local instances (except if your computer is compromised).

You can see [MyEtherWallet](https://www.myetherwallet.com/access-my-wallet) and [MyCrypto](https://mycrypto.com/account) for some popular hardware wallets that should probably be supported.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.