Dr Commodore
LIVE

YouTube, la matematica dietro la composizione degli URL

Con i milioni di video caricati sulla piattaforma, ci saranno mai duplicati?

YouTube è visitato ogni giorno da milioni, se non miliardi, di persone nel mondo. E ogni giorno quasi lo stesso numero di persone carica video sulla piattaforma, tra video pubblici, non in elenco o privati.

Ad ogni video YouTube assegna un ID univoco, generato in modo casuale (con risultati talvolta ilari. Per esempio, nell’URL del video può comparire una parolaccia, come nel video di In Da Club di 50 Cent) con la lunghezza di 11 caratteri.

YouTube

Controllate lo YouTube ID di questo screen, potreste rimanere sorpresi.

Però può dare da pensare il fatto che, ad una certa, ci saranno due YouTube ID univoci…vero?

Codifica dell’ID

Facciamo un passettino indietro… Nella progettazione di siti destinati a contenere video, immagini o altri file, c’è, nella maggior parte dei casi, una codifica dell’indicativo del file. Tale indicativo, in questi siti, è casuale. Usare un indicativo incrementale è un errore da principianti per i seguenti motivi:

  • Dai alla concorrenza il numero di contenuti o utenti presenti sulla piattaforma.
  • L’indicativo incrementale sta alla sicurezza e alla privacy come una porta girevole in un caveau. Se un video è non elencato, con un indicativo simile, può essere visto da tutti.

Sviluppatori di pagine web che leggete questo articolo, non usate questi indicativi. Affidatevi sempre ad un numero casuale. Alcuni siti però potrebbero avere difficoltà nell’usare un sistema decimale per degli ID e con buone ragioni:

Un sistema decimale offre soltanto 10 numeri diversi usufruibili per carattere, da 0 a 9.

Prendendo in esame questo, usando una codifica decimale e una stringa di 11 caratteri, le permutazioni sarebbero 10^11, dove 10 è il numero di caratteri disponibili e 11 è la lunghezza della stringa. Nel nostro caso, il risultato è 100 miliardi. Un numero difficile da raggiungere, ma se tutta la popolazione del mondo, 7 miliardi (Non si è tenuto conto delle unità sotto il miliardo nel calcolo), caricasse 15 video tale traguardo verrebbe superato.

Entra in gioco un tipo di codifica differente: Base64. Tale codice permette di avere come caratteri disponibili:

  • Ogni lettera dell’alfabeto in maiuscolo (THE QUICK BROWN FOX JUMPS OVER THE LAZY DOGE)
  • Ogni lettera dell’alfabeto in minuscolo (pack my box with five dozen liquor jugs)
  • I numeri da 0 a 9.
  • Il simbolo + e il simbolo /.

Visto che questi due simboli non collaborano bene con gli URL, essendo:

Questi due simboli negli URL vengono sostituiti dal trattino e dal trattino basso _ che non danno problemi di sorta.

Ma è comunque un numero finito di caratteri, quindi la domanda persiste.

Osservazione corretta. Ma esattamente… QUANTO è finito? Abbiamo deciso di fare alcuni calcoli.

  • Con una stringa lunga 1 carattere, si possono stipare solo 64 video. Troppo pochi.
  • Con una stringa lunga 2 caratteri, si possono stipare 64^2, solo 4096 videoTroppo pochi.
  • Usando una stringa di 3 caratteri, si stipano 64^3, 262 mila e 144 videoPochi per Youtube.
  • Una stringa di 4 caratteri e stipi 64^4, 16 milioni, 777 mila e 216 video. Pochi per YouTube.
  • 5 caratteri di lunghezza e stipi 64^5, 1 miliardo, 73 milioni, 741 mila e 824 video. Ancora poco.

Pensate di aver visto tutto?

  • 6 caratteri di lunghezza e si stipano 64^6, 68 miliardi, 719 milioni, 476 mila e 736 video. Se tutta la popolazione del mondo caricasse SOLO 10 video, il limite verrebbe superato.
  • Con una stringa di 7 caratteri di lunghezza, si stipano 64^7, 4 bilioni, 398 miliardi, 46 milioni, 511 mila e 104 video. Per superarlo servirebbe che tutta la popolazione del mondo caricasse 630 video, possibile in 10 anni di attività del sito.
  • Con una stringa di 8 caratteri di lunghezza, si stipano 64^8, 281 bilioni, 474 miliardi, 976 milioni, 710 mila 656 video. Limite superabile se 7 miliardi di persone caricassero 40211 video, limite difficile da raggiungere in 10 anni di attività, ma fattibile se si ha tempo da perdere.

Pronti a superare i limiti?

  • Usando una stringa di 9 caratteri, stipi 64^9, 18 biliardi, 14 bilioni, 398 miliardi, 509 milioni, 481 mila e 984 video. 2 milioni, 573 mila e 486 video basterebbero per superarlo…se fossero caricati da 7 miliardi di utenti, quindi è difficilissimo da raggiungere anche in 10 anni di attività… O possibile se 7 miliardi di utenti fossero attivi di continuo sulla piattaforma in 10 anni, ma comunque difficile.
  • 10 caratteri di lunghezza e stipi 64^10, 1 trilione, 152 biliardi, 921 bilioni, 504 miliardi, 606 milioni, 846 mila e 976 video. 164 milioni, 703 mila e 73 video caricati da 7 miliardi di utenti romperebbero questo limite. Nemmeno caricando un video al minuto sulla piattaforma si potrebbe raggiungere questo obiettivo.
  • E con 11 caratteri di lunghezza, 64^11, stipi ben 73 trilioni, 786 biliardi, 976 bilioni, 294 miliardi, 838 milioni, 206 mila e 464 video. L’intera popolazione della terra dovrebbe caricare 10 miliardi, 540 milioni, 996 mila e 614 video per superare questo limite. Della serie: 7 miliardi di utenti, caricando un video al minuto, supererebbe questo limite in 18 mila anni circa.

Conclusioni?

In linea teorica si possono avere degli identificativi di YouTube duplici? Si. In linea pratica? No. E se ci sarà mai un caso, altamente improbabile, dove questo accadrà? Basta solo aggiungere un carattere.

Così tante possibilità con così pochi caratteri… I prodigi della tecnologia. Questo è anche un esempio per dimostrarvi quanto la lunghezza di una password possa influire sulla sicurezza. La lunghezza fa metà del lavoro, il resto dovete mettercelo voi usando caratteri speciali ed evitando frasi di senso compiuto.

Commodoriani, vi è piaciuto questo tipo di approfondimento? Vorreste vederne di più? Scrivetecelo in un commento qui sotto.

Per rimanere informati sul mondo nerd, continuate a seguirci sul nostro sito DrCommodore.it e su Facebook, Instagram, Telegram, YouTube, Discord, Steam e Twitch.

Articoli correlati

Mario Sacchi

Mario Sacchi

Nato nel '96, questo baldo giovane passa il giorno e la notte alla ricerca di notizie su film, serie tv e anime. Nel tempo libero posta amenità sui suoi social.

Condividi