Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-existent instructions for resetting keys with Urbit Master Ticket #57

Closed
rmariani opened this issue Feb 21, 2019 · 3 comments
Closed

Comments

@rmariani
Copy link

So, if you have a paper wallet from the Wallet Generator, you are given two pieces of gobbledygook: the Master Ticket and the BIP39 Mnemonic. Bridge software gives users the option of using either of these things things.

Cool! To the user, this just looks like there's two different "passwords" to access their point with. They come to an identical interface with either of these things.

However, there is a problem when the user needs to rekey. Them using BIP39 vs the Master Ticket results in subtle but important differences. With BIP39, "Set Urbit networking keys" presents an empty field with something about entering a 32-bit hexademical string; with Master Ticket, something is there for you, and it's not clear where it came from (it came from the HD wallet derivation scheme, but they don't know that). There's a blurb about a seed being generated for you with the second method, but you only see that once you've already logged in. The illusion of you accessing an identical user-world otherwise persists.

Ok, that's only kind of weird and annoying on its own. But in the Master Ticket Otherworld, you can modify the network seed in the "Set Urbit networking keys" area. But, despite being allowed to do that, any modification from that pre-generated string results turns out to be illegal once you try to generate an Arvo keyfile. It says: "WARNING: derived key doesn't match Azimuth keys!"

TL;DR: Why should users be able to set their own networking seed in the Master Ticket option?

@jtobin
Copy link
Contributor

jtobin commented Feb 26, 2019

Agreed; internally, we should probably just disable modifying the field when walletType is either WALLET_NAMES.TICKET or WALLET_NAMES.SHARDS. There will be problems if (when) anyone ignores the "one ship, one wallet" paradigm of the HD wallet, but they're in for a world of hurt if they do that anyway.

Anyway: that's pretty simple, but the RequiredInput component used for the network seed actually has no obvious disabled property. So that needs to be tweaked first, in order to be able to disable modification.

@alexmatz
Copy link
Contributor

alexmatz commented Mar 1, 2019

thanks, will note!

@c-johnson
Copy link
Contributor

Fixed via #85. Let us know if you have any more issues with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants