UUID v4
Printo- 0
? A është UUID v4 më unik se një kokërr rëre?
“A është e mundur të gjenerosh dy herë të njëjtin UUID v4?”
“A është më e mundur të marrësh të njëjtën kokërr rëre nga një plazh?”
Për zhvilluesit, sistemistët, dhe çdo njeri kurioz me probabilitetin, kjo pyetje nuk është thjesht interesante — është një dritare në çfarë do të thotë “unik” në botën reale dhe atë digjitale.
? Çfarë është UUID v4?
UUID v4 (Universally Unique Identifier, version 4) është një 128-bit identifikues që gjenerohet përmes një gjeneratori të sigurt të numrave të rastësishëm (CSPRNG).
-
Ka 2¹²² kombinime të mundshme
-
Kjo përkthehet në:
5.3 × 10³⁶
(53 undecilion, një numër me 36 zero!)
Në praktikë, kjo është aq e madhe saqë një përsëritje është më pak e mundshme se… çdo gjë tjetër që mund të imagjinosh.
? Si funksionon CSPRNG (Cryptographically Secure Pseudo-Random Number Generator)?
UUID v4 nuk është thjesht një numër rastësor — është një numër i gjeneruar kriptografikisht, që do të thotë:
-
Përdor një burim të fortë entropie (të rastësishme) nga sistemi operativ
-
Gjeneron numra që janë të paparashikueshëm
-
Ka cilësi të lartë të rastësisë, që e bën të sigurt për përdorim në kriptografi
Burimet e entropisë për CSPRNG përfshijnë:
-
Lëvizje të mausit
-
Kohë të rastësishme të aksesimit të diskëve
-
Rrjete dhe sinjale ndërprerjeje
-
Mikrosekonda nga bootimi i sistemit
-
Jitter të CPU-së
Në Linux, CSPRNG përdor zakonisht:
-
/dev/urandom
ose/dev/random
-
Algoritme si ChaCha20, ose AES-CTR, varësisht nga implementimi
Në Windows:
-
Përdoret
BCryptGenRandom()
oseCryptGenRandom()
? E rëndësishme: Edhe në makina virtuale të klonuara, këto burime janë të ndryshme çdo herë — ndaj edhe UUID v4 i gjeneruar është ndryshe çdo herë.
?️ Krahasimi me një kokërr rëre
Studiuesit vlerësojnë se ka rreth 7.5 × 10¹⁸ kokrra rëre në të gjitha plazhet e Tokës.
Pra, nëse ti zgjedh një kokërr rëre nga plazhi, e hedh poshtë, dhe pas disa ditësh përpiqesh të marrësh të njëjtën kokërr përsëri, gjasa ekziston — por është jashtëzakonisht e vogël.
Megjithatë:
? Përsëritja e një UUID v4 është më pak e mundshme se të marrësh të njëjtën kokërr rëre nga Toka.
? Po nëse kopjoj dy makina virtuale identike?
Një pyetje e shkëlqyer:
Nëse krijoj dy makina virtuale të njëjta, me të njëjtën RAM, disk, MAC adresë, dhe i startoj në të njëjtën kohë… mund të prodhojnë të njëjtin UUID v4?
✅ Përgjigjja: Jo.
Sepse:
-
Edhe në kopje perfekte, disk latency, scheduling i CPU, dhe entropia në sistem ndryshojnë menjëherë pas startimit.
-
RNG në sisteme operative moderne mbështetet në burime të çrregullta të entropisë: lëvizje të mausit, kohëra të disqeve, rrjete, etj.
Do të të duhej të kopjoje jo vetëm diskun dhe RAM-in, por edhe gjendjen e RNG-së në memorie për të krijuar mundësi për përsëritje — diçka që është praktikisht e pamundur në kushte normale.
? Shembuj të tjerë të “unikalitetit të pamundur për t'u përsëritur”
? Gjurmët e gishtave
-
Formohen në bark të nënës, ndikuar nga presioni, pozicioni dhe rrjedhja e lëngjeve.
-
Edhe binjakët identikë i kanë ndryshe.
?️ Irisi i syrit
-
Më shumë se 266 veçori.
-
Përdoret në teknologji të sigurisë dhe është më unik se gjurmët e gishtave.
? Struktura e trurit
-
Çdo tru ka rrugëzime dhe sinapse të ndryshme.
-
Askush s’ka të njëjtën “hartë mendore”.
❄️ Flokët e borës
-
Formohen ndryshe çdo herë për shkak të kushteve të ajrit.
-
Askush nuk ka parë ndonjëherë dy të njëjtë.
? Tabela krahasuese
GJË UNIKE | BURIMI | SHANSET PËR PËRSËRITJE |
---|---|---|
UUID v4 | RNG + kriptografi | 1 në 5.3×10³⁶ |
Gjurmët e gishtave | Biologji | 1 në triliona |
Irisi i syrit | Strukturë biologjike | Thuajse zero |
ADN-ja | Kombinime të trashëgimisë | Shumë-shumë e rrallë |
Flokët e borës | Kushte atmosferike | Thuajse unike |
Kokërr rëre | Planetare | ~7.5×10¹⁸ |
✅ Përfundimi:
UUID v4 është një nga shembujt më ekstrem të unikalitetit digjital që ka ndërtuar njerëzimi.
Nëse ndonjëherë gjeneron të njëjtin UUID v4 dy herë pa e kopjuar — ndoshta RNG-ja është prishur, ose universi po të bën shaka.
? BONUS për zhvilluesit:
Përdor UUID v4 për:
-
ID unike në databaza të shpërndara
-
Token sigurie
-
URL unike të parashikueshme vetëm nga sistemi
Por asnjëherë mos përdor Math.random()
për të gjeneruar UUID manualisht — nuk është i sigurt!