Bitcoin Forum
May 08, 2024, 03:30:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 »  All
  Print  
Author Topic: 2^256 Deep Space Vagabond  (Read 38658 times)
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 14, 2012, 05:34:31 PM
Last edit: November 14, 2012, 09:09:25 PM by flatfly
 #61

PS: at 2.5 Taddr/s (about the speed address mining would reach if all Bitcoin's hash power were converted to GPU-optimized address mining code), you have about 0.000000000023% chance of finding one match per 4.54 billion years (age of the earth).
And even if you did, I'm sure any competent jurisdiction would consider it fraud to sign a transaction with the bruteforced key spending money that isn't rightfully yours.

True. However, the odds of this happening are so mind-blowingly remote that I wouldn't worry about this at all(*)... which is actually the point of DSV.

(*) unless a serious bug is found in the core algorithms, in which case bitcoin's value instantly becomes zero anyway


Thanks for this list! It'll be very useful. I guess you generated it using znort's tool?

No, a 10-line patch to the reference client code. It took like half a minute to generate the list.

Interesting patch. Will it be in the next release?

Also, even seeing those numbers doesn't make you want to contribute in a somewhat more useful way?

Hmmm... I do contribute to other more "serious" Bitcoin projects as well, but try to keep a low profile.

On the other hand, Deep Space Vagabond is meant to be a *fun* project - yet I don't think it's totally useless:

  • It makes people think about the size of the keyspace in a fun way - and could make *them* want to contribute as well
  • Once it's a bit more polished, it could become a nice (if unusual) promotional tool for bitcoin
  • It helps gambling addicts waste less money on stuff like satoshidice, which is negative EV while DSV, surprisingly, is positive EV (as it costs nothing to "play") when you think about it in a strictly mathematical sense Smiley

1715182214
Hero Member
*
Offline Offline

Posts: 1715182214

View Profile Personal Message (Offline)

Ignore
1715182214
Reply with quote  #2

1715182214
Report to moderator
1715182214
Hero Member
*
Offline Offline

Posts: 1715182214

View Profile Personal Message (Offline)

Ignore
1715182214
Reply with quote  #2

1715182214
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, but full nodes are more resource-heavy, and they must do a lengthy initial syncing process. As a result, lightweight clients with somewhat less security are commonly used.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715182214
Hero Member
*
Offline Offline

Posts: 1715182214

View Profile Personal Message (Offline)

Ignore
1715182214
Reply with quote  #2

1715182214
Report to moderator
1715182214
Hero Member
*
Offline Offline

Posts: 1715182214

View Profile Personal Message (Offline)

Ignore
1715182214
Reply with quote  #2

1715182214
Report to moderator
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
November 15, 2012, 06:51:56 AM
 #62

    ......

     
  • It helps gambling addicts waste less money on stuff like satoshidice, which is negative EV while DSV, surprisingly, is positive EV (as it costs nothing to "play") when you think about it in a strictly mathematical sense Smiley

No, I think this has Deep Space Vagabond has a negative ev as well. Assuming we ignore computer purchase costs, the cost of electricity to run DSV will be, on average, significantly more than you can expect to earn unless you're extremely lucky extremely something - some other word that means you've had luck beyond human comprehension.

Note: Of, course this is barring the discovery of essentially free energy, or  ~ 10^80th increase of USDBTC exchange rate (depending on mean found amount).




Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 15, 2012, 09:12:14 PM
Last edit: November 15, 2012, 09:27:55 PM by flatfly
 #63


No, I think this has Deep Space Vagabond has a negative ev as well. Assuming we ignore computer purchase costs, the cost of electricity to run DSV will be, on average, significantly more than you can expect to earn unless you're extremely lucky extremely something - some other word that means you've had luck beyond human comprehension.

Note: Of, course this is barring the discovery of essentially free energy, or  ~ 10^80th increase of USDBTC exchange rate (depending on mean found amount).


EV calculations for games rarely take into account factors like equipment or electricity costs, so I didn't, either...  But I do agree with your point, obviously.
kuzetsa
Sr. Member
****
Offline Offline

Activity: 369
Merit: 250


View Profile
November 17, 2012, 05:33:53 AM
Last edit: November 17, 2012, 06:01:36 AM by kuzetsa
 #64

base 2 (using 1024)

log(2^10) / log(2) = 10

log(1024) / log(2)
6.9314718055994530941723212145818 / 0.69314718055994530941723212145818

... = 10

... which makes sense:

you can define 1024 as a binary 1 followed by 10x zeroes
alternatively, as 1 plus the binary value of the largest 10-bit number (all 1s)
as such, a 10 "bit" number has the first value of "zero" and the highest value you can express is 1023 (the 1024th in the sequence starting with zero)



base 10 (using 1 million)

log(10^6) / log(10) = 6

log(1000000) / log(10)
13.815510557964274104107948728106 / 2.3025850929940456840179914546844

... = 6

... which makes sense:

you can define one million as a decimal 1 followed by 6x zeroes
alternatively, as 1 plus the decimal value of the largest 6-digit number (all 9s)
as such, a 6 "digit" number has the first value of "zero" and the highest value you can express is 999999 (the millionth in the sequence starting with zero, discounting negatives, fractions, etc.)



34 "digit" (base 58) bitcoin address:

log(58 ^ 34) / log(58) = 34

log(58 ^ 34) / log(58)
log(9.0479831084470077531332721514049e+59) / log(58)
138.05506235857825744441714122988 / 4.0604430105464193366005041538201

... = 34

So how many bits (binary) are required to store that?

bitcoin address can be defined as 34 "digits" of base 58, therefore:

log(58 ^ 34) / log(2) < 200

Wait, really?

log(58 ^ 34) / log(2)
log(9.0479831084470077531332721514049e+59) / log(2)
138.05506235857825744441714122988 / 0.69314718055994530941723212145818

199.17135383433745210447229303735 (round up to 200 bits)

Similar math is used to determine how many bits of entropy exist in a given passowrd pattern.

Bitcoin addresses DO NOT go up to 256 bits. They are basically only 160 bits, plus additional checksum / error-detection padding:
(citation) - Technical background of version 1 Bitcoin addresses

... potentially, it is possible to have a collision for which two different private keys (actually 256 bits) match up to the same bitcoin address (34 base 58 "digits" / 160 bits / whatever)



Another fun math thing. Earlier, someone was trying to figure out if 2^256 was closer to the number of atoms in the universe (or the visible universe, or a fraction of these atoms, or the atoms in a person)

2^256 atoms?

Well, every "mol" of hydrogen atoms weighs 1 gram:

(cite)  -- Avogadro constant so aprox: 6.02214 * 10^23

great!

Now for some math & logic time:

(6.02214 * 10^23)  = number of hydrogen atoms in 1 liter of hydrogen gas at standard temperature / pressure (ideal gas law)

A liter of water weighs approximately 1000 grams (1 kg)

A single water molecule weighs aprox 18 times as much as a single hydrogen atom

Therefore, 55.5 mols of water in a liter (kilogram)

7.806 * 10^26 atoms in 70 kilograms of water. The human body is mostly water.

Assuming we're mostly water, the human body has aprox 2^70 atoms

2^256 hydrogen atoms ... actually I'm just going to stop right now, converting to decimal and bypassing mass calculations:

log(2^256) / log(10) ... you're already much closer to the number of atoms in the visible universe.

... Not to worry though, since there is no point in attempting to exhaust the 256 keyspace:

Only 160 bits worth of hash used to generate bitcoin's 34 "digit" base 58 public key addresses, so you'll VERY likely have many many collisions well before you try a number of keypairs equal to the number of atoms on planet earth.
K1773R
Legendary
*
Offline Offline

Activity: 1792
Merit: 1008


/dev/null


View Profile
November 17, 2012, 09:33:03 AM
 #65

base 2 (using 1024)

log(2^10) / log(2) = 10

log(1024) / log(2)
6.9314718055994530941723212145818 / 0.69314718055994530941723212145818

... = 10

... which makes sense:

you can define 1024 as a binary 1 followed by 10x zeroes
alternatively, as 1 plus the binary value of the largest 10-bit number (all 1s)
as such, a 10 "bit" number has the first value of "zero" and the highest value you can express is 1023 (the 1024th in the sequence starting with zero)



base 10 (using 1 million)

log(10^6) / log(10) = 6

log(1000000) / log(10)
13.815510557964274104107948728106 / 2.3025850929940456840179914546844

... = 6

... which makes sense:

you can define one million as a decimal 1 followed by 6x zeroes
alternatively, as 1 plus the decimal value of the largest 6-digit number (all 9s)
as such, a 6 "digit" number has the first value of "zero" and the highest value you can express is 999999 (the millionth in the sequence starting with zero, discounting negatives, fractions, etc.)



34 "digit" (base 58) bitcoin address:

log(58 ^ 34) / log(58) = 34

log(58 ^ 34) / log(58)
log(9.0479831084470077531332721514049e+59) / log(58)
138.05506235857825744441714122988 / 4.0604430105464193366005041538201

... = 34

So how many bits (binary) are required to store that?

bitcoin address can be defined as 34 "digits" of base 58, therefore:

log(58 ^ 34) / log(2) < 200

Wait, really?

log(58 ^ 34) / log(2)
log(9.0479831084470077531332721514049e+59) / log(2)
138.05506235857825744441714122988 / 0.69314718055994530941723212145818

199.17135383433745210447229303735 (round up to 200 bits)

Similar math is used to determine how many bits of entropy exist in a given passowrd pattern.

Bitcoin addresses DO NOT go up to 256 bits. They are basically only 160 bits, plus additional checksum / error-detection padding:
(citation) - Technical background of version 1 Bitcoin addresses

... potentially, it is possible to have a collision for which two different private keys (actually 256 bits) match up to the same bitcoin address (34 base 58 "digits" / 160 bits / whatever)



Another fun math thing. Earlier, someone was trying to figure out if 2^256 was closer to the number of atoms in the universe (or the visible universe, or a fraction of these atoms, or the atoms in a person)

2^256 atoms?

Well, every "mol" of hydrogen atoms weighs 1 gram:

(cite)  -- Avogadro constant so aprox: 6.02214 * 10^23

great!

Now for some math & logic time:

(6.02214 * 10^23)  = number of hydrogen atoms in 1 liter of hydrogen gas at standard temperature / pressure (ideal gas law)

A liter of water weighs approximately 1000 grams (1 kg)

A single water molecule weighs aprox 18 times as much as a single hydrogen atom

Therefore, 55.5 mols of water in a liter (kilogram)

7.806 * 10^26 atoms in 70 kilograms of water. The human body is mostly water.

Assuming we're mostly water, the human body has aprox 2^70 atoms

2^256 hydrogen atoms ... actually I'm just going to stop right now, converting to decimal and bypassing mass calculations:

log(2^256) / log(10) ... you're already much closer to the number of atoms in the visible universe.

... Not to worry though, since there is no point in attempting to exhaust the 256 keyspace:

Only 160 bits worth of hash used to generate bitcoin's 34 "digit" base 58 public key addresses, so you'll VERY likely have many many collisions well before you try a number of keypairs equal to the number of atoms on planet earth.
well done, was too lazy for this Cheesy

[GPG Public Key]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 17, 2012, 02:59:15 PM
 #66

@kuzetsa:
Yeah, I even considered renaming the application to 2^160 DSV at first (but stayed with 256 because even though the valid address space is indeed much smaller, the private key space is still 2^256 if I'm not mistaken - and also, the nerd in me kinda likes the number 256 better Smiley )

But thanks for your post, that's the kind of stuff I like to read!
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 17, 2012, 03:04:58 PM
 #67

Version 1.463c is out (see OP), with a fix for a display race condition and a nice ASCII background by hrr Smiley
kuzetsa
Sr. Member
****
Offline Offline

Activity: 369
Merit: 250


View Profile
November 17, 2012, 06:14:27 PM
 #68

((...snip...))

Another fun math thing. Earlier, someone was trying to figure out if 2^256 was closer to the number of atoms in the universe (or the visible universe, or a fraction of these atoms, or the atoms in a person)

2^256 atoms?

Well, every "mol" of hydrogen atoms weighs 1 gram:

(cite)  -- Avogadro constant so aprox: 6.02214 * 10^23

great!

Now for some math & logic time:

(6.02214 * 10^23)  = number of hydrogen atoms in 1 liter of hydrogen gas at standard temperature / pressure (ideal gas law)

A liter of water weighs approximately 1000 grams (1 kg)

A single water molecule weighs aprox 18 times as much as a single hydrogen atom

Therefore, 55.5 mols of water in a liter (kilogram)

7.806 * 10^26 atoms in 70 kilograms of water. The human body is mostly water.

Assuming we're mostly water, the human body has aprox 2^70 atoms

2^256 hydrogen atoms ... actually I'm just going to stop right now, converting to decimal and bypassing mass calculations:

log(2^256) / log(10) ... you're already much closer to the number of atoms in the visible universe.

... Not to worry though, since there is no point in attempting to exhaust the 256 keyspace:

Only 160 bits worth of hash used to generate bitcoin's 34 "digit" base 58 public key addresses, so you'll VERY likely have many many collisions well before you try a number of keypairs equal to the number of atoms on planet earth.


... that's what I get for not proofreading sufficiently. NO CLUE where that 2^70 atoms came from. Gonna check my math because I'm suspicious now:

K = 1000 / 18 = 55.55555 (mols of water molecules in 1 kilogram of water)

^ trivial reasoning, so not showing work there.

C = 6.02214 * 10^23 = Atoms in 1 "mol" of anything.

M = K * C = total number of water molecules in a kilogram of water

H = M * 3 * 70 = atoms in a 70 kg human

^water has 3 atoms per molecule, assume 70 KG body mass
(simplified density calculation / calculating with water since humans are mostly water)



ok here we go:

H = M * 3 * 70

(K * C) * 3 * 70

18 * (6.02214 * 10^23) * 3 * 70

10839852000000000000000000 * 3 * 70

H = 2276368920000000000000000000

now to binary:

log(H) / log(2)

62.992379105356328965599428828285 / 0.69314718055994530941723212145818

H = 90.87879...

oops, I'm not sure where I got the earlier value of 2^70

... my bad, but either way, still less than 2^256 atoms in a human

This is why they try to it's common to ask students to show their work / prove everything with math.



Edited:

ACK!!! ok, this time I used the wrong value for K, here's fixed math:

H = M * 3 * 70

(K * C) * 3 * 70

55.555... * (6.02214 * 10^23) * 3 * 70

33456333333333333333333333.333333 * 3 * 70

H = 7025830000000000000000000000

now to binary:

log(H) / log(2)

64.119390868546136633237958001732 / 0.69314718055994530941723212145818

H = 2^92.5 (most people only know their weight to about 3 significant digits anyway)
Pieter Wuille
Legendary
*
Offline Offline

Activity: 1072
Merit: 1174


View Profile WWW
November 18, 2012, 05:11:21 PM
 #69

PS: at 2.5 Taddr/s (about the speed address mining would reach if all Bitcoin's hash power were converted to GPU-optimized address mining code), you have about 0.000000000023% chance of finding one match per 4.54 billion years (age of the earth).

These numbers are for preimages on 160-bit addresses. There's no point in trying to match the (almost) 256-bit private keys anyway.

PS: may I ask how many addresses/s your software can do?

I do Bitcoin stuff.
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 18, 2012, 07:19:38 PM
Last edit: November 22, 2012, 10:59:59 PM by flatfly
 #70

PS: at 2.5 Taddr/s (about the speed address mining would reach if all Bitcoin's hash power were converted to GPU-optimized address mining code), you have about 0.000000000023% chance of finding one match per 4.54 billion years (age of the earth).

These numbers are for preimages on 160-bit addresses. There's no point in trying to match the (almost) 256-bit private keys anyway.

PS: may I ask how many addresses/s your software can do?


The current version is intentionally VERY slow (only 64 addresses at a time, approximately) - just to show that it's not meant to be taken too seriously.  It could easily be made much faster though, as it actually uses lightning-fast Vanitygen address generation routines in the background.
flatfly (OP)
Legendary
*
Offline Offline

Activity: 1078
Merit: 1016

760930


View Profile
November 22, 2012, 11:01:44 PM
 #71

Version 1.469 is out, with better support for different screen resolutions and the Hotlist feature bumped to 52 items. (See OP for download)
Kluge
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
December 13, 2012, 10:12:19 AM
Last edit: December 13, 2012, 10:52:30 AM by Kluge
 #72

So where's the serious version?

ETA: More importantly, why isn't this on my phone, yet?
2weiX
Legendary
*
Offline Offline

Activity: 2058
Merit: 1005

this space intentionally left blank


View Profile
December 13, 2012, 10:50:58 AM
 #73

just a warning.... don't run random executables linked on this forum...  Shocked

Sure, sound advice!

I do guarantee that this app does no malicious things, but I agree that
to be on the safe side in general, either run executables in a secure virtual
machine or sandbox (such as Sandboxie) or compile them from the source.

The (quite short, exactly 75 lines!) source code for this app will be released soon. I need to clean it up a little and make it more readable - it's still a little messy right now.

Very cool Project, even though of course it's a bit 'pointless'. What happens when (as in before the sun dies out) you find a non-zero balance? Also- does it support GPU's? :-)

Also- can you export all these Bitcoin addresses and Private keys? IE: can it double as a key pair generator?

Sure, all addresses along with their private keys are automatically exported to a file on the desktop (the location will be changed to something more sensible in the next release)

i have a multiscreen-environment (4 screens). only blacks out one of them.

where's the key file at?
Mushroomized
Legendary
*
Offline Offline

Activity: 1470
Merit: 1002


Hello!


View Profile
December 13, 2012, 10:34:26 PM
 #74

So, does it do anything cool if you do find a match?

hi
Kluge
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
December 14, 2012, 12:18:18 AM
 #75

So, does it do anything cool if you do find a match?
It stops, plays a sound, the text turns light blue, and you can double-click the match to see how much BTC is on the address (checks with blockchain.info). You can then import the public/private key.
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
December 14, 2012, 12:28:41 AM
 #76

So, does it do anything cool if you do find a match?
It stops, plays a sound, the text turns light blue, and you can double-click the match to see how much BTC is on the address (checks with blockchain.info). You can then import the public/private key.
He says with actual experience....

Kluge
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
December 14, 2012, 12:44:04 AM
 #77

So, does it do anything cool if you do find a match?
It stops, plays a sound, the text turns light blue, and you can double-click the match to see how much BTC is on the address (checks with blockchain.info). You can then import the public/private key.
He says with actual experience....
Eh, I'm Jewish on my father's side.
starsoccer9
Legendary
*
Offline Offline

Activity: 1630
Merit: 1000



View Profile
December 16, 2012, 04:35:56 AM
 #78

cool little program, just one question if we do find an address with bitcoins besides for it beeping will it keep it on the screen or something or how else are we supposed to know that we found some bitcoins?
Kluge
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1015



View Profile
December 16, 2012, 06:57:13 AM
 #79

cool little program, just one question if we do find an address with bitcoins besides for it beeping will it keep it on the screen or something or how else are we supposed to know that we found some bitcoins?
The program pauses with the current list of 64 addresses generated. On the address where a match was found, the program will show "FUZZY MATCH!" (or similar - don't remember). Double-click the address where "FUZZY MATCH!" is displayed, and the program will retrieve the address's current Bitcoin balance from blockchain.info. It then appears where "<Contents>" would otherwise show. Pretty much always, it should update to show 0.00000000 where "<Contents>" was, indicating there are no unspent units on the address.

If the program finds a match, depending on your screen resolution, you may have to scroll down the list with mouse scroll-wheel to find the address with a match.
starsoccer9
Legendary
*
Offline Offline

Activity: 1630
Merit: 1000



View Profile
December 16, 2012, 12:57:29 PM
 #80

okay, but do i have to click each link to confirm there isnt a match? And it pauses automatically or i do it manually.Sorry for so many questions just i am probally gona leave it on when i sleep and hope i get lucky
Pages: « 1 2 3 [4] 5 6 7 8 9 10 11 12 »  All
  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!