Comments (6)
There would be no password recovery when users use this option.
Do we really want to support it ?
from multibit-hardware.
I agree it is a very dangerous option. Regardless of password recovery, even if you had your seed phrase but forgot the pass phrase then your bitcoins are gone. This negates the premise of just having to look after a seed phrase.
I'm not convinced this needs to be done so I'll move this issue into discussion and see if we get a demand for implementation from the community.
from multibit-hardware.
I'd like to see this implemented like it is on the myTrezor site ideally - in that the password is used as the seed to the device and thus the device can be any number of wallets.
Currently Multibit HD freezes when connecting to a Trezor with the passphrase enabled. The screen on the Trezor asks to enter the password.
I feel explaining how other software implemented this is worth a mention... This proper implementation does not work with Electrum - it recognizes that the wallet isn't the same that it was created with if you use a different password when reopening (probably sees saved, mismatching addresses?) Thus, the $5 wrench attack (see documentation above) becomes a threat - someone asking you for your password can tell that you gave them the wrong one.
Electrum DOES however allow you to easily create the wallet from the hardware device and passphrase as a new wallet - allowing for a way to spend funds in the case that myTrezor is unavailable. At a minimum that should be supported yet explained. Actually, if password is enabled, it might be wise to behave like myTrezor, and give the option to erase all record of the wallet when disconnecting OR save a copy as watch-only while disconnected. I prefer it to just always erase every trace.
from multibit-hardware.
Thanks for reporting the freeze up bug. I've added an issue to MultiBit HD to cover the freeze up when a passphrase-enabled Trezor is detected. In the first instance this will explain why passphrases are not supported.
Just for clarity I'll summarise your additional use case requirements:
- User attaches an initialised Trezor with passphrase and sees the normal Trezor Credentials wizard after startup
- User enters their PIN (optional) and passphrase (mandatory)
- User confirms the deterministic unlock code
- MultiBit HD builds the wallet from BIP39 + passphrase and proceed as normal
- User sets a configuration parameter to secure erase the wallet on exit
- During Exit MultiBit HD secure erases the wallet
There is an argument for the "erase every trace" option which would allow for plausible deniability of use of another's machine. For example one could attach a passphrase-enabled Trezor and then rely on MultiBit HD securely erasing the wallet. This argument is weakened by these factors:
- MultiBit HD wallets are fully AES encrypted
- key- and USB-logging software being installed a priori by those wishing to build a case against the user
- user loses credibility by attempting to cover their tracks (weak I know)
In general, anyone with the level of sophistication required to adequately cover their tracks would rely on external tools to perform the secure delete so it isn't really necessary for MultiBit HD to provide this.
Overall though, what you are proposing (passphrase support) is an advanced use case that only very few people will use. The overwhelming majority of mainstream users will not use a Trezor (against our recommendation that they should for balances over $500). Of those that do many are unlikely to apply an additional passphrase for fear of losing access to their bitcoin due to the additional complexity.
Given that there is a lot of additional work to be done to support this and we're currently maxed out on the Beta 8, 9 and Release milestones I don't see this happening any time soon.
from multibit-hardware.
Note also that as MultiBit HD uses a direct connection to Bitcoin Core nodes the first time it syncs a Trezor wallet it has to sync from a date earlier than the first ever Trezor wallet. This is slow. It can take 30 minutes.
By erasing the encrypted wallet you'd have to redo this every time rather than syncing from the last block seen, which is much quicker.
from multibit-hardware.
Closing as our policy is to not support passphrase-enabled Trezor devices out of concerns for users losing their passphrase thus negating the benefits of HD "wallet words".
from multibit-hardware.
Related Issues (20)
- Improve shutdown process when no Trezor is attached HOT 2
- Simplify staging repository configuration HOT 2
- Support Trezor 1.3.3 (breaking change) HOT 6
- Support for P2SH is missing HOT 2
- Add support for MultiBit Commons HOT 2
- Add support for Ping HOT 2
- Add support for Bitcoinj 0.13.2 Alice 0.1.3 HOT 1
- Getting `Device not attached` error HOT 4
- Trezor API - SignIdentity msg support HOT 9
- Trezor API - Add support for Encrypt/Decrypt Message
- Trezor API - Add support for seed phrase recovery
- org.multibit.hd.hardware.core.domain.Identity - obstructing validation HOT 6
- Trezor API - Add support for passphrase HOT 2
- Trezor API - Identity URI bug HOT 1
- Trezor API - Multisession Operation HOT 1
- Trezor API - USB attach takes long time HOT 15
- Include a proper license header in source files
- TREZOR 1.4.0 fails on Windows HOT 3
- Trezor Examples only work intermittenly
- For more security spongycastle -> bouncycastle
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multibit-hardware.