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

Add button to test shares produce original mnemonic #7

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jsanjuas
Copy link

Added a button to the UI that tests that the mnemonic is always recovered given enough shares to buy the user peace of mind.

Caveat: since it exhaustively checks all combinations of shares, it is only practical for a rather small number of shares, though -- my laptop already needs ~40s for n=15.

@iancoleman
Copy link
Owner

Very interesting idea. Thanks for the pull request. Leave it with me to consider for a while.

My initial feeling is it's not in the interest of the user to be casting doubt like this. If the shares are created they will work, end of story, and users should have trust in it as a mathematical certainty.

It's sort of like how you wouldn't put a button in a calculator app to test all the combos of 2+3+4+5+6+7=27

But considering the newness and 'complexity' of shamir39, I can understand the motivation for this feature.

@jsanjuas
Copy link
Author

Sure!

Let me clarify that, as a user, I wouldn't be doubting the math as much as a particular implementation of it in a dynamic language that features surprising behaviours in edge cases. Consider how critical the correctness of this tool is to a user - in this case, I would say there is never "too much reassurance" that it indeed works.

I understand your point, though. I'd argue that a measure of doubt is already cast by the warnings you have (very responsibly) included at the top.

@yorickdowne
Copy link

My initial feeling is it's not in the interest of the user to be casting doubt like this. If the shares are created they will work, end of story, and users should have trust in it as a mathematical certainty.

Something that is in the interest of the user is to type the shares back in, and verify them. Transcription errors happen, so it's a good step to take the shares from their eventual storage place - steel, or paper - and verify that they recreate the original seed, before destroying all copies of the seed phrase itself.

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

Successfully merging this pull request may close these issues.

None yet

3 participants