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?