Author

Topic: Electrum Wallet (Read 729 times)

newbie
Activity: 51
Merit: 0
November 10, 2015, 11:15:26 PM
#12
I am not questioning your logic, however, I am trying to understand. How come those words in that list provide more security than coming up with my own words? Just curious.

It depends on the words you choose.
As you can see in the BIP39 document a 12 word seed should have an entropy of 128 bits. (BIP39 is used as an example. Electrum is not BIP39 compatible)
Electrum will make sure that the seed will have enough entropy.

The words you came up with might be more random but that does not mean that they have more entropy.
They could very much have less.

For example the words
Code:
donor whisper
have more entropy than
Code:
donor redmond
even though whisper is in the word list and redmond is not.


More entropy means the seed is more difficult to be found by an attacker.
Also see xkcd's Password Strength in regard of entropy.

good explanation. I see what you are saying now.
hero member
Activity: 619
Merit: 500
November 10, 2015, 10:14:29 PM
#11
I am not questioning your logic, however, I am trying to understand. How come those words in that list provide more security than coming up with my own words? Just curious.

It depends on the words you choose.
As you can see in the BIP39 document a 12 word seed should have an entropy of 128 bits. (BIP39 is used as an example. Electrum is not BIP39 compatible)
Electrum will make sure that the seed will have enough entropy.

The words you came up with might be more random but that does not mean that they have more entropy.
They could very much have less.

For example the words
Code:
donor whisper
have more entropy than
Code:
donor redmond
even though whisper is in the word list and redmond is not.


More entropy means the seed is more difficult to be found by an attacker.
Also see xkcd's Password Strength in regard of entropy.
staff
Activity: 3458
Merit: 6793
Just writing some code
November 10, 2015, 09:41:21 PM
#10
I am not questioning your logic, however, I am trying to understand. How come those words in that list provide more security than coming up with my own words? Just curious.


Thanks again.
They don't. It is just that through some method specified in BIP39, a huge random number which is the extended private key which all of your addresses come from is converted into those words. Those words are then converted back into that huge random number for use by the wallet. You can read about that in BIP39 at https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
newbie
Activity: 51
Merit: 0
November 10, 2015, 08:43:13 PM
#9

I appreciate your information.

One more thing. I have been experimenting with generating a wallet from my own random seed. The whole Idea was to be able to generate a wallet from a logical 12-13 word phrase, a phrase that would be easy for me to remember, but improbable for anyone else to come up with. I have not been successful with the phrase, however, I have been successful in creating a wallet from random words that I came up with on 2 occasions (most combinations don´t work). The first time it was a seed made up of 10 words. The second time, it was a seed of 12 words and the letters "ba" at the end.

How was I able to do this? Any advice on coming up with a seed made up of a logical phrase?

First of all, this is actually a bad idea. The concept was called a Brainwallet because the seed (passphrase) was something that was in your brain. Brainwallets were actually addresses, while this is for a whole wallet. While you may think that the phrase you came up with is completely unguessable by someone else, you are actually limited to 12 or 13 words from a specific wordlist (Ill get to that below), so it may not be terribly hard for someone to brute force the seed and steal all of the Bitcoin that you have.

If you still want to do this, then you need to pull words from the wordlists here: https://github.com/spesmilo/electrum/tree/master/lib/wordlist. Only words that come from these lists (and they all have to be the same language) can be used in the seed.

I am not questioning your logic, however, I am trying to understand. How come those words in that list provide more security than coming up with my own words? Just curious.


Thanks again.
staff
Activity: 3458
Merit: 6793
Just writing some code
November 09, 2015, 09:51:01 PM
#8

I appreciate your information.

One more thing. I have been experimenting with generating a wallet from my own random seed. The whole Idea was to be able to generate a wallet from a logical 12-13 word phrase, a phrase that would be easy for me to remember, but improbable for anyone else to come up with. I have not been successful with the phrase, however, I have been successful in creating a wallet from random words that I came up with on 2 occasions (most combinations don´t work). The first time it was a seed made up of 10 words. The second time, it was a seed of 12 words and the letters "ba" at the end.

How was I able to do this? Any advice on coming up with a seed made up of a logical phrase?

First of all, this is actually a bad idea. The concept was called a Brainwallet because the seed (passphrase) was something that was in your brain. Brainwallets were actually addresses, while this is for a whole wallet. While you may think that the phrase you came up with is completely unguessable by someone else, you are actually limited to 12 or 13 words from a specific wordlist (Ill get to that below), so it may not be terribly hard for someone to brute force the seed and steal all of the Bitcoin that you have.

If you still want to do this, then you need to pull words from the wordlists here: https://github.com/spesmilo/electrum/tree/master/lib/wordlist. Only words that come from these lists (and they all have to be the same language) can be used in the seed.
newbie
Activity: 51
Merit: 0
November 09, 2015, 09:44:34 PM
#7
I appreciate your information.

