3 ms·
Author here. I posted this because I've witnessed many systems in companies I've worked for where our end-users needed UUID to communicate with it (technical su
by henvic 3y ago
Author here. I posted this because I've witnessed many systems in companies I've worked for where our end-users needed UUID to communicate with it (technical support, customer ID, etc.) in a way that makes communication harder. We could've used another shorter ID scheme, which would be fine.
The good thing about UUID is that it's omnipresent. From what I've heard, it's this lengthy (2^32) because it was hard to guarantee uniqueness when it was conceived in the telecom industry. The length is overkill, and per se, that's fine, but the fact that it dampers communication is awful.
That all said, since posting this, I've come to terms with accepting that it's part of life ¯\_(ツ)_/¯
P.S. Using a second human-friendly ID to end-users is an alternative adopted by some projects. However, most projects don't bother, and also, most good IDs you might want to share with people would make UUID unnecessary anyways (in practice).
- konschubert 3y agoJust use the first N characters of the UUID if you want a shorter version of the UUID. And if you want to be really human friendly, use one of those silly name generators.
- diplocorp 3y ago> it's this lengthy (2^32) UUIDs are 128 bits, so it's 2^128 rather than 2^32
- Nullabillity 3y agoThere is no fundamental tech advance that caa make the birthday paradox irrelevant or obsolete, and there never will be.
- rwiggum 3y agoall of cryptocurrency relies on sha256 the fact that the space is huge, and just ignores collisions. seems to work fine.
- Nullabillity 3y agoSHA-256 has, well, 256 bits of entropy. What I took issue with was the claim that UUID's 128 bits (well, almost, anyway) are overkill with modern advances in randomness.
- kiitos 3y agoThere have been so many incidents in crypto that exploited broken assumptions about hash collisions. Factually, X != hash(X). Sometimes you can make the simplifying assumption that X == hash(X), but only in well-defined contexts, subject to proper risk analysis; never in general, or as a presumption of a system that needs to be correct.