Bitcoin Forum
April 25, 2024, 05:31:55 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: "velvet cage" "green screen" "nerd paradise" ???  (Read 748 times)
Bizmark13 (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


WikiScams.org - Information about Bitcoin Scams


View Profile
January 03, 2015, 03:07:14 PM
 #1

I know this is a bit of a weird question but I was going through Electrum seeds a couple days ago trying to find a memorable one and every so often, I'd get a 12 word seed with word pairs that you would not normally expect to find together if they were generated in a purely random manner. Is the 12 word phrase truly random and are these just coincidences or have the devs implemented something into the generator to make it more easy for humans to memorize?

EDIT: I found several such pairs but the above three are the first ones that come to mind.

EDIT 2: Obviously, I'm not using these seeds since I posted them here!
"Your bitcoin is secured in a way that is physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter a majority of miners, no matter what." -- Greg Maxwell
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714023115
Hero Member
*
Offline Offline

Posts: 1714023115

View Profile Personal Message (Offline)

Ignore
1714023115
Reply with quote  #2

1714023115
Report to moderator
1714023115
Hero Member
*
Offline Offline

Posts: 1714023115

View Profile Personal Message (Offline)

Ignore
1714023115
Reply with quote  #2

1714023115
Report to moderator
1714023115
Hero Member
*
Offline Offline

Posts: 1714023115

View Profile Personal Message (Offline)

Ignore
1714023115
Reply with quote  #2

1714023115
Report to moderator
dabura667
Sr. Member
****
Offline Offline

Activity: 475
Merit: 252


View Profile
January 03, 2015, 06:26:09 PM
 #2

I know this is a bit of a weird question but I was going through Electrum seeds a couple days ago trying to find a memorable one and every so often, I'd get a 12 word seed with word pairs that you would not normally expect to find together if they were generated in a purely random manner. Is the 12 word phrase truly random and are these just coincidences or have the devs implemented something into the generator to make it more easy for humans to memorize?

EDIT: I found several such pairs but the above three are the first ones that come to mind.

EDIT 2: Obviously, I'm not using these seeds since I posted them here!

It's open source.

Yes, it's random. Or at least as random as your computer will let you be (but that's a philosophical and scientific rabbit hole we won't go down today)

All the words in the wordlist (from which words are chosen at random by the random data they represent) were selected for being memorable...

also, the first 4 letters of each word is unique. (meaning if you shortened all words to the first 4 letters there would be no duplicates)

Which also helps with remembering, and wallets could use it to implement auto-fill once you type the first 4 letters of a word, it completes it for you, etc.


Pertinent code: (for 1.9.8 )
https://github.com/spesmilo/electrum/blob/f92b483942d3f8ee51506e0436d9b524db33a336/gui/qt/installwizard.py#L262
VVVVVVVVVVVVVVVVVVV
https://github.com/spesmilo/electrum/blob/f92b483942d3f8ee51506e0436d9b524db33a336/lib/wallet.py#L1724
VVVVVVVVVVVVVVVVVVV
https://github.com/spesmilo/electrum/blob/f92b483942d3f8ee51506e0436d9b524db33a336/lib/bitcoin.py#L524
VVVVVVVVVVVVVVVVVVV
https://github.com/warner/python-ecdsa/blob/c096a3274529ac24d1fcb2ba70c5f712ed2ac876/ecdsa/util.py#L45

So as you can see, Electrum is just grabbing 16 random bytes from urandom.
http://en.wikipedia.org/?title=/dev/random#Linux

The "words" you see are a representation of those 16 bytes via an encoding algorithm.
https://github.com/spesmilo/electrum/blob/f92b483942d3f8ee51506e0436d9b524db33a336/lib/mnemonic.py#L1659

Every time you type in your seed, it decodes those words into the 16 bytes of random data, and then uses that 16 bytes of random data to regenerate your wallet.

My Tip Address:
1DXcHTJS2DJ3xDoxw22wCt11FeAsgfzdBU
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1004


Core dev leaves me neg feedback #abuse #political


View Profile
January 03, 2015, 10:46:06 PM
 #3

you can always use cards, coins, or dice to generate an electrum seed.

Also, keep in mind it will be unlikely that won't be ANY words that
"seem to go together"...just because you get something like "green forest"
or "cold water" doesnt mean it wasn't random, in a similar way to the fact
that if you flip a coin many times, you are going to get strings of all
heads in a row, or all tails in a row.  Many words can seem to go together
and it wouldnt be random if this never occurred.

Abdussamad
Legendary
*
Offline Offline

Activity: 3598
Merit: 1560



View Profile
January 04, 2015, 12:14:55 PM
 #4

Actually this is a good time to look at what "random" actually means:

http://www.wired.com/2012/12/what-does-randomness-look-like/

I strongly recommend the above article.
btchris
Hero Member
*****
Offline Offline

Activity: 672
Merit: 504

a.k.a. gurnec on GitHub


View Profile WWW
January 04, 2015, 04:15:17 PM
 #5

To help illustrate some of the excellent posts above, I've made a quick-and-dirty estimate of how often you might expect to find such seemingly common phrases in an Electrum seed. Intuitively, it may seem that it should only happen rarely if the seed is truly random, but in fact it's not all that uncommon.

I downloaded the 1,000,000 most common 2-grams (phrases of 2 words) from BYU's Corpus of Contemporary American English. There were 61,721 common 2-grams on this list where both words were from Electrum's list of 1,626 possible seed words. So:

Let w be the count of all possible 2-grams of words taken from Electrum's word list.
w = 16262

Out of these w possible permutations, 61,721 are on the downloaded list of common 2-grams.

Let S be the event where a single pair of randomly chosen words is in the common list.
P(S)  = 61721 / w ≈ 2.3%  (probability a single random pair is common)
P(S') = 1 - P(S)    ≈ 97%   (probability a single random pair is not common)

Let T be the event where all consecutive pairs of words in a list of 12 words are not common.
P(T)   = P(S'1 ∩ S'2 ∩ ... ∩ S'11)
P(T)   = P(S')11  ≈ 77%  (probability that all 11 consecutive pairs of an Electrum 12-word seed are not common)
P(T')  = 1 - P(T) ≈ 23%  (probability that at least one of the 11 pairs of an Electrum seed is common)

So there's an almost 1 in 4 chance that a randomly generated Electrum seed will have a pair of adjacent words on the 1,000,000 most common list. Since that list isn't all that big (for comparison, it includes "green screen" but not "velvel cage" nor "nerd paradise"), it's probably even more likely that a random seed contains uncommon but grammatically correct (and sensical) pairs of words like "nerd paradise".
Bizmark13 (OP)
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


WikiScams.org - Information about Bitcoin Scams


View Profile
January 09, 2015, 04:37:01 AM
 #6

Thanks the the responses and links. I suspected it was random too and it seems to be that way after cycling through some more seeds. I didn't realize the chances of related words being present in a random seed would be so common though. Nor did I know about the first four letters thing. That's pretty smart of the devs to implement it that way.

Other examples I found were "strength coffee", "accident spill", "teeth mouth", "lung machine", "study math", "mourn murder", and "men soldier". I think I saw one with three related words too, but I don't remember what it was.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!