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

Wrong mnemonics generated #239

Open
jsarenik opened this issue Dec 26, 2024 · 10 comments
Open

Wrong mnemonics generated #239

jsarenik opened this issue Dec 26, 2024 · 10 comments

Comments

@jsarenik
Copy link

jsarenik commented Dec 26, 2024

Description

This is fully reproducible for me. Sometimes (I guess at least one in 12 but I had it earlier) the 12-word generated mnemonic is not BIP39 valid.

Version

4.1.0

Steps to reproduce

I do it with Testnet on in App Settings and Personal Testnet Electrum server set to mempool.space:60602

The wrong mnemonic takes a number of retries (many mnemonics are OK, only some are wrong, but soon - i.e. less than 12 retries for me)

Assuming you have some Testnet wallet loaded already and use EN_US locale on Android:

  1. Tap on three dots (top-right)
    • Add New Account
  2. Show advanced options
  3. 2of3 with 2FA
  4. New recovery phrase
  5. 12
  6. Write down and test with either another Green in Recover or using [web bip39](actual link auto-removed by Blockstream for security reasons

Expected behaviour

I would expect every single generated 12-word (I have not tested with any other) mnemonic to be BIP39 valid.

Actual behaviour

I got strike identify shoot hire gown response episode sweet couch voice amazing master which has a wrong checksum. The valid one would end with mask.

Screenshots

Screenshots contain following future-unforgeable timstamp: 876482 sk: eaba 94

image
image

Device or machine

Android 14

motorola edge (2022)

@jsarenik
Copy link
Author

jsarenik commented Dec 27, 2024

For the record and my own clarification: There was a fake "support" [message](actual link auto-removed by Blockstream for security reasons which was spam but since it was removed from github so that no one will ever be able to see and learn from it (if I were to say something it would be "And let all the human knowledge rest in the proprietary LLM modules so that humans stay in their reptile state which is good for beer business…").

(was:) Thanks @greenaddress for removing the link. (not so thankful anymore, but bots don't care, right? or is there always some human behind the bot?)

@jsarenik
Copy link
Author

jsarenik commented Dec 27, 2024

Adding here few more related notes. All is on Signet (same hrp as testnet).

mix holiday remember burger way rate sort price piano topple nest cattle - this is another wrong BIP39, the last word here shall be catch to match the other words and their order. This is the first seed that made me notice since it was wrong on the first try (and I tried to Restore it to another Green Wallet when I noticed it does not work and was confused for some time since my hands do not operate as well and precisely as my mind instructs them so I thought I had to have done some typing mistake…).

2of3 seem to not be getting any results even though transactions were sent:

actual link auto-removed by Blockstream for security reasons

actual link auto-removed by Blockstream for security reasons

@jsarenik
Copy link
Author

jsarenik commented Dec 27, 2024

Screenshot from a 2of3 account on a wallet that shall have received the sats:

image

But I think there is still a chance it is just not showing because 2of3 does not play well with a Personal Electrum ServerTestnet Electrum server in App Settings set to mempool.space:60602 which is an electrs endpoint for [Signet](actual link auto-removed by Blockstream for security reasons

@jsarenik
Copy link
Author

jsarenik commented Dec 27, 2024

And two more by mistake. Straight from faucet.

actual link auto-removed by Blockstream for security reasons

actual link auto-removed by Blockstream for security reasons

@jgriffiths
Copy link
Contributor

Hi @jsarenik Thanks for reporting this!

The underlying gdk library that the app uses validates the mnemonic that is created, and I notice that the first 2 letters of the last word seem to match the first two letters of the expected checksum - so I think this is an issue with the mnemonic display code. I've passed it on to the Android devs for evaluation.

@domegabri
Copy link
Contributor

@jsarenik i see that the 12 words in the screenshot are actually a valid mnemonic. Was the example you provided above the screenshots (where you say that mask is the correct 12th word) reproduce in the android app too?

@jsarenik
Copy link
Author

Interesting. I am not sure what you mean @domegabri since both the mnemonics I provide in this issue are invalid and were generated by Blockstream Green Wallet 4.1.0 on Android. I was not able to reproduce the issue yet with version 4.1.1 but I have also not tried even 12 times.

The fact all my links were bot-removed is quite sad. I did not have other backup except if I would find the transaction IDs in my testnet wallet history.

First wrong mnemonic referred in the beggining of this issue --- #239 (comment) (when this Github link gets removed I have something to tell the bot) :

image

Second mnemonic from another later comment here:

image

@jsarenik
Copy link
Author

jsarenik commented Dec 30, 2024

I would suggest everyone on this issue to (at least) read BIP39. Next level would be to implement it in your preferred programming language (I did so in POSIX shell recently).

UPDATE: When the link is bot-removed, it pointed to github.com slash jsarenik/diceware/blob/master/xf.sh

@jgriffiths
Copy link
Contributor

UPDATE: When the link is bot-removed, it pointed to github.com slash jsarenik/diceware/blob/master/xf.sh

@jsarenik We have resorted to using a whitelist of allowed domains for links, because blacklisting them allows scammers phishing as support to quickly switch domains, and github is not able to respond to phishing reports in a timely fashion (nor does it give us any fine-grained tools to prevent spam, such as disallowing comment links from new users, or manual comment approval).

@jsarenik
Copy link
Author

jsarenik commented Feb 4, 2025

For some related information see [How Many Bitcoin Seed Phrases Are Only One Repeated Word?](actual link auto-removed by Blockstream for security reasons

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
@jsarenik @jgriffiths @domegabri and others