One more thing. I have been experimenting with generating a wallet from my own random seed. The whole Idea was to be able to generate a wallet from a logical 12-13 word phrase, a phrase that would be easy for me to remember, but improbable for anyone else to come up with. I have not been successful with the phrase, however, I have been successful in creating a wallet from random words that I came up with on 2 occasions (most combinations don´t work). The first time it was a seed made up of 10 words. The second time, it was a seed of 12 words and the letters "ba" at the end.

How was I able to do this? Any advice on coming up with a seed made up of a logical phrase?


thanks again


update:

I actually was able to create a wallet with my own random logical seed plus another word and one letter at the end.
staff
Activity: 3458
Merit: 6793
Just writing some code
November 09, 2015, 09:28:13 PM
#6
So you can increase the gap limit to anything beyond the default of 20 that electrum sets. I tried setting it at 50 and it generated 30 more addresses, however, when I deleted electrum and used my seed to regenerate the wallet, the gap was set at 20 again which was to be expected. I extended the gap to 50 and I was able to recover the same 50 addresses. That is the way it is suppose to work correct?
Yes. The Gap limit is a per-wallet thing so if you delete a wallet and restore from the seed, the gap limit will be reset. The deterministic nature of Electrum wallets means that with the same seed, you will always generate exactly the same addresses no matter the computer, time, or whatever else.
newbie
Activity: 51
Merit: 0
November 09, 2015, 09:11:48 PM
#5
As you use addresses, new ones are generated to keep a look ahead keypool of some number of addresses (I don't remember how many). So as you use addresses, new ones are created to replace those addresses so you can have pretty much an unlimited number of addresses.


 Is there a way for me to generate more than the 27 without using them up?  I am going to store that wallet offline and would like to be able to have at least 50 addresses to it. How would I do that?
Go to the console tab and type in
Code:
wallet.storage.put('gap_limit',10)
This will make it so that Electrum will continue to generate addresses until it finds 10 consecutive empty addresses (alled the gap limit, more info here: http://docs.electrum.org/en/latest/faq.html#gap-limit). You can change the number 10 to whatever you want and Electrum will find that many consecutive empty addresses. This also means that as you use addresses, another will be created so that it will always have 10 (or however many) consecutively empty addresses.

You can also just create a bunch of addresses which will not affect the gap limit. In that case, follow the instructions here: http://docs.electrum.org/en/latest/faq.html#how-can-i-pre-generate-new-addresses


So you can increase the gap limit to anything beyond the default of 20 that electrum sets. I tried setting it at 50 and it generated 30 more addresses, however, when I deleted electrum and used my seed to regenerate the wallet, the gap was set at 20 again which was to be expected. I extended the gap to 50 and I was able to recover the same 50 addresses. That is the way it is suppose to work correct?
staff
Activity: 3458
Merit: 6793
Just writing some code
November 09, 2015, 07:58:48 PM
#4
As you use addresses, new ones are generated to keep a look ahead keypool of some number of addresses (I don't remember how many). So as you use addresses, new ones are created to replace those addresses so you can have pretty much an unlimited number of addresses.


 Is there a way for me to generate more than the 27 without using them up?  I am going to store that wallet offline and would like to be able to have at least 50 addresses to it. How would I do that?
Go to the console tab and type in
Code:
wallet.storage.put('gap_limit',10)
This will make it so that Electrum will continue to generate addresses until it finds 10 consecutive empty addresses (alled the gap limit, more info here: http://docs.electrum.org/en/latest/faq.html#gap-limit). You can change the number 10 to whatever you want and Electrum will find that many consecutive empty addresses. This also means that as you use addresses, another will be created so that it will always have 10 (or however many) consecutively empty addresses.

You can also just create a bunch of addresses which will not affect the gap limit. In that case, follow the instructions here: http://docs.electrum.org/en/latest/faq.html#how-can-i-pre-generate-new-addresses
newbie
Activity: 51
Merit: 0
November 09, 2015, 07:44:32 PM
#3
As you use addresses, new ones are generated to keep a look ahead keypool of some number of addresses (I don't remember how many). So as you use addresses, new ones are created to replace those addresses so you can have pretty much an unlimited number of addresses.


 Is there a way for me to generate more than the 27 without using them up?  I am going to store that wallet offline and would like to be able to have at least 50 addresses to it. How would I do that?
staff
Activity: 3458
Merit: 6793
Just writing some code
November 09, 2015, 06:17:50 PM
#2
As you use addresses, new ones are generated to keep a look ahead keypool of some number of addresses (I don't remember how many). So as you use addresses, new ones are created to replace those addresses so you can have pretty much an unlimited number of addresses.
newbie
Activity: 51
Merit: 0
November 09, 2015, 06:04:42 PM
#1

When I generate a new wallet on electrum, it produces 27 public addresses or so. It lets  you know which ones have been used. I want to know if I can generate more than the 27 that electrum initially gives you? What happens after you use the 27 addresses up?


thanks in advance
Jump to: