Coin Bitten

So RSA or DSA public / private key cryptography, the incredible solution to the Russian Postal Sevice problem and the singularity at the centre of the Internet as a viable commercial prospect. It’s got a problem, and that problem is Moore’s Law.

I don’t have enough understanding of bitcoin to know if this is viable.

Miners are given blocks to throw flops at, and results end up in the blockchain - do nonsuccessful mines get put in the blockchain? Or is that where the target comes in, so the client can self verify mines and then flag that block for verification by Byzantine Generals?

Where do the blocks given to miners come from? If these blocks were pieces of information encrypted with a public key from, say,, which anyone can generate, and the target was the plain text, then miners could be trying to decrypt the block to get it to match the target.

This doesn’t work because it hasn’t portioned out the work correctly. Each miner is generating the same private key, so its no more efficient than the fastest miner.

Let’s say it’s a 512 bit key. 2^512 is the largest power of two that’s a power of two that my calculator can display. 1.34e154. That’s a very insecure keylength. How long does it take to decrypt a small ciphertext with a given key? Let’s say that given effort, like ASIC miners, we could get up to giga-hashes per second. 10^6 hashes. 3e7 seconds in a year, so one machine of 1gh could do 3e13 hashes per year. So we’d need 8.41e147 miners to break the key in a year. There are only 3.4e38 addresses in IPv6.

But! Well, actually. So all private keys are prime numbers, so that’s the main problem. Can we discard the numbers less than 10^154? Doesn’t help.

Also you can’t break the private key and then sniff everyone’s traffic - there’s the session key to try to guess too.


04 January 2014