Y
HN HRCB new | past | comments | ask | show | by right | domains | dashboard | about hrcb
+0.31 Cosmologically Unique IDs (jasonfantl.com)
466 points by jfantl 6 days ago | 153 comments on HN | Neutral Editorial · vv3.4 · 2026-02-24
Article Heatmap
Preamble: ND — Preamble Preamble: No Data — Preamble P Article 1: ND — Freedom, Equality, Brotherhood Article 1: No Data — Freedom, Equality, Brotherhood 1 Article 2: ND — Non-Discrimination Article 2: No Data — Non-Discrimination 2 Article 3: ND — Life, Liberty, Security Article 3: No Data — Life, Liberty, Security 3 Article 4: ND — No Slavery Article 4: No Data — No Slavery 4 Article 5: ND — No Torture Article 5: No Data — No Torture 5 Article 6: ND — Legal Personhood Article 6: No Data — Legal Personhood 6 Article 7: ND — Equality Before Law Article 7: No Data — Equality Before Law 7 Article 8: ND — Right to Remedy Article 8: No Data — Right to Remedy 8 Article 9: ND — No Arbitrary Detention Article 9: No Data — No Arbitrary Detention 9 Article 10: ND — Fair Hearing Article 10: No Data — Fair Hearing 10 Article 11: ND — Presumption of Innocence Article 11: No Data — Presumption of Innocence 11 Article 12: ND — Privacy Article 12: No Data — Privacy 12 Article 13: ND — Freedom of Movement Article 13: No Data — Freedom of Movement 13 Article 14: ND — Asylum Article 14: No Data — Asylum 14 Article 15: ND — Nationality Article 15: No Data — Nationality 15 Article 16: ND — Marriage & Family Article 16: No Data — Marriage & Family 16 Article 17: ND — Property Article 17: No Data — Property 17 Article 18: ND — Freedom of Thought Article 18: No Data — Freedom of Thought 18 Article 19: +0.40 — Freedom of Expression 19 Article 20: ND — Assembly & Association Article 20: No Data — Assembly & Association 20 Article 21: ND — Political Participation Article 21: No Data — Political Participation 21 Article 22: ND — Social Security Article 22: No Data — Social Security 22 Article 23: ND — Work & Equal Pay Article 23: No Data — Work & Equal Pay 23 Article 24: ND — Rest & Leisure Article 24: No Data — Rest & Leisure 24 Article 25: ND — Standard of Living Article 25: No Data — Standard of Living 25 Article 26: +0.30 — Education 26 Article 27: +0.22 — Cultural Participation 27 Article 28: ND — Social & International Order Article 28: No Data — Social & International Order 28 Article 29: ND — Duties to Community Article 29: No Data — Duties to Community 29 Article 30: ND — No Destruction of Rights Article 30: No Data — No Destruction of Rights 30
Negative Neutral Positive No Data
Aggregates
Weighted Mean +0.31 Unweighted Mean +0.31
Max +0.40 Article 19 Min +0.22 Article 27
Signal 3 No Data 28
Confidence 6% Volatility 0.07 (Low)
Negative 0 Channels E: 0.6 S: 0.4
SETL -0.11 Structural-dominant
Evidence: High: 0 Medium: 3 Low: 0 No Data: 28
Theme Radar
Foundation Security Legal Privacy & Movement Personal Expression Economic & Social Cultural Order & Duties Foundation: 0.00 (0 articles) Security: 0.00 (0 articles) Legal: 0.00 (0 articles) Privacy & Movement: 0.00 (0 articles) Personal: 0.00 (0 articles) Expression: 0.40 (1 articles) Economic & Social: 0.00 (0 articles) Cultural: 0.26 (2 articles) Order & Duties: 0.00 (0 articles)
Domain Context Profile
Element Modifier Affects Note
Privacy
No privacy policy or data collection practices observable on-domain.
Terms of Service
No Terms of Service observable on-domain.
Accessibility
No accessibility statements or WCAG compliance indicators observable.
Mission +0.05
Article 19 Article 27
Blog described as 'A computer science blog' with educational intent. Promotes knowledge sharing and intellectual exploration with no apparent restrictions on audience. Mild positive modifier for open knowledge dissemination.
Editorial Code
No editorial code of conduct observable.
Ownership
Individual personal blog; ownership clear and transparent.
Access Model +0.08
Article 19 Article 26
Content appears freely accessible without paywalls or authentication requirements. Open access supports knowledge dissemination rights.
Ad/Tracking
No advertising or tracking infrastructure observable on-domain.
HN Discussion 20 top-level comments
adityaathalye 2026-02-18 19:13 UTC link
Just past page 281 of Becky Chambers's delightful "the galaxy, and the ground within".

  Received Message
  Encryption: 0
  From: GC Transit Authority --- Gora System (path: 487-45411-479-4)
  To: Ooli Oht Ouloo (path: 5787-598-66)
  Subject: URGENT UPDATE
