-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Receiving address should not offer addresses with unconfirmed transactions #5374
Comments
this is a protection against the creation of gaps larger than your gap limit. |
Can you elaborate? Why would you not include addresses with unconfirmed transactions in the gap limit? Is it because theoretically one of these transactions might not confirm and thus leave a gap? Besides, even if that is the policy and a gap limit of 20 the wallet could still give out one of the other 19 (--N) addresses before this becomes an issue, which would solve the 99% of the problem without affecting gap limit stuff. When there's 20 unconfirmed transactions an alert could warn about this issue. The address reuse with unconfirmed transactions is particularly nasty because you end up with sitations where one transaction confirms and not the other, so you might by accident spend just one of them, which then links together a large chunk of the wallet. I wouldn't have brought it up if I hadn't seen it happen many times. |
that is the intended behaviour. if it does not, then there's a bug |
Confirming that it does not and happy we agree that there is in deed a bug :) |
is this the same as #3812 ? |
Yes, I think so. Noticing I was already commenting in there a year ago :) |
Ok so with 41802d8, The user is supposed to use the |
Tooltip comes up above the text field (white bg), different tooltip above the copy button which has the red background. In any case I think it would be better to display another address. For example the top address among the "Unused" in "Addresses", that is what I use. |
Yes, I've just noticed this as well. This only happens on MacOS; not sure yet why. On Linux and Windows, the whole text field has that red background (not just the copy icon, lol).
Yes, one reason is that it might be confusing to a casual user that the address suddenly changes; and another is that this text field is overloaded. E.g. if you create requests (which will be visible at the bottom of the tab) and select one of them, then that address will be displayed in the field. |
Why would it be confusing if it changes when there is an incoming payment? The incoming payment is more reliable and expected than the incoming confirmation which happens at a random time. If it can't be fixed I'd go as far and suggest to remove the "Receive" screen entirely and have the user rely on the "Addresses" which is more clear and always does the right thing, + educates users that there are multiple addresses and that reusing them is bad. Anyways, I've said my piece. Just trying to change a behavior that leads to address reuse by default. |
Note: the Mac thing is this bug https://bugreports.qt.io/browse/QTBUG-73183 |
Coloring it with red background is indeed a step forward, but it's not sufficient. Average users will be confused, as they might have no idea what the colored background means. Might not have an idea that address re-use is not recommended. Since we have the code to actually detect when this race condition happens (and color the background of the address) why not simulate a push on the "New" button without the user actually doing anything, until the address there is not used and does not have to bare a red background? At least this way the effect is that all the time under "Receive" tab we have a fresh unused address. We might want to freeze entirely the "Receive" tab until Electrum is fully synchronized. There's nothing that we can do about this when Electrum is running offline, except print a discrete warning / description on the Receive tab that We cannot know if the address there has been used or not and address re-use is discouraged, etc. |
The receive tab works different on master now. This issue is thus no longer relevant. |
Have had several accidental cases of address reuse because the receive address seems to change only after incoming transactions have confirmed, not after a transaction has been detected, which I think should be the default behavior.
The text was updated successfully, but these errors were encountered: