Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: david19801 on February 19, 2011, 08:30:05 PM



Title: BTC addresses per second
Post by: david19801 on February 19, 2011, 08:30:05 PM
Hello,

Does anyone have a measure of how many BTC addresses one could computer per second as a ball park? (or minute, or hour or day if more convenient)


Title: Re: BTC addresses per second
Post by: Hal on February 19, 2011, 08:51:10 PM
The bottleneck is an elliptic curve multiply, which takes about 2 ms, for 500/sec. However if you just want to generate addresses as fast as possible, you can repeatedly increment the private key while adding G to the public key. I have a patch to Gavin's vanity-address search that does this. It should speed it up by a factor of 300 or so. So that would be 150,000 addresses/sec maybe.


Title: Re: BTC addresses per second
Post by: david19801 on February 19, 2011, 09:08:28 PM
Thanks.

The purpose of this question is to identify the plausibility of a BTC address brute force search on the network.

Given that hardware you mentioned, how many BTC account amounts could be checked per second?

As in, how many BTC accounts could be checked to get the number of BTC in them per second (even if 0)?


Title: Re: BTC addresses per second
Post by: Hal on February 19, 2011, 10:03:48 PM
Right now I'd estimate there are 300,000-400,000 funded addresses. Let's round up to a million, 2^20. When you generate a new address the chances are 2^20/2^160 or 1 in 2^140 that you will collide with a funded address. You need to generate 2^139 addresses for a 50-50 chance of success. With my estimate of about 2^17 tries/sec, that is 2^122 seconds. That is over 10^29 (1000000000000000000000000000000) years. Not a problem.


Title: Re: BTC addresses per second
Post by: david19801 on February 19, 2011, 10:08:07 PM
True, true.  But how many could one process per second inclusive of checking the amount on the account?


Title: Re: BTC addresses per second
Post by: Cryptoman on February 20, 2011, 12:01:47 AM
True, true.  But how many could one process per second inclusive of checking the amount on the account?

Also, how much stress would this create on the network?  Is this a viable denial of service attack?


Title: Re: BTC addresses per second
Post by: Hal on February 20, 2011, 12:17:07 AM
Checking the amount on an address would be very fast. Just scan the block chain to determine the balance for every address, and store as a hash table. Lookups would be in the nanoseconds, inconsequential compared to EC math.

None of this would create network activity.


Title: Re: BTC addresses per second
Post by: FreeMoney on February 20, 2011, 05:45:29 AM
True, true.  But how many could one process per second inclusive of checking the amount on the account?

Also, how much stress would this create on the network?  Is this a viable denial of service attack?

You don't use the network to make an address or to check a balance. You have a complete transaction history on your own hard drive.


Title: Re: BTC addresses per second
Post by: grondilu on February 20, 2011, 05:57:43 AM
It's certainly more efficient to use your computing power for mining, instead of using it to guess a founded bitcoin address with brute force.

But Hal's calculation is eloquent enough, I guess.


Title: Re: BTC addresses per second
Post by: [Tycho] on February 21, 2011, 05:16:37 AM
May be he wants to create bitcoin addresses containing specific letter combinations in it.
Will be nice to have some with human-readable portion :)


Title: Re: BTC addresses per second
Post by: Hal on February 21, 2011, 10:37:04 PM
Gavin has a patch for creating an address with your name in it:
http://bitcointalk.org/index.php?topic=1387.0 (http://bitcointalk.org/index.php?topic=1387.0)

Just call me 1HAL6HS2YzAi7Z9ZTuyZhgmf59DfMVbZrQ


Title: Re: BTC addresses per second
Post by: ADgordo on February 22, 2011, 11:40:02 PM
What stops two individuals from generating the same vanity key?


Title: Re: BTC addresses per second
Post by: theGECK on February 22, 2011, 11:43:02 PM
Additionally, what stops two downloaded clients from containing the same keys? Are we just going based on luck/probability that nobody will generate the same address as somebody else?


Title: Re: BTC addresses per second
Post by: BitterTea on February 23, 2011, 12:09:08 AM
Are we just going based on luck/probability that nobody will generate the same address as somebody else?

Yes, in the same way that you're lucky that the atoms in your foot don't pass right through the atoms in the floor every time you take a step. What I'm saying is that it's a statistical impossibility.


Title: Re: BTC addresses per second
Post by: Dude65535 on February 23, 2011, 12:19:42 AM
it is not impossible but it is mind bogglingly improbable


Title: Re: BTC addresses per second
Post by: theGECK on February 23, 2011, 03:27:15 PM
How improbable is it? According to US statistics (taken from  here http://en.wikipedia.org/wiki/Demographics_of_the_United_States#Demographic_statistics), there are 245,267,292 people above the age of 15. In 2006, there were 21.7 billion credit card transactions in the US. If bitcoin replaced credit card usage but stayed at the same frequency, that would equate to roughly 231 new addresses created every year, since the bitcoin client creates a new address each time.

Hm...maybe not as big of a deal as I initially thought. In order to run out of addresses, which I think I read have a maximum of 2160, at the 231 rate of creation, it would take 6.8 x 1038 680 undecillion (thanks, wolfram alpha) years to run out of addresses. If we assume that the world consists of more than the US, and double the number of transactions, it would still only be 232 and not make any real difference. If we assume that everybody on earth does the same amount of transactions as Americans, that would result in 667.5 billion credit card transactions each year. This would mean it would take 2.189 × 1036 years to deplete the available bitcoin addresses. Even if the amount of yearly transactions increased by a factor of 12, it would still take 1.824 x 1035 years to use every available address.

Incredibly improbable that somebody will run into somebody else's address, even after 10,000 years. Probably just about as improbable as Mr. Lucky in that other thread finding all the remaining blocks.


Title: Re: BTC addresses per second
Post by: lfm on February 23, 2011, 09:16:08 PM
If someone want to try to guess the secret key for an address, they can try 1111111111111111111114oLvT2 Which is the zero address. I sent a bitcent to it once just to see what would happen. the net accepted it, so that bitcent is now "lost" unless someone can fine a key for it.
If you want to add to the reward for finding this key you can send bitcoin to that address too. Good luck!