بر اساس گزارش صحت خبر و به نقل از زومیت، منبع اصلی مشکل سال ۲۰۳۸ در بطن بسیاری از سیستمهای عامل مخصوصاً سیستمهای مبتنی بر یونیکس، از جمله لینوکس، اندروید و نسخههای قدیمی macOS وجود دارد. این سیستمها زمان را بر اساس تعداد ثانیههایی که از یک نقطه شروع مشخص، یعنی ساعت ۰۰:۰۰:۰۰ (UTC) روز اول ژانویه ۱۹۷۰ (که به نام Unix Epoch شناخته میشود) گذشته، محاسبه میکنند.
مسئله بنیادی این است که شمارشگر ثانیه در سیستمهای ۳۲ بیتی در یک متغیر عددی «علامتدار» ذخیره میشود. این نوع متغیر دارای محدودیت ظرفیت است و میتواند شمارش تا عدد ۲,۱۴۷,۴۸۳,۶۴۷ را در خود جای دهد.
لحظهی سرریز
این حد عددی دقیقاً در ساعت ۰۳:۱۴:۰۷ (UTC) روز سهشنبه، ۱۹ ژانویه ۲۰۳۸ (۳۰ دی ۱۴۱۶) به اوج خود میرسد. یک ثانیه بعد، در ساعت ۰۳:۱۴:۰۸، شمارشگر به اصطلاح «سرریز» خواهد شد. بیت علامت (که نشان دهنده مثبت یا منفی بودن عدد است) از صفر (مثبت) به یک (منفی) تغییر میکند و مقدار متغیر به طور ناگهانی به منفیِ ۲,۱۴۷,۴۸۳,۶۴۸ تبدیل میشود.
در این لحظه، سیستم عامل به جای خواندن تاریخ سال ۲۰۳۸، به طور ناگهانی به گذشته منتقل میشود و تاریخ را به عنوان ۱۳ دسامبر ۱۹۰۱ (۲۲ آذر ۱۲۸۰) تفسیر خواهد کرد. چنین وضعیتی میتواند موجب از کار افتادن سیستمهای کلیدی، ایجاد خطاهای محاسباتی در معاملات مالی، اختلال در مسیریابی و هر فرآیند وابسته به زمانبندی دقیق گردد.
با این حال، کامپیوترهای شخصی و تلفنهای هوشمند مدرن شما در معرض خطر نیستند. این دستگاهها اکثراً به معماری ۶۴ بیتی ارتقا یافتهاند. در یک سیستم ۶۴ بیتی، ظرفیت شمارشگر به قدری وسیع است که سرریز بعدی تا حدود ۲۹۲ میلیارد سال دیگر اتفاق نخواهد افتاد (یعنی سالها پس از پایان عمر خورشید).
خطر واقعی متوجه سیستمهای ۳۲ بیتی قدیمی است؛ میلیونها دستگاهی که ممکن است به فراموشی سپرده شده باشند اما هنوز در زیرساختهای حیاتی، روترها، سیستمهای کنترل صنعتی، تجهیزات بانکی کهنه و حتی برخی قطعات خودروها مشغول به کارند.
بنابراین، کیش و بازی مهندسان نرمافزار برای شناسایی و بهروزرسانی تمام این کدهای ۳۲ بیتی پنهان، قبل از رسیدن به آن سهشنبه مهم در سال ۲۰۳۸ آغاز شده است.
۵۸۵۸