Random UUID Probability of Duplicates
Randomly generated UUIDs have 122 random bits. There are 128 bits altogether with four bits being used for the version ('Randomly generated UUID'), and two bits for the variant ('Leach-Salz'). With random UUIDs, the chance of two having the same value can be calculated using probability theory (Birthday paradox). Using the approximation
these are the probabilities of an accidental clash after calculating n UUIDs, with x=2122:
n | probability |
---|---|
68,719,476,736 = 236 | 0.0000000000000004 (4 × 10−16) |
2,199,023,255,552 = 241 | 0.0000000000004 (4 × 10−13) |
70,368,744,177,664 = 246 | 0.0000000004 (4 × 10−10) |
To put these numbers into perspective, one's annual risk of being hit by a meteorite is estimated to be one chance in 17 billion, that means the probability is about 0.00000000006 (6 × 10−11), equivalent to the odds of creating a few tens of trillions of UUIDs in a year and having one duplicate. In other words, only after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%. The probability of one duplicate would be about 50% if every person on earth owns 600 million UUIDs.
However, these probabilities only hold when the UUIDs are generated using sufficient entropy. Otherwise the probability of duplicates may be significantly higher, since the statistical dispersion may be lower.
Read more about this topic: Universally Unique Identifier
Famous quotes containing the words random and/or probability:
“poor Felix Randal;
How far from then forethought of, all thy more boisterous years,
When thou at the random grim forge, powerful amidst peers,
Didst fettle for the great gray drayhorse his bright and battering
sandal!”
—Gerard Manley Hopkins (18441889)
“Liberty is a blessing so inestimable, that, wherever there appears any probability of recovering it, a nation may willingly run many hazards, and ought not even to repine at the greatest effusion of blood or dissipation of treasure.”
—David Hume (17111776)