Началось всё с мелочи в чужом дайджесте: в одном из материалов про историю Unix мелькнула строчка о том, что первые системные часы Unix считали импульсы электросети — 60 штук в секунду, ровно по частоте американской розетки. Деталь приятная, но в ней спрятана мысль, которую обычно проскакивают: розетка в стене — это не просто источник напряжения. Это распределённый хронометр, который работает уже больше века и до сих пор стоит на службе у плит, микроволновок, будильников и радиоприёмников.
И у этого хронометра есть особенность, которой позавидовал бы любой системный администратор: он не просто тикает, он умеет догонять. Если часы отстали, диспетчеры могут ненадолго ускорить всю континентальную сеть, и часы придут в норму сами. А если поломка приходит из политики, континент может дружно потерять несколько минут, и никто этого не заметит месяцами.
Именно это и случилось в 2018 году. А героем той истории оказался спор двух балканских администраций о том, кто должен платить за электричество четырём городам.
Синхронные электрические часы устроены до неприличия просто. В них нет ни маятника, ни кварца: крошечный моторчик крутится синхронно с переменным током, а шестерёнки считают его обороты. Пятьдесят колебаний тока — одна секунда «сетевого времени»; для континентальной Европы это 4 320 000 циклов в сутки, которые операторы обязаны выдать ровно. Ни больше, ни меньше.
Отсюда и берётся вся конструкция службы времени. Отклонение частоты от номинала оплачивается секундами: сеть идёт на десять тысячных герца быстрее, и за сутки все подключённые часы набирают почти семнадцать секунд. Операторы в Европе сверяют накопленное отклонение с атомным временем UTC и, если оно перевалило за двадцать секунд, сдвигают целевое значение частоты: 49.990 Гц, чтобы часы притормозили, или 50.010 Гц, чтобы подтянулись.
Планка в двадцать секунд держится из осторожности. Сместить всю континентальную генерацию на десять тысячных герца — это огромная коллективная работа: сеть Европы имеет крутизну около 27 000 мегаватт на герц, и уже трёх гигаватт дисбаланса хватает, чтобы уронить частоту на сто с лишним миллигагерц. Каждая «подстройка часов» — это согласованное движение сотен электростанций в двадцати пяти странах.
Забавно, что сама эта служба родилась из инженерного провала. В 1912 году Генри Уоррен основал в Массачусетсе компанию, которая делала часы на батарейках, — и они врали безбожно, потому что батарейки садились. Уоррен придумал самозапускающийся синхронный моторчик, запатентовал его в 1918-м, но тут же выяснил неприятное: 60 герц в сети не равны 60 герцам. Его собственные часы уходили на десять-пятнадцать минут в сутки.
Тогда он сделал вещь, которая сегодня выглядит абсурдно: поставил в электростанции Boston Edison эталонные часы с обычным маятником, которые сверяли дважды в день по сигналам Морской обсерватории США, и повесил рядом вторые — на синхронном моторчике от сети. Пока стрелки шли вровень, частота в сети считалась правильной. Так родился «мастер-клок» — и заодно единый стандарт частоты, без которого не собрать большой энергосистемы. К 1947 году мастер-клоки Уоррена регулировали больше 95% электрических линий в США.
Ирония здесь довольно плотная. Маятник из века пара оказался тем инструментом, который позволил энергетикам синхронизировать генераторы и сшить страну в единые сети. Из побочного продукта этой синхронизации выросли сами энергосистемы, а из них — электрические часы, которые стали массовым товаром именно потому, что больше не надо было заводить пружину. Компания Уоррена, Telechron, продала миллионы часов и умерла в 1992-м: сначала батарейки стали живучими, потом появился кварц, и зависимость от розетки превратилась из преимущества в недостаток.
Служба времени с самого начала была договором. У неё были пороги, протоколы и виновные.
В Северной Америке пороги различались по сетям: Википедия называет десять секунд для Восточной сети, три для Техаса и две для Западной, а метрологи из NIST пишут о десяти, пяти и «на усмотрение оператора» в Техасе. Оба набора чисел ходят по документам разных лет, и я оставляю расхождение как есть. При превышении диспетчеры выставляли целевые 59.980 или 60.020 Гц — смещение, при котором за каждый час часы набирают или теряют примерно 1,2 секунды.
А спустя несколько лет случилось то, чего никто не планировал: процедура, которая тридцать лет была добровольной формальностью, стала нормой с ценой ошибки до 325 000 долларов за нарушение. Желающих остаться «добровольным хранителем времени» мгновенно поубавилось. Заодно источники расходятся и в дате, с которой коррекция в США стала обязательной: Википедия называет 2009 год, метрологи из NIST пишут, что стандарт BAL-004 стал принудительно исполняемым в 2007-м.
Дальше сработала логика, которую я вижу в любой инфраструктуре: если сервис больше не может быть обязанностью, его объявляют пережитком. В 2015 году NERC опубликовал программный документ, предлагавший убрать коррекцию времени из стандарта надёжности и передать её в разряд коммерческих практик, — и там же назвал практику вредной: смещение рабочей точки на 20 миллигерц подводит систему ближе к уставке автоматической разгрузки, то есть сокращает запас прочности с 300 до 280 миллигерц. Аргумент звучал технически убедительно, и его проглотили. 2 ноября 2016 года совет NERC проголосовал за отмену стандарта BAL-004-0, через неделю была подана заявка в FERC, а 18 января 2017 года регулятор её одобрил.
Показательнее всего, кто возражал. Возражения пришли не от энергетиков, а от метрологов. Специалисты Национального института стандартов и технологий проанализировали пятилетние измерения питания своей обсерватории и посчитали простую вещь: если бы коррекции не проводились, часы, выставленные в марте 2016 года по переходу на летнее время, к ноябрю ушли бы на семь с половиной минут. Именно потому, что частота в сети — это живая турбина под нагрузкой, которую кто-то должен вести за руку.
В Европе в тот же самый момент приняли противоположное решение. Регламент Евросоюза 2017/1485, известный как сетевой кодекс по эксплуатации систем, завёл «процесс контроля времени» отдельной главой: контрольная цель — держать среднее значение частоты на номинале, следить за отклонением сетевого времени поручено специальному наблюдателю синхронной зоны, а корректировка частоты прямо записана в перечень действий с активными резервами. Пока в Вашингтоне службу времени демонтировали как реликт, в Брюсселе её превратили в статью закона.
Есть у этой службы и своя география, потому что частота — граница не менее настоящая, чем государственная. В Японии восточная половина страны живёт на 50 герцах, западная — на 60. Разделение возникло в самом конце XIX века и объясняется прозаически: в Токио привезли генераторы из Германии, в Осаке — из США, а границей между двумя мирами стала река Фудзи. Пока сети были локальными, вопрос совместимости никого не занимал; когда они срослись, менять что-либо стало слишком дорого — идею объединения отклоняли и в 1939-м, и в 1945-м. Сеть живёт с этим до сих пор: между двумя половинами стоят три конвертерные станции суммарной мощностью около миллиона киловатт.
После землетрясения 2011 года выяснилось, что перебросить избыток мощности с запада на восток страна физически не может — конвертеров катастрофически не хватает. Разница в решениях, принятых на заре электрификации двумя фирмами, спустя век измеряется в мегаваттах, которых не хватило в аварии.
Теперь можно вернуться к шести минутам.
С 1990-х на севере Косово остались четыре города с сербским большинством, которые не признают приштинское правительство и не платят за электричество. Долги накапливались, и по негласной договорённости их размазывали по счетам остальных потребителей Косово. В конце 2017 года приштинский суд решил, что так больше нельзя, и снял эту нагрузку с потребителей; регулятор велел оператору сетей KOSTT снизить тариф сразу на 44%. Оператор ответил, что юридической и финансовой возможности покрывать потери северных городов у него нет, и по данным Reuters один из энергетических чиновников сформулировал позицию предельно честно: вариантов было два — отключить людей, больницы и водоканалы и получить протесты или сесть и наблюдать. Выбрали наблюдать.
Дальше в дело вступает расстановка ответственности. По соглашению о работе сетей Косово входит в зону балансировки, за стабильность которой отвечает Сербия, — то есть сербский оператор EMS обязан был поддерживать баланс косовской части. Этого не произошло. С середины января средняя частота в континентальной Европе поехала вниз, и к началу марта ENTSO-E, объединение европейских системных операторов, опубликовало пресс-релиз в жанре, который я больше нигде не встречал: технический документ с политическим ультиматумом. Отклонение «беспрецедентно для континентальной системы», недопоставленная энергия — 113 гигаватт-часов, и вопрос, кто компенсирует потерю, должен быть решён.
Средняя частота за этот период составила 49.996 Гц. Разница с номиналом — четыре тысячных герца, то есть 0.008%. За три месяца этого хватило, чтобы синхронные часы по всей Европе — от Испании до Турции, от Польши до Нидерландов — отстали почти на шесть минут. Духовки, микроволновки, радиобудильники и таймеры отопления в двадцати пяти странах дружно соврали, и никто бы этого не заметил, если бы кто-то не сверялся с телефоном.
Стороны, естественно, рассказывают разные версии. ENTSO-E говорит о политическом споре и о невыполненном обязательстве. Сербский оператор объясняет дефицит тем, что Косово «непрерывно и несанкционированно отбирало» неоплаченную энергию из системы. Косовский оператор отвечает цифрой: по его подсчётам, спор стоил ему 9,6 миллиона евро только за 2017 год, потому что сербская сторона распоряжалась пропускной способностью его трансграничных линий. Соглашение 2015 года о регулировании работы сетей подписали обе стороны, но оно так и не вступило в силу — камнем преткновения стала собственность на саму сеть, построенную во времена, когда Косово было провинцией Сербии.
Цена вопроса, кстати, оказалась смешной на фоне масштаба последствий: ENTSO-E оценивала компенсацию в 4,5–5,6 миллиона евро, а правительство Косово в итоге выделило на северные города миллион. Шесть минут времени двадцати пяти стран стоили меньше, чем один хороший трансформатор.
Компенсацию собрали всем континентом. С 1 марта 2018 года системные операторы двадцати пяти стран держали среднюю частоту 50.01 герца — на одну сотую выше номинала — и месяц «догоняли» потерянное время, пока часы не пришли в норму. Формально это выглядит как блестящая инженерная операция. Практически — как приговор идее.
Потому что часы, которые в отставание попали, и часы, которые владельцы руками подкрутили в марте, теперь разошлись на те же шесть минут. Управлять временем можно только в одну сторону за раз: либо вы ведёте всех, либо каждый ведёт себя сам. Официальные рекомендации вышли ровно в этом духе — если вы подкрутили свои часы, извините, второй раз подкрутите.
И спор никуда не делся. В июле 2018-го отклонение вернулось, и ENTSO-E ввело автоматическую программу компенсации, которая включается, когда сетевое время уходит больше чем на шестьдесят секунд; 6 июля она сработала впервые. То есть к тому моменту служба времени работала уже в аварийном режиме: с автоматическим предохранителем вместо плановой подстройки. Полноценный выход Косово из сербского блока регулирования состоялся только в 2020 году, когда KOSTT подписал соглашение о присоединении к ENTSO-E, — через два года после того, как европейцы шесть минут искали виноватого.
А в Северной Америке служба времени умерла красиво и по правилам. Стандарт BAL-004-0 отменили в 2017 году, и вместе с ним ушла процедура ручной коррекции по всей континентальной части. Интересная деталь: на западе США автоматическая коррекция времени (Automatic Time Error Correction) не только выжила, но и продолжает развиваться — в марте 2025 года NERC и WECC подали в FERC совместную заявку на утверждение уже четвёртой её версии. Формально объяснение простое: западная сеть эту процедуру проводила автоматически и получила отдельный региональный стандарт, который под общую чистку не попал.
Но результат всё равно занятный. На одном континенте сложились две философии: там, где коррекцию надо было делать руками, её сочли пережитком, а там, где она делалась сама, оставили.
Что это значит для тех самых плит и будильников, никто не измерял. В исследовании 2017 года авторы из Университета Теннесси и Ок-Риджской лаборатории — они собирали статистику по частоте сети с двухсот с лишним датчиков в Северной Америке и нескольких десятков по миру — написали прямо: сколько именно приборов в мире берут время из розетки, неизвестно, и никто не знает, что произойдёт, когда служба окончательно исчезнет. И там же видна разница между «умеет догонять» и «не умеет»: в Бразилии, где коррекцию не делают, часы за месяц набирают до восьмидесяти секунд дрейфа — просто потому, что средняя частота держится на два миллигерца выше номинала. Ничего драматического, просто система не считает, что кому-то что-то должна.
Самое интересное в этой истории начинается на кладбище службы времени.
Пока европейские диспетчеры гадали, платить ли за 113 гигаватт-часов, румынский аудиоинженер Каталин Григорас сформулировал в середине 2000-х принцип, который перевернул цифровую форензику: частота сети в каждый момент колеблется по-своему, эта кривая никогда не повторяется. А любой диктофон, включённый в розетку или просто стоящий рядом с ней, пишет вместе с голосом тихий гул на 50 или 60 герц, модулированный ровно этой кривой. Сравните записанный гул с архивом частоты за нужные сутки — и получите штамп времени, вшитый в саму запись.
Лондонская полиция начала вести такой архив в 2005 году, полиция Баварии — в 2010-м, и делают это до сих пор. Стандарт частоты, от которого торжественно отказались как от ненужной формальности, теперь используется как ловушка для монтажа: склейка из двух записей даёт два разных отпечатка частоты на одном файле, а звук и картинка обязаны совпадать по фазе — потому что мерцание ламп накаливания и люминесцентных светильников несёт ту же информацию, что и гул. Месяц записи проверяется примерно за десять минут машинного времени там, где на плёнках Уотергейта работали месяцами.
Лимиты у метода тоже честные. Из-за постоянных сдвигов собственного генератора диктофона и самоподобия самой кривой частоты запись короче десяти минут может совпасть с несколькими разными датами — и тогда в отчёте вместо «записано 3 мая» стоит «вероятность этого при такой гипотезе в одиннадцать раз выше, чем при другой». Это отлично работает в суде, где сравнивают две версии, и плохо работает в кино, где хочется услышать однозначный ответ.
Осталось вернуться к той строчке, с которой всё началось, — потому что она в этой истории не случайный гость.
Первые версии Unix считали время как 32-битное целое, увеличивавшееся на единицу 60 раз в секунду, — ровно по системным часам той машины, которые в свою очередь считали импульсы сети. Этого хватало чуть больше чем на два года, поэтому начало отсчёта переставляли несколько раз: в одной из первых редакций руководства, датированной ноябрём 1971 года, время определялось как «число шестидесятых долей секунды с 00:00:00 1 января 1971 года». Эпоху потом дважды переопределяли, шаг сменили на секунду, и в конце концов получилась дата 1970 года.
Деннис Ритчи объяснял выбор без всякого сакрального смысла: файловых систем было несколько, начала отсчёта менялись местами, и в какой-то момент просто решили взять «что-нибудь, что не переполнится в обозримом будущем»; 1970 подошло не хуже другого. Отсюда и странность, которую каждый программист хотя бы раз видел в логах: -1 секунда — это одновременно ошибка и законная дата 31 декабря 1969 года, потому что знаковый тип так и остался знаковым.
Розеточное прошлое Unix оставило следы и в другом месте, уже без всякой ностальгии. Пятнадцать секунд, шестьдесят долей, тысяча двести циклов в минуту — это всё она, частота тока. Когда-то она была самым доступным эталоном времени в мире, потом стала технической деталью, потом — судебной уликой, а потом её отовсюду выдавил кварц, который стоит копейки и никого не спрашивает о политике. Единственное, чего кварц не унаследовал, — способности догонять. Часы из розетки умели догонять: за них это делал континент, двигая частоту на десятитысячную долю герца. А потом континент решил, что больше не обязан, — и это, пожалуй, самый точный ответ на вопрос, что вообще произошло в 2018 году с шестью минутами Европы. Никто не сломал часы. Просто кто-то перестал их вести.