На рубеже XX и XXI веков человечество столкнулось с уникальным кризисом, порожденным его же собственным технологическим прогрессом. Угроза была закодирована в миллиардах строк программного кода, на которых к концу 1990-х годов держалась вся мировая инфраструктура. «Проблема 2000 года» потребовала от всех стран беспрецедентной координации, титанических усилий программистов и серьезных финансовых затрат, став первой в своем роде. Названий у нее было множество – «проблема Y2K» или «Y2K-совместимость», проблема «Миллениум», а также «проблема 2000».
Чем был вызван страх перед датой 01.01.2000?
«Проблема Y2K» была заложена на заре компьютерной эры, в 1960-е годы. Заключалась она в том, что разработчики программного обеспечения, выпущенного в XX веке, использовали два знака для представления года в датах, например, 1 января 1961 года в таких программах представлялось как «01.01.61». В то время аппаратные ресурсы были крайне ограничены, оперативная память и место для хранения данных были дорогостоящими и дефицитными (можете подробнее ознакомиться с этим в выпуске об истории ЭВМ), и потому благодаря таким сокращениям, компании экономили большое количество памяти.
Однако подобная экономия создала скрытую системную уязвимость, так как при наступлении 2000 года компьютерные алгоритмы, настроенные на двухзначное считывание года, могли интерпретировать «00» как «1900», а не как новый век. Это грозило масштабными логическими сбоями в любых системах, зависящих от корректного расчета дат. Например, это затронуло бы банковские карты: если срок действия указан как «05/00», система в 1999 году могла бы посчитать ее просроченной еще в 1900-м, что привело бы к несвоевременной блокировке или ошибкам в операциях.
Проблема «Миллениум» заключалась не столько в потенциальных неудобствах для пользователей, сколько в тотальной компьютеризации критической инфраструктуры, поскольку к концу XX века от корректной работы программного обеспечения зависели уже не только финансовые транзакции, но и промышленность, военная сфера и так далее. Именно осознание этой системной и всеобщей уязвимости превратило техническую особенность в проблему серьезного масштаба.
Предупрежден – значит вооружен
Надвигающийся кризис не мог остаться незамеченным. Первым, кто не только осознал проблему, но и попытался ее предотвратить за десятилетия до миллениума, стал американский компьютерный пионер Роберт Уильям Бемер (8 февраля 1920 – 22 июня 2004). Еще в 1971 году он публично обратил внимание на опасность двузначной записи года.
Его предупреждения имели серьезное обоснование, так как Бемер долгое время участвовал в разработке государственных стандартов для компьютерной индустрии. Опираясь на свои исследования, начатые еще в 1950-х, он доказывал, что сокращение даты – это «дешевое и глупое решение», чреватое большими проблемами в будущем. Несмотря на то, что Национальное бюро стандартов США согласилось с его доводами, рекомендация использовать четырехзначный год осталась лишь опциональной. В итоге, все это привело к тому, что позже назвали проблемой «Y2K-совместимости».
1000 и одна бессонная ночь программистов
К концу 1990-х годов предсказания Роберта Бемера стали реальностью, что вызвало обеспокоенность по всему миру. Страны начали масштабные и дорогостоящие программы по устранению уязвимости.
Например, в России для решения «проблемы 2000 года» была создана правительственная комиссия, которая отвечала за разработку и реализацию программы для соответствующей ситуации. По первоначальным планам 1999 года, на адаптацию федеральных учреждений выделялось 2 млрд рублей и привлекалось 50 млн долларов займов. На 2025 год это было бы 20,6 млрд рублей и 96,4 млн долларов соответственно. Однако, по оценкам западных аналитиков Meta Group и Software Productivity Research, фактические общие затраты страны на решение проблемы могли достигать 30 млрд долларов (на 2025 – 57,8 млрд), если учитывать работу всего корпоративного и банковского сектора.
А вот США, по данным компании IDC, специализирующаяся на технологиях и телекоммуникациях, что на решение «проблемы Y2K» потратили около 122 млрд долларов (на 2025 – 231 млрд). Из этих денег около 9 млрд (на 2025 – 17 млрд) было вложено государством: например, было выделено 50 млн (на 2025 – 95 млн) долларов на информационный когнитивный центр в Белом Доме. Остальную сумму составили вложения коммерческих компаний: Union Pacific Corp. – 46 млн долларов (на 2025 – 87,4 млн); Merrill Lynch & Co. – 525 млн долларов (на 2025 – 997 млн); Nabisco Inc. – 42 млн долларов (на 2025 – 79 млн). Но самое интересное заключается в том, что в США еще успели заработать на этом деле.
Чаще всего это были представители IT-индустрии (например, компания IBM и сотни стартапов), а также поставщики товаров «для выживания». Кроме продовольственных товаров и снаряжения для «апокалипсиса» выпускали и пособия о том, как выживать во время технологического коллапса.
Книгам давали максимально пугающие названия. Их обложки украшали апокалиптические образы часов и бомб, сопровождаемые тревожными слоганами. Но были и более сдержанные варианты, некоторые из которых изображены на рисунке выше.
Содержание этих изданий сводилось к одному сценарию: авторы убеждали читателей, что «проблема 2000 года» обернется многолетними бедствиями. Они описывали глобальную апокалиптическую картину, детально представляя возможные авиакатастрофы, веерные отключения электричества, коллапс финансовой системы, случайные пуски ядерных ракет, падение правительств и другие масштабные кризисы.
Затем авторы переходили к практическим рекомендациям: настоятельно советовали создавать запасы продовольствия, наличных денег и оружия. Читателям предлагались детализированные списки необходимых вещей и документов на случай конца света, инструкции по строительству укрепленных убежищ, рецепты из «поваренных книг апокалипсиса» и настоятельные рекомендации инвестировать в физическое золото как в единственную надежную валюту будущего.
Но кроме глашатаев, которые кричали о конце света, были и те, кто занимались его ликвидацией. Мир был настроен еще пожить, а потому появление решений не заставило себя ждать:
1. Компании и госорганы по всему миру начали масштабную проверку всего своего программного обеспечения, микропрограмм (BIOS) и аппаратного обеспечения (чипы часов реального времени) на предмет уязвимости. Проверялись не только мейнфреймы, но и системы отопления, банкоматы, медицинское оборудование и т.д.
2. Также проводились технические исправления систем. Была проведена замена двузначного года на четырехзначный в полях данных, интерфейсах и алгоритмах. Если систему было невозможно исправить, ее заменяли на новую, заранее совместимую с 2000 годом.
В ответ на угрозу «проблемы Y2K» мир предпринял беспрецедентные глобальные усилия по ее устранению. Это вылилось в масштабный аудит, модернизацию критически важной инфраструктуры, но важным решением стал именно переход с двузначного на четырехзначный формат обозначения года в данных и программном коде. В тех случаях, где исправление было невозможным, оборудование и программы заменялись на новые, совместимые с запросами «миллениума».
Преувеличенный страх или предотвращенный кризис?
Когда в каждой стране мира наступило 1 января 2000 года, глобальной катастрофы не последовало. Крупные энергосистемы, банковские сети и системы управления воздушным движением продолжили работу. Однако и без сбоев не обошлось – в разных странах регистрировались локальные проблемы, которые стали наглядными примерами того, что могло бы пойти не так без масштабной подготовки:
1. В конце 1980-х на территории Великобритании сеть продуктовых магазинов получила партию консервов с датой 01/00. Система учета посчитала, что их срок годности давно вышел и пришлось ликвидировать целую партию «80-летнего» товара.
2. Автокомпания «Крайслер» («Chrysler») решила провести эксперимент и перевела часы одного из сборочных заводов на 23:59 31 декабря 1999 года. Когда «пробила полночь», система безопасности начала сбоить, перестав впускать и выпускать людей с завода.
3. В Японии около 5% банкоматов в почтовых отделениях временно вышли из строя, не сумев корректно обработать транзакции с новой датой.
4. В Австралии в первые часы нового года некоторые автоматические валидаторы в общественном транспорте некорректно считывали билеты.
5. В Германии компьютерная система одной из оперных трупп ошибочно сбросила даты рождения сотрудников на 1900 год, что временно лишило их социальных пособий на детей в расчетах системы.
Подводя итоги, можно сказать, что наступивший 2000 год не принес ни ядерной зимы, ни краха цивилизации. Жизнь продолжилась в обычном ритме. Для многих обывателей «Проблема 2000 года» так и осталась в памяти как пример массовой истерии, подтверждающей поговорку «У страха глаза велики». Однако для IT-индустрии, правительств и экономистов это событие имеет иное значение.
Успешное предотвращение кризиса стало возможно благодаря десятилетиям работы, сотням миллиардам долларов и миллионам человеко-часов, потраченных на аудит, переписывание кода и тестирование систем.
Список источников:
1. Апокалипсис, которого не было: чем проблема 2000 года оказалась полезна для цивилизации – https://www.forbes.ru/tehnologii/390617-apokalipsis-kotorogo-ne-bylo-chem-problema-2000-goda-okazalas-polezna-dlya
2. История ошибки 2000 года – https://habr.com/ru/companies/alfa/articles/517096/
3. Как мир боялся миллениума: трата сотней миллиардов на подготовку, обеспокоенный Билл Клинтон – https://gol.ru/materials/19415-millennium
4. Компьютерный пионер Боб Бемер, 84 года – https://www.washingtonpost.com/archive/local/2004/06/25/computer-pioneer-bob-bemer-84/d7a31166-b00f-48b5-b7cc-d53bf106f194/
5. На конференции 2000 назвали сумму финансирования федеральных структур для решения "Проблемы 2000" – https://www.cnews.ru/news/line/na_konferentsii_2000_nazvali_summu_finansirovaniya_1
6. Сколько стоила «Проблема 2000» – https://www.km.ru/biznes-i-finansy/2000/02/13/glavnye-biznes-temy/skolko-stoila-problema-2000
7. In Search Of The Post-Y2K Gravy Train – https://www.forbes.com/2000/05/19/feat2.html
8. Конца света не было, зато были шальные деньги, рост ИТ и появился «индийский аутсорс»: история «проблемы 2000» – https://vc.ru/story/295759-konca-sveta-ne-bylo-zato-byli-shalnye-dengi-rost-it-i-poyavilsya-indiiskii-autsors-istoriya-problemy-2000
9. Some Key Facts and Events in Y2K History - https://www.computerworld.com/article/1372100/some-key-facts-and-events-in-y2k-history.html
10. Проблема 2000 года и пути ее решения - https://www.ixbt.com/mainboard/y2k.html
11. Рекомендации по решению проблемы 2000 года в информационных системах Банка России - https://normativ.kontur.ru/document?moduleId=1&documentId=11719