2

If I understand correctly, wallet is a collection of private keys.

Electrum client, in "Receive" tab has this form to request money. Every time new "Receiving address" changes, Electrum has to generate new sequence:

private key → public key → bitcoin address

Screenshot

What I'm unsure about, is whether Electrum ever deletes private keys that were generated, consequently making some bitcoin addresses it previously generated no longer controlled by me?

1

As long as you only work on the GUI, Electrum won't create private keys it doesn't generate again when you restore the wallet. On the console, you can increase the gap limit which can cause Electrum to not generate the private keys you already used to secure funds if you don't also increase the gap limit after restoring your wallet. But this doesn't mean your funds are lost, afterwards, if you keep the seed. For one thing, you can increase the gap limit in your stored wallet, for another thing, your funds will become "unlocked" after you used the restored wallet enough to make Electrum generate the private keys, again.

The "receive money" functionality of Electrum only is a built-in note program. You note for yourself that you're expecting a payment of 30 mBTC from Mark until January 18th. If he didn't pay until then, Electrum will tell you that his payment is overdue and you can get angry at him. However, Electrum has no means of sending Mark an email or something, and therefore doesn't do so. It's just notes for you. Furthermore, these nodes aren't restored when you restore your wallet via your seed as they remain on your computer and aren't sent to a cloud service.

And no, Electrum won't delete the private key corresponding to the public key corresponding to the address you noted as the receiving address, afterwards. That'd be a really bad thing. Just imagine, Mark is 10 minutes late with his payment. Then, the money he sent slightly too late would be lost forever.

You can even find this out for yourself: If you go to the tab "Addresses", you will see your wallet's addresses. The receiving address in the tab "Receive" always is the upper most unused and unmarked address, but the address is already there, before you create the receive note. And so, of course, is its corresponding public key and the private key which corresponds to that.

The only things happening when you tell Electrum that you plan to receive money, is that the note in the receive tab is generated and the address is assigned a label (which you can see in the addresses tab), which is just another local note.

You can of course hand your addresses out to people (in arbitrary order), without telling Electrum that you plan to receive money on them.

  • Can you please clarify first sentence, especially this part Electrum won't create private keys it doesn't generate again when you restore the wallet? – stil Jan 13 '17 at 19:21
  • When you created your wallet, Electrum showed you a seed. You should not show this seed to anyone as anyone who knows it can steal your money. But you should keep it available for yourself in case your computer fails. If your computer fails, you can install Electrum on your new computer and restore your old wallet using the seed. This means that you don't lose your money if your computer fails. – UTF-8 Jan 13 '17 at 19:27
  • Thanks, learning all those technical details makes it feel a lot safer about managing my BTC. Great answer. – stil Jan 13 '17 at 19:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.