1

Is it possible to be profitable by developing a collision application that continually and automatically generate a key pair, check for the existence of the public address in the block chain, and then extract any funds that are found on matching key pairs?

I am not asking because I want to do this, rather I want to understand what mitigates this threat vector. I understand the total number of key pairs is massive, but it seems like someone could build a collision farm to hammer out key pairs.

Murch
  • 75,206
  • 34
  • 186
  • 622
Dscoduc
  • 173
  • 4

1 Answers1

4

I am not asking because I want to do this, rather I want to understand what mitigates this threat vector. I understand the total number of key pairs is massive, but it seems like someone could build a collision farm to hammer out key pairs.

Someone could, but because the total number of key pairs is massive, there would be no point. They could instead build a mining farm or put their money in interest bearing securities and have a probability of making a profit several trillion times higher.

Let's look at the probability of them making at least a single Bitcoin. At most, 21 million accounts can contain one Bitcoin or more. So they have to find one of 21 million key hashes out of 2^160 possible hashes. Let's assume their farm includes a billion cores, each of which can try 2 billion keys per second. In one hundred years, their probability of success would be approximately one in a ten billion billion.

So for a one in ten billion billion chance of making one bitcoin in a hundred years, they'd need a billion cores, each of which is trying two billion keys per second. Seems like they'd find something else to do with their time, doesn't it?

David Schwartz
  • 51,554
  • 6
  • 106
  • 178
  • I understand the math hurdle for computing all possible addresses, but one wouldn't have to find all addresses in order to get a return on the investment. I would assume there would be low hanging fruit from people using bad brain wallets, no? – Dscoduc Jun 09 '14 at 15:32
  • @Dscoduc The question is about key collisions, not bad brain wallets. Of course a bad wallet will be insecure. – David Schwartz Jun 09 '14 at 19:49
  • why are the amount of hashes 2^160? – Maxim Dec 04 '21 at 01:37
  • 160 bit hashes are used. Each bit has two possible values. – David Schwartz Dec 16 '21 at 21:22