4 ms·
> Two objects colliding accidentally is exceedingly unlikely. If you had five million programmers each generating one commit per second, your chances of generat
by a13n 10y ago
> Two objects colliding accidentally is exceedingly unlikely. If you had five million programmers each generating one commit per second, your chances of generating a single accidental collision before the Sun turns into a red giant and engulfs the Earth is about 50%.
What happens when machines are writing commits and there are far more than 5 million and 1 per second? Is this a "640K ought to be enough for anybody" quote of our time?
- markcerqueira 10y agoI guess the pertinent question now is how close are we to 5 million and 1 commits per second!
- AnimalMuppet 10y agoOne of two things will happen. Either the machines will be generating random commits, and nobody will care if they collide... ... or the machines will be able to generate real, useful code that fast, in which case it will be the machines' problem to solve.
- charles-salvia 10y agoAnd in the latter case, most human programmers will be unemployed, and thus unconcerned with hash collisions.
- nojvek 10y agoIf you were generating hashes on the gpu for collisions, according to https://hashcat.net/forum/thread-4314.html https://hashcat.net/forum/thread-4314.html A single titanX does 2^9 hashes per second. Suppose you had a 10,000 Gpus (expensive but not impossible) you can do 2e13 hashes per second. In 100 years there are ~3e9 seconds, so 6e22 hashes. Still magnitudes below 90. Sha1 isn't still crackable by brute force in a meaningful time.
- graton 10y ago> Is this a "640K ought to be enough for anybody" quote of our time? No. 1) That quote wasn't actually said by Bill Gates 2) Very few people will quote that 15-20 years from now.
- jacquesm 10y ago> Very few people will quote that 15-20 years from now. But that didn't stop someone from quoting it today and that's the third time or so this week that I come across that quote. The fact that it is quoted today - for which there is really no good reason - makes me suspect it will still be quoted 15-20 years from now. Hopefully less frequently.
- pvg 10y agoOne of the reasons it lives on is because it does represent what very quickly turned out to be a design mistake in the PC architecture - sticking 'reserved' memory at the top of a 20 bit address space. If it hadn't been for that, nobody would have ever had to opine whether 640k is or isn't enough, they'd have just added more memory and moved on.
- lorenzhs 10y agoPretty sure the GP is referring to GitHub's statement with "that", not the 640k quote. Nobody will quote the probability of a false positive of a SHA1 collision detector in 15-20 years.
- bbcbasic 10y agoUpdated to make it modern: 640k of Minifed, Gzipped JS should be enough for anybody
- nojvek 10y agoTell that to angular.
- pvg 10y agoNo. Let's say the commit rate increases by a factor of a million. You still have centuries to upgrade and fix the problem.
- IncRnd 10y agoAttacks always get better, not worse. You never have centuries to fix a broken security primitive, such as this.
- pvg 10y agoWhy are you telling me this? We are talking about accidental collisions not a 'security primitive' or attacks.
- IncRnd 10y agoThe github change was not put in place to handle accidental collisions but to detect an attack on the sha-1 security primitive.
- pvg 10y agoSo? This subthread is about a line in the write-up that talks about accidental collisions. Your objection to 'centuries' is a complete non-sequitur.
- IncRnd 10y agoYou apparently like to argue. Even if the sub-discussion is about accidental collisions centuries do not remain to fix the problem, which is that there was a recent practical attack of a mathematical speedup for certain types of collisions. Your conclusion doesn't follow from your premise. The attack persists regardless of the lack or presence of accidental collisions, therefore there aren't centuries to fix the problem.
- pvg 10y ago
- web007 10y ago5 billion years divided by (speed of computers / 5 million per second) is probably still high enough for most practical terms.
- CJefferson 10y agoNo, this is "640K ought to be enough for anybody while we fix the underlying problem and put a better hash function into git". This is more like living with a 4GB 32-bit memory space while we wait for 64-bit CPUs to become popular.
- paulddraper 10y ago> What happens when machines are writing commits and there are far more than 5 million and 1 per second? Then a collision will happen far sooner than the Sun engulfing the Earth. Maybe in the next million years, instead of 7 billion.