The 2038 problem refers to the time encoding error that will occur in the year 2038 in 32-bit systems. This may cause havoc in machines and services that use time to encode instructions and licenses. The effects will primarily be seen in devices that are not connected to the internet.
We live in an organized society, one that is largely founded on community living. This is a shared world, of course, which is why houses can accommodate a number of eclectic family members, why buildings are designed to increase community interactions, why there are multiple checkout lanes in stores to accommodate crowds, and why software is designed to cross platforms and connect different kinds of devices used by all types of users.
A community cannot survive without a shared notion of time, which acts as a critical dimension for civilization, primarily for coordination, organization and communication. The importance of time cannot be overemphasized, as anyone who is regularly late will surely understand.
In the past 50 years, this concept of community living has shifted from the world of atoms to the world of bits, as we have seen more and more of our lives enter the digital realm. Naturally, this is reflected in our translation of time, as every digital device uses standardized time as a reference to carry out instructions and store licenses, among countless other tasks.
If this shared time across devices were to somehow become faulty, our entire digital infrastructure could crumble. How could this come about?
The 2038 problem
Code is how the digital landscape is designed. It is the way time is kept in computers, so nearly every computer in history has had the capability of keeping time. It is used to develop websites, apps, cars, robots and most importantly, in this case, operating systems.
As computers were being developed, the operating system that became the default in the 1970s was the UNIX system. Almost all operating systems in use today can be traced back to UNIX. It was developed by Bell Labs in the 1960s and the initial release had elements that are still seen today!
The way UNIX kept time was through a 32-bit counting system. This 32-bit system, which remains the standard for modern computers, has been counting forward from 00:00:00 UTC January 1st 1970. This counter has a finite amount of seconds that it can count up and down to +(231 – 1) and -(231 – 1), which is equal to 2,147,483,647 seconds going both ways. 2 billion seconds may seem like a lifetime (and it is), but this system will still count its last second precisely on 03:14:07 19th January 2038.
The counter will then begin to count from the negative scale, once this date comes to pass, causing the computers to reset to December 13th 1901, leading to all kinds of errors in every modern 32-bit computer.
This is the 2038 problem, which will mark the end of UNIX time and subsequently the UNIX epoch. It could also cause a lot of chaos if left unchecked.
How it could affect the world
Almost every piece of equipment today contains a microprocessor that runs on this system. Embedded systems in factory machinery and transportation systems, such as those found in cars and airplanes, are used to automate certain processes and coordinate with other parts of the system. For example, cars use onboard computers to monitor electronic stability control, traction control, the GPS system, braking systems, etc. When the UNIX epoch ends, these machines could malfunction, harming the human users or onboard passengers during the possible system crash.
Licenses today use dates to verify and regulate users, so a fault in this dating system would result in the termination and overall malfunction of the subscription records that the company uses, thus harming many users. This is the same for any service that uses a timestamp for authenticating and renewing user access to their work and private document; it will result in the inaccessibility of these documents and financial information once the UNIX epoch comes to an end.
The effects from this problem aren’t only going to be felt after 2038, but also much earlier, as many apps and websites use future dates for scheduling, managing hedge funds, etc.
The 2038 problem is similar to the millennial bug (the Y2K scare in the year 2000), but it’s potentially more damaging because there are far more devices in much more diverse types of electronic equipment today. Unfortunately, there doesn’t seem to be one solution that works as a universal remedy for this problem.
For those devices connected to the internet, a simple software update could solve this issue, so the majority of computing devices are going to be fine, as the IoT revolution has linked more and more devices to the internet (computers, laptops, tablets, smartwatches, household appliances, cars etc.).
Better computing systems are already replacing the 32-bit system, as 64-bit computers are being used in the new electronics coming out today. They are poised to solve this problem for a much longer time, a time far greater than the age of the universe itself! These systems will be able to keep time for 20 times the current age of the universe, which comes to around 292 billion years!
The most problematic devices are going to be those that aren’t connected to the internet and that can’t be updated through a software patch. These are probably going to cause a bit of havoc and fuel the mass hysteria of “the end of the world in 2038”.
In any case, there’s no need to panic, as this is a widely discussed issue in the computer science industry that is constantly being worked on. Any actual problems that arise as a result in 2038 will be perfectly manageable–so don’t worry!