Man I love the series.

Looks like this multispecies universe has centrally-agreed-upon path addressing system.

j-pb 2026-02-18 19:16 UTC link
Great insights and visualisations!

I build a whole database around the idea of using the smallest plausible random identifiers, because that seems to be the only "golden disk" we have for universal communication, except for maybe some convergence property of latent spaces with large enough embodied foundation models.

It's weird that they are really under appreciated in the scientific data management and library science community, and many issues that require large organisations at the moment could just have been better identifiers.

To me the ship of Theseus question is about extrinsic (random / named) identifiers vs. intrinsic (hash / embedding) identifiers.

https://triblespace.github.io/triblespace-rs/deep-dive/ident...

https://triblespace.github.io/triblespace-rs/deep-dive/tribl...

ktpsns 2026-02-18 19:27 UTC link
Quite offtopic, but: I found UUIDs being overused in many cases. People then abused them to store data, making them effectively "speaking IDs" or "multi column indices".
bluecoconut 2026-02-18 19:29 UTC link
Fun read.

One upside of the deterministic schemes is they include provenance/lineage. Can literally "trace up" the path the history back to the original ID giver.

Kinda has me curious about how much information is required to represent any arbitrary provenance tree/graph on a network of N-nodes/objects (entirely via the self-described ID)?

(thinking in the comment: I guess if worst case linear chain, and you assume that the information of the full provenance should be accessible by the id, that scales as O(N x id_size), so its quite bad. But, assuming "best case" (that any node is expected to be log(N) steps from root, depth of log(N)) feels like global_id_size = log(N) x local_id_size is roughly the optimal limit? so effectively the size of the global_id grows as log(N)^2? Would that mean: from the 399 bit number, with lineage, would be a lower limit for a global_id_size be like (400 bit)^2 ~= 20 kB (because of carrying the ordered-local-id provenance information, and not relative to local shared knowledge)

lisper 2026-02-18 19:33 UTC link
This analysis is not quite fair. It takes into account locality (i.e. the speed of light) when designing UUID schemes but not when computing the odds of a collision. Collisions only matter if the colliding UUIDs actually come into causal contact with each other after being generated. So just as you have to take locality into account when designing UUID trees, you also have to take it into account when computing the odds of an actual local collision. So a naive application of the birthday paradox is not applicable because that ignores locality. So an actual fair calculation of the required size of a random UUID is going to be a lot smaller than the ~800 bits the article comes up with. I haven't done the math, but I'd be surprised if the actual answer is more than 256 bits.

(Gotta say here that I love HN. It's one of the very few places where a comment that geeky and pedantic can nonetheless be on point. :-)

alex_tech92 2026-02-18 19:58 UTC link
It is interesting how much of our infrastructure relies on the assumption that 'close enough' is actually 'good enough' for uniqueness. When we move from UUIDs to things like ULIDs or Snowflake IDs, we are really just trading off coordination cost for a slightly higher collision risk that we will likely never hit in several lifetimes. Thinking about it on a 'cosmological' scale makes you realize how much of a luxury local generation is without needing a central authority. It is that tiny bit of entropy that keeps the whole distributed system from grinding to a halt.
factotvm 2026-02-18 20:00 UTC link
> In order to fix this, we might start sending out satellites in every direction

Minor correction: Satellites don't go in every direction; they orbit. Probes or spaceships are more appropriate terms.

ekipan 2026-02-18 20:15 UTC link
I forget the context but the other day I also learned about Snowflake IDs [1] that are apparently used by Twitter, Discord, Instagram, and Mastodon.

Timestamp + random seems like it could be a good tradeoff to reduce the ID sizes and still get reasonable characteristics, I'm surprised the article didn't explore there (but then again "timestamps" are a lot more nebulous at universal scale I suppose). Just spitballing here but I wonder if it would be worthwhile to reclaim ten bits of the Snowflake timestamp and use the low 32 bits for a random number. Four billion IDs for each second.

There's a Tom Scott video [2] that describes Youtube video IDs as 11-digit base-64 random numbers, but I don't see any official documentation about that. At the end he says how many IDs are available but I don't think he considers collisions via the birthday paradox.

[1]: https://en.wikipedia.org/wiki/Snowflake_ID

[2]: https://youtu.be/gocwRvLhDf8

rini17 2026-02-18 20:21 UTC link
From real life we know that people prefer to have multiple anonymous IDs, or self-selected handles, either makes fully deterministic generation schemes moot.

Also, network routing requires objects that have multiple addresses.

Physics side of whole thing is funny too, afaik quantum particles require fungibility, i.e. by doxxing atoms you unavoidably change the behavior of the system.

m4nu3l 2026-02-18 21:03 UTC link
A more realistic estimate of the total number of addressable things should take into account that for anything to be addressable, its address should be stored somewhere at least once.

If it takes at least Npb particles to store one bit of information, then the number of addressable things would decrease with the number of bits of the address.

So let's call Nthg the number of addressable things, and assume the average number of bits per address grows with Nb = f(Ntng).

Then the maximum number of addressable things is the number that satisfies Nthg = Np/(Npb*f(Ntng)), where Np is the total number of particles.

vessenes 2026-02-18 23:16 UTC link
Chiming in from the decentralized world - there’s an adversarial / cooperative dynamic in the assignment of these IDs - and the selection of parents, not discussed in the original. I think you could possibly get to sub linear by allowing a small number of cooperative nodes to assign new IDs.

On the contrary, having the right to assign IDs is powerful; on balance, to my mind the right thing to do is some sort of a ZK verifiable random function, e.g. sunspot-based transformations combined with some proof of ‘fair’ random choice. In that case, I think the 800 bit number seems like plenty. You could also do some sort of epoch-based variable length, where for the next billion years or so, we use 1/256 of the ID space, (forced first bit to 0), and so on.

stonegray 2026-02-18 23:26 UTC link
Specifying a CSPRNG as an entropy source to avoid collision is incorrect.

CSPRNGs make prediction of the next number difficult (cracking-AES difficulty) but do not add entropy and must be seeded uniquely otherwise they will output the same numbers. Unless the author is proposing having the same machine generate a single universe-scale list in one run.

Also “banning” ids that are all 1s or 0s is silly; they are just as valid and unique as any other number if you’re generating them properly. Although I might suggest purchasing a lottery ticket if you get an UUID with all settable bits as 1.

MagicMoonlight 2026-02-19 00:05 UTC link
The obvious solution is a system like IP addresses. Every system has an address like universe.galaxy.region.system or whatever, then the system is subdivided in whatever way is logical for that system.

That way you can route ships or data or whatever to a specific system in a logical way. Each system decides how to allocate addresses. Since most systems won’t have anything or anyone to care, something like NASA or registrars would just allocate a block to the system and give large things like planets an address.

linuxhansl 2026-02-19 03:36 UTC link
Heh. I once had to make an argument that 256 bit randomly assigned identifiers are good enough without explicit collision checking. People wanted me to add complex and expensive collision checks.

My argument was the 2^256 actually approaches the number of atom in the observable universe (within 1 to 3 orders of magnitude), and that collisions are so unlikely that we'll have millions of datacenter meltdowns first (all assuming we have a good source of random numbers, of course). In the end I convinced everybody that even 128 bits are good enough, without any collision checking required.

I thought my arguments was clever, but this is so much better. :)

kelseyfrog 2026-02-19 04:36 UTC link
The Dewey section and Elias omega encoding was fun, but it reminded me of Project Xanadu's tumblers[1] - a variable length dotted notion where each segment is unbounded.

Tumblers are modeled using transfinite numbers which makes me wonder: what are the similarities and differences between transfinite numbers and Elias omega encoding? I'm not well versed in either, so I expect it's either a question from ignorance or I may have a lot to learn. :)

