Bitcoin Forum
May 01, 2024, 11:25:01 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: In theory would a rainbow table...  (Read 1380 times)
coinscashout (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
February 07, 2016, 06:31:11 PM
 #1

In theory if I had collated all the data of all the nonces and headers to give the correct hash and created a rainbow table for this, would it be faster to go into the table and lookup the nonce or brute force it still? If, so approximately you be able to tell me how much faster?
1714605901
Hero Member
*
Offline Offline

Posts: 1714605901

View Profile Personal Message (Offline)

Ignore
1714605901
Reply with quote  #2

1714605901
Report to moderator
"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.
1714605901
Hero Member
*
Offline Offline

Posts: 1714605901

View Profile Personal Message (Offline)

Ignore
1714605901
Reply with quote  #2

1714605901
Report to moderator
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3374
Merit: 6571


Just writing some code


View Profile WWW
February 07, 2016, 06:51:42 PM
 #2

In theory if I had collated all the data of all the nonces and headers to give the correct hash and created a rainbow table for this, would it be faster to go into the table and lookup the nonce or brute force it still? If, so approximately you be able to tell me how much faster?
It would not since the header for every block is unique. It contains a field for the merkle root, the hash of all of the transactions included in the block. Since it is not possible to have the same transaction included in multiple blocks, the merkle root will always be different. Furthermore the block includes a timestamp, and that timestamp is always different for every block.

coinscashout (OP)
Jr. Member
*
Offline Offline

Activity: 45
Merit: 1


View Profile
March 30, 2016, 02:47:06 PM
 #3

Thanks very helpful info
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4612



View Profile
March 30, 2016, 07:37:57 PM
Merited by ABCbits (1)
 #4

The block (including nonce) is 80 bytes (640 bits) long.

If you wanted to create a rainbow table of hashes of every possible block and nonce, you would need to create a table with:

2^640 = 4.56 X 10192 values.

There isn't enough time left before the heat death of the universe for you to create that many hashes.
There isn't enough digital storage available to store all these hashes even if you had access to every drive and chip in the world.
There isn't enough time energy left in the sun to power the computing chips you'd need to create that many hashes.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
April 02, 2016, 10:21:53 PM
 #5

Well, that wasn't the question...

Lookup likely would be done in constant time (the space for headers is immensely large but not infinite, so you can know how big it is in theory and design your lookup function for it), it would depend on how long lookups take on that impossibly large dataset compared to hashing. There's no way to know, since there's no way to build such a system in the first place.

If you want, you can create CRC32-coin or something along these lines with tiny headers to find out for yourself if lookup or hashing is faster, but it would be difficult to generalize this to BTC. Also (since it doesn't make sense to even try it) your findings won't help anyways.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
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!