Headline:Government IDs in Space
Date:Friday, May 29, 2020
Posted By:Plaid Hatter Games

I get the sense that I am a really, really bored person, but I was running into an issue when designing the database of my characters. Being the 21st (and beyond) century, they would be utilizing some sort of Information Technology system. And part of that system would be tracking individual people in databases. They would likely have run into the same sort of numerical exhaustion that bedevils modern vital statistics systems like the United States Social Security Number. It has only 7 digits, and while there are only 330 million people alive today, the number of individuals tracked goes back 70 years, and they have already exhausted all of the numbers and have had to recycle the ones from dead people.

Which makes it fun if your database encounters this case and suddenly starts associating records between a living child and a long dead individual. Hasn't happened to me, personally, but urban legend in IT states that it's happened and with comical/tragic results.

With individuals coming from all over the world, and at random intervals, as well as individuals born in space, there would have to be some sort of vital records system. And that system would need to track individuals across IT systems. There would be a universal ID number. And the ID number would have to be able to track the living and the dead, and also be able to handle multiple systems in parallel creating new records.

What I have devised is based partially on the Government ID system for Iceland. They base their ID numbers on the birth date of a person, a few random digits, and a checksum. This produces a 10 digit number that is used in all vital records. I can't use their system precisely for a couple of reasons, the least of which being that their encoding of the date implies we all agree to use the Gregorian calendar. Also 10 digits is not nearly enough to cover the billions of people alive today, let alone those in the past and future.

Birth date is still a nice, hard to argue with number. Even if you are talking about a historical figure, and we can't nail down exactly when their birth date is, we can just make one up and agree to disagree on how accurate it may be. But what we record has to be culturally neutral and permanent. I have selected Julian days. Julian Days are a simple counting of days since some arbitrary (and pre-recorded history) date. Because it is simple and consistent, it makes a handy way to convert back and forth between other calendar systems. (The date I am writing this, May 29, 2020 is Julian day 2458999).

Random numbers are nice because anyone can make one up. But, to ensure numbers don't collide between people on distant continents each issuing numbers you need to have a large amount of randomness. This would lead to some truly monstrous numbers on the top of everyone's Government ID. Universally Unique Indentifiers are 128 bits, and are utterly huge. (Example: 72cdb965-8d89-4a50-9444-97e4abc130de). You need something like that for database entries where entities flit in and out of existence randomly. But for people... that's overkill.

What I have done is paired a randomly generated 32 bit word with a Julian day or birth. (Or if birth is unknown, either day the record was created, or best estimate). 32 bits only gets you up to 4 billion or so possibilites, but combined with the date, the probability of collision for 2 entries is remote. To economize on bits people have to recall, both the birth date and the random number are encoded in base-16. An ID looks something like: 25e6c7-71dbacfc. Encoded in base 10 that same number would be: 2483912-1910222076.

Not as nice as a 7 digit social security number, but still something you could relate from an ID card over the phone. We could economize digits even further by encoding them into letters, but then everyone would have to agree to an alphabet. Heck... everyone would have to agree to use a phonetic writing system. But integers, we can all agree on integers.

In day to day use, people can just leave off the numbers that don't distinguish their record for other records. With 2000 people on the ship, 25e6c7-71dbacfc/2483912-1910222076 could be shortened to a much more manageable 3912-076 for day-to-day purpose. So long as nobody else had a similar id code. The computer, though, would always store the full number.