Are there any plans for a UUID generator?
So I’ve been looking for a good solution but I didn’t get far.
So 1 blob of entropy gives us 256 bits Nat (
cryptographic entropy (randomness source) is only obtainable asyncronously in discrete chunks of 256 bits (32-byte sized Blob
This raises the question, how is the entropy generated? radioactive decay? random background radio noise?
Also how much does 1 blob of entropy cost in cycles?
To get a UUID we need to be able to generate a 128 bit label. Universally unique identifier - Wikipedia
Now in order to get a low probability collision for a 128-bit UUID, the ‘birthday effect’ tells us that a collision is likely after you’ve generated about 2^64 keys, provided you have 128 bits of entropy in each key. From what I’ve read you’ll start seeing collisions in about 2^50 but the chances of seeing a collision if you’ve populated your database with just 1000 billion keys are still negligible.
So at best we can use a full blob of entroopy for 2 UUIDs.
Now my question is, what’s the best way to generate up to 10 UUIDs using just 1 blob of entropy and ensure a low probability collision?
I’ve seens some possible solutions using the Hash Hash :: Internet Computer
The problem is Hash returns a 31 bit Nat and secondly not sure how deterministic is this.