1. https://www.artandpopularculture.com/Tumbler_%28Project_Xana...

kmoser 2026-02-19 04:46 UTC link
> A more reasonable upper limit might be to assume that every atom in the observable universe will get one ID (we assume atoms won’t be assigned multiple IDs throughout time, which is a concession). There are an estimated atoms in the universe. Using the same equation as above, we find that we need 532 bits to avoid (probabilistically) a collision up to that point.

This doesn't take into account that you will inevitably want to assign unique IDs to various groups of atoms (e.g. this microchip, that car, etc.). And don't even get me started on assigning unique IDs to each subatomic particle.

cuttothechase 2026-02-19 06:22 UTC link
One could take anything like a cell and split it into genes, molecules, atoms, sub-atomic wave functions (with infinite value range) and take time which can be split into another infinite entity say even within a finite interval. How does this analysis account for that?

I could split this object into 10^500 or 10^50^500^5000 etc., with imagination being the limit.

These values Id'd at whatever imaginable resolution are far from practically useful but at a cosmic scale, there is no telling what is a useful value?

So this framework seems to be more limiting because we define a resolution ?

moktonar 2026-02-19 08:20 UTC link
The random uuid selection is far superior because of lifespan, you can only have so many functioning devices at the same time, and on the contrary to tree-based uuids once a device is decommissioned the uuid can be reclaimed. Practically though it would probably be a mixed algorithm where positioning would give the id root and the rest is selected randomly
program_whiz 2026-02-19 12:49 UTC link
Is it possible to construct an ID using some kind of centralized observable phenomena? Due to how time and distance distinguish things, would they always be unique? Like only one person will ever simultaneously observe stars in certain positions and intensities, color, etc. Similar to how I've heard some companies use lava lamps or other noisy processes to generate entropy.

I guess I'm wondering if there is a way to construct a universal coordinate frame for the whole universe? If so, then its possible to trivially assign local time + x + y + z + salt to make unique ids.

notepad0x90 2026-02-19 12:53 UTC link
Use a deck of cards for representation. 52 digits where 'K♠' for king-of-spades would be one character in Unicode. it isn't just cosmological unique, it's easier to read, harder to edit manually, and easier for our pattern recognition to keep track of.

And best feature: anyone can generate a random id of such representation by getting a deck of cards and shuffling it properly. Playing cards are ubiquitous. I can see a camera "reading" the decks after they've been splayed on a table after a shuffle. This might even make a better random number seeds.

You're not sure if there is any demand for this sort of stuff? Look at dicekeys:

https://dicekeys.com/

Score Breakdown
ND
Preamble Preamble

Content is technical computer science exposition with no observable relationship to fundamental human dignity, freedom, or dignity principles.

ND
Article 1 Freedom, Equality, Brotherhood

No observable content addressing equal and inalienable rights or human dignity.

ND
Article 2 Non-Discrimination

No observable content addressing non-discrimination.

ND
Article 3 Life, Liberty, Security

No observable content addressing right to life, liberty, or personal security.

ND
Article 4 No Slavery

No observable content addressing slavery or servitude.

ND
Article 5 No Torture

No observable content addressing torture or cruel punishment.

ND
Article 6 Legal Personhood

No observable content addressing right to legal recognition.

ND
Article 7 Equality Before Law

No observable content addressing equal protection under law.

ND
Article 8 Right to Remedy

No observable content addressing remedies for rights violations.

ND
Article 9 No Arbitrary Detention

No observable content addressing arbitrary arrest or detention.

ND
Article 10 Fair Hearing

No observable content addressing right to fair trial.

ND
Article 11 Presumption of Innocence

No observable content addressing presumption of innocence.

ND
Article 12 Privacy

No observable content addressing privacy of correspondence.

ND
Article 13 Freedom of Movement

No observable content addressing freedom of movement.

ND
Article 14 Asylum

No observable content addressing asylum or refuge.

ND
Article 15 Nationality

No observable content addressing nationality rights.

ND
Article 16 Marriage & Family

No observable content addressing marriage or family rights.

ND
Article 17 Property

No observable content addressing property rights.

ND
Article 18 Freedom of Thought

No observable content addressing freedom of conscience or religion.

+0.40
Article 19 Freedom of Expression
Medium A: Open dissemination of technical knowledge F: Educational framing promotes intellectual freedom
Editorial
+0.25
Structural
+0.30
SETL
-0.12
Combined
ND
Context Modifier
ND

Content freely shares technical knowledge and intellectual exploration. No restrictions on expression or information access observed. Blog structure supports unrestricted knowledge sharing. Mild positive signal for freedom of opinion and expression through open academic discourse.

ND
Article 20 Assembly & Association

No observable content addressing freedom of assembly or association.

ND
Article 21 Political Participation

No observable content addressing political participation.

ND
Article 22 Social Security

No observable content addressing social security or welfare.

ND
Article 23 Work & Equal Pay

No observable content addressing work or employment rights.

ND
Article 24 Rest & Leisure

No observable content addressing rest or leisure.

ND
Article 25 Standard of Living

No observable content addressing health or standard of living.

+0.30
Article 26 Education
Medium A: Promotes intellectual development through technical education P: Free access to educational content without barriers
Editorial
+0.20
Structural
+0.25
SETL
-0.11
Combined
ND
Context Modifier
ND

Content supports right to education through unrestricted access to technical knowledge and intellectual development. Blog demonstrates commitment to education through clear pedagogical structure and comprehensive explanation. Mild positive signal for educational rights.

+0.22
Article 27 Cultural Participation
Medium A: Participation in scientific and cultural progress F: Intellectual contribution to shared knowledge commons
Editorial
+0.15
Structural
+0.20
SETL
-0.10
Combined
ND
Context Modifier
ND

Content demonstrates participation in scientific progress and sharing of cultural-intellectual advancement. Computer science exploration contributes to collective intellectual heritage. Mild positive signal for right to share in scientific advancement.

ND
Article 28 Social & International Order

No observable content addressing social or international order.

ND
Article 29 Duties to Community

No observable content addressing duties or community responsibilities.

ND
Article 30 No Destruction of Rights

No observable content addressing interpretation or limitations of rights.

About HRCB | By Right | HN Guidelines | HN FAQ | Source | UDHR
build fc56cf0+0q5s · 2026-02-25 01:32 UTC