Bitcoin

 

If I’ve helped you, please feel free to send BTC as thanks:-) https://www.coinbase.com/daetabit

Australian Bitcoin Exchanges:

https://btcmarkets.net/ – Recommended – Easy and Quick Deposit. Don’t consider trading BTC here to make AU cash, exchange fee is too high. Unless you can trade $$$ per month.

https://www.coinbase.com/ – Recommended – Only allows purchase of BTC for AU. Good to sign up for and keep ready incase AU -> BTC is cheaper than btcmarkets.net.

US to AU Dollar:

https://www.oanda.com/currency/live-exchange-rates/AUDUSD/ – Official Website. Good to keep open to see what is happening.

Questions:

How long/big is the bitcoin private key?

https://en.bitcoin.it/wiki/Private_key – private key is usually a 256-bit number (some newer wallets may use between 128 and 512 bits)

Newer wallets may use BIP 32 seeds for their private keys, which can be as long as 512 bits.

for A in {1..256}; do echo -n 0; done
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

How big is a 256 Bit Number?

irb(main):003:0> easy_to_read_binary = 0b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
=> 0
irb(main):004:0> easy_to_read_binary = 0b1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
=> 57896044618658097711785492504343953926634992332820282019728792003956564819968

irb(main):001:0> easy_to_read_binary = 0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
=> 115792089237316195423570985008687907853269984665640564039457584007913129639935

How long would it take to loop through every possible Bitcoin 256 Bit Private Key Number?

With ruby IRB:

easy_to_read_binary = 0b1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
while easy_to_read_binary
  easy_to_read_binary -= 1
  puts easy_to_read_binary
end

That is taking a long while. Lets make it a 32 bit and time.

startTime = Time.now.inspect
 easy_to_read_binary = 0b11111111111111111111111111111111
 while easy_to_read_binary != 0
 easy_to_read_binary -= 1
 #puts easy_to_read_binary
 end
 endTime = Time.now.inspect
 puts startTime
 puts endTime

irb(main):008:0> puts startTime
 2016-12-30 09:38:47 +1100
 => nil
 irb(main):009:0> puts endTime
 2016-12-30 09:40:43 +1100

So 2 minutes. I had to remove the puts as this slowed down the processing considerably. Now to workout how long it would take to loop 256 Bits, all we need to do it take off 32 Bits and times the number by 2 minutes.

number224 = 0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
number224 * 2
irb(main):012:0> number224 * 2
=> 53919893334301279589334030174039261347274288845081144962207220498430
That is a lot of minutes to loop through.
irb(main):013:0> newnum = number224 * 2
=> 53919893334301279589334030174039261347274288845081144962207220498430
irb(main):015:0> newnum / 60 / 24 / 365
=> 102587316085048096631153025445280177601358997041630793307091363
That is a lot of years.. 
Keeping in mind the 2 minutes was using a MacBook Pro and a single thread. I should be able to run 8 threads simultaneously. 
irb(main):016:0> newnum / 60 / 24 / 365 / 8
=> 12823414510631012078894128180660022200169874630203849163386420
That knocked off a large number of years! However the first year is too much for me:-)
Of course if I was a government or super corporation, this number be considerably lower.

The real question is, how long does a supercomputer need to loop through the private keys until it gets a Hit, someones Private Key with Bitcoins attached. And how much would that cost in CPU/Electricity.