Author

Topic: How to Create a Bitcoin Receive Address from a Coin Flip | Question (Read 1452 times)

legendary
Activity: 1540
Merit: 1001
Crypto since 2014
Hello e1ghtSpace;

Consider the very small and simple case of a 1-bit key.

Combinations are as follows:
0
1

Now go up to a 2-bit key. You have 2 possible combinations of a 1 bit key, and 2 possible combinations of the new bit.
00
01

10
11

3-bit: 4 possible combinations of the lower 2 bits, and 2 possible combinations of the new bit. 8 in total.
000
001
010
011

100
101
110
111

Every time you add an additional bit, you have all previous possibilities, multiplied by 2 (as the first, new, bit can be one of two possible values).

Therefore a 1 bit key has 2 possible values; a 2 bit key 2*2 = 4 possible values; a 3 bit key 2*2*2 = 8 possible values; and so on and so forth, until an N-bit key has 2^N possible values.

You can test this if you wish. Try counting from 0 to 31 in binary. See what you find.
Ah ok that makes more sense. Thanks for the explanation!
member
Activity: 96
Merit: 10
esotericnonsense
Hello e1ghtSpace;

Consider the very small and simple case of a 1-bit key.

Combinations are as follows:
0
1

Now go up to a 2-bit key. You have 2 possible combinations of a 1 bit key, and 2 possible combinations of the new bit.
00
01

10
11

3-bit: 4 possible combinations of the lower 2 bits, and 2 possible combinations of the new bit. 8 in total.
000
001
010
011

100
101
110
111

Every time you add an additional bit, you have all previous possibilities, multiplied by 2 (as the first, new, bit can be one of two possible values).

Therefore a 1 bit key has 2 possible values; a 2 bit key 2*2 = 4 possible values; a 3 bit key 2*2*2 = 8 possible values; and so on and so forth, until an N-bit key has 2^N possible values.

You can test this if you wish. Try counting from 0 to 31 in binary. See what you find.
legendary
Activity: 1540
Merit: 1001
Crypto since 2014
Holy Crap watch out;

If you only use 256 coin flips, that means that there are only 256^2 posibilities for a bitcoin address generation.
Which means that there are only 65536 different combinations to create a bitcoin address.

A normal bitcoin address has 2^256 possible combinations aka 1.1579209e+77 aka 11579209.

DO NOT use this method.

I hope I am wrong and this actually is a suitable way to generate a secure bitcoin address.

You're wrong. 256 coin flips gives 2^256 possibilities for a bitcoin address generation.
How?

If you end up with 256 1‘s or 0’s  there is only 2 different combinations for each number.

I probably am wrong.
legendary
Activity: 1400
Merit: 1000
Holy Crap watch out;

If you only use 256 coin flips, that means that there are only 256^2 posibilities for a bitcoin address generation.
Which means that there are only 65536 different combinations to create a bitcoin address.

A normal bitcoin address has 2^256 possible combinations aka 1.1579209e+77 aka 11579209.

DO NOT use this method.

I hope I am wrong and this actually is a suitable way to generate a secure bitcoin address.

You're wrong. 256 coin flips gives 2^256 possibilities for a bitcoin address generation.
legendary
Activity: 1540
Merit: 1001
Crypto since 2014
Holy Crap watch out;

How to create a Bitcoin Private Key and therefore a Unique Public Address, by flipping a Coin.[/u]

Step A.
Get a coin.  Label one side as “1” and the other side as “0”
Flip the coin 256 times and record the results as you go in groups of 4.  When you are done, your binary sequence should look something like this:

Binary: (Below is four sequences of 64 bits each 4x64=256)
0010 1000 1000 1111 0011 1001 1011 1011 1111 1101 0011 0110 1101 1010 0101 1010
0001 0010 1101 0001 0110 0010 1100 1011 0001 1000 1001 0111 1100 1001 0000 0010
0010 1000 1000 1011 0011 1001 1011 1011 0011 0110 1101 1010 0101 1010 0001 0010
1101 0001 0110 0010 1100 1011 0001 1000 1001 0111 1100 1001 0000 0010 0011 1101

The grouping and spaces are not important. They are grouped this way to make them "Human Friendly."
One Technical Note:  There is an upper limit on the range of acceptable valid public keys.  If for some reason you randomly flip the coin and you get 127 "1"s in a row, you are approaching the upper limit! 2

Step B.
The next step is to convert the Binary to HEX. Finding a Binary to Hex converter on-line that will handle that sized number is no easy task.
mathsisfun.com – This one can handle 64 bits at a time. Just keep them in order and separate.  Do 64 bits at a time. (4 times)

The Binary Number above Converted to HEX: (32 bytes)
288F 39BB FD36 DA5A 12D1 62CB 1897 C902 288B 39BB 36DA 5A12 D162 CB18 97C9 023D
This HEX number is your Raw Private Key, and again the spacing is not important.
*** Note: If you owned a pair of 16 sided dice, you could roll the pair 32 times and record the results like above and save the coin tossing found in Step A. ***

Step C.
Next, Cut and paste the HEX number into Brainwallet and choose “HEX” to “B58Check.”  This will create a very large number that begins with a “5”. This number is your private key “Wallet Import Format”.

*** You cannot use the Brainwallet BIN to HEX converter if you space them out like I did, due to the fact that Brianwallet adds a “0” place holder to every 4 bit BIN sequence. e.g. “1111” converted to HEX is “F” but Brainwallet converts it as “0F.”   But if you get rid of the spaces and paste the entire sequence in at once, you can use the BIN to BASE58Check converter and skip the HEX conversion (Step B.) altogether. In other words, lining the ones and zeroes up like I did, makes it more human friendly, but it makes you do an extra step.***

The HEX above converted to B58Check WIF:
5J89cr5WGdvQWeeekN5ZGzuXVsWREbAYku6MDeUgrJTjX1ZHhCX

Step D.
Next copy the private key WIF code. Click “Generator” and paste the private key into the Private Key box.  This will create your new Public Address.

WIF Format above Converted to Bitcoin Public Address:
1Cwd7i5R6GM56njNhyyr7RRUYo6e1AMg9A

You have now created a Private Bitcoin Key and a Public Address from 256 coin flips!

If you only use 256 coin flips, that means that there are only 256^2 posibilities for a bitcoin address generation.
Which means that there are only 65536 different combinations to create a bitcoin address.

A normal bitcoin address has 2^256 possible combinations aka 1.1579209e+77 aka 11579209.

DO NOT use this method.

I hope I am wrong and this actually is a suitable way to generate a secure bitcoin address.

Edit:

Quote
EXTRA RANDOM:  It is scientifically plausible to detect bias in your coin or flip method (this is absurd, but possible). If you flip 1000's of these coins the exact same way and published the results, then possibly even a computer could read the data and find a pattern. So instead of flipping 1 coin 256 times, you could get 256 coins, all different if possible.  Then you flip half and your drinking buddy flips the other half, letting them land on as many different hard surfaces as possible in your house.  Record the results.  Then the only bias will be in your two methods of flipping,  but no one could ever crack your bias unless you publish the results with a large, sufficiently sized sampling pool.
Or you could flip the coin 128 times and then for the next 128 flips, swap the ones and zeros.
Jump to: