Extrait de l'émission CPU release Ex0190 : Index universel.
Dans une précédente émission, nous avons fait une imprécision volontaire en parlant du UUID (Universally unique identifier) dans une précédente émission, comme étant un index unique. Le UUID se présentait originellement dans ce but, mais il a connu des évolutions durant la précédente décennie.
Le UUID est une promesse de générer des identifiants supposés uniques sans coordination centrale.
Il faut savoir que le concept UUID a été créé originellement par la société Apollo Computing au début des années 1980s pour synchroniser et organiser la distribution logicielle entre différentes stations de travail au sein d'un réseau d'entreprise.
Les premiers UUID étaient composés de deux parties :
- l'identifiant réseau unique de l'ordinateur qui l'émettait (l'adresse MAC de sa carte réseau),
- et le timestamp (le moment exact) du moment de l'émission.
Tout simplement parce que l'UUID a été créé pour synchroniser des ordinateurs au sein d'un réseau privé. Sa consommation était donc locale, et il était utile de connaître qui l'avait émis.
Suite à l'armistice après la Grande Guerre des systèmes Unix, fut créé l'Open Software Foundation au début des années 1990s avec la plupart des industriels qui produisaient des stations de travail et de gros systèmes informatiques. Apollo y a apporté son système UUID pour gérer un parc informatique. Il a d'ailleurs été repris par Microsoft pour ses Workgroups Windows sous le nom de GUID (Globally Unique Identifier).
Ce petit nombre de 16 octets semblait bien utile, et comme il était disponible dans une bibliothèque open-source, il a été ré-utilisé pour d'autres usages. UUID était devenu d'un réel usage commun... et s'est échappé des petits réseaux d'entreprises alors qu'internet arrivait jusque chez le particulier.
Mais à l'heure des questions quant à protection des données privées des individus et de la sécurisation des réseaux d'entreprises, il y a eu un réel besoin d'anonymisation de la source émettrice des UUID, sans avoir à recourir à une autorité centrale. Donc, selon la RFC 4122, la première partie est devenue un nombre tiré aléatoirement, en espérant qu'il ne soit pas partagé par une autre machine.
Alors, est-ce que le UUID est un standard fiable ?
Oui… et non.
Oui, car il est déployé et utilisé largement.
Non, car le UUID ne garanti absolument pas sa promesse d'unicité des index émis, index qui ne sont pas centralisés ou préfixés par blocs émetteurs uniques.
Un peu comme les hashes qu'on utilise en signature chiffrée : on a toujours un risque de collision. Et donc qu'un NFT d'un singe beurré aie une signature identique à un NFT de Poutine constipé.
Texte : Da Scritch
Photo : barcode par CC-By-NC-SA Esther Simpson