Що таке високосна секунда? (І чому її скасують до 2035 року)

Опубліковано: 9:00 AM , від Time.tz Team

Дізнайтеся, що таке високосна секунда, чому вона існує, які збої вона спричинила, про Google leap smear та чому у 2022 році CGPM проголосувала за її скасування до 2035 року.

Цифровий годинник показує 23:59:60 — рідкісну додаткову секунду, додану до UTC під час вставки високосної секунди

Що таке високосна секунда?

Високосна секунда — це односекундне коригування, яке час від часу додається до Всесвітнього координованого часу (UTC), глобального стандарту часу, з яким синхронізуються ваш телефон, сервери та супутники. Коли її додають, остання хвилина дня містить 61 секунду замість 60 — годинник відраховує 23:59:60, перш ніж перейти на 00:00:00.

Високосні секунди здаються дрібницею. Але це не так. Ця зайва секунда спричинила збої на великих вебсайтах, призвела до затримок рейсів і викликала багаторічні суперечки між фізиками, астрономами та інженерами-програмістами. У 2022 році світові органи з хронометражу нарешті проголосували за їх скасування. Ось що таке високосна секунда насправді, чому вона існує і чому її вирішили прибрати.

Чому існують високосні секунди

Проблема зводиться до двох різних способів вимірювання часу, які не зовсім узгоджуються між собою.

Атомний час ідеально стабільний. З 1967 року секунда визначається коливаннями атомів цезію-133 — 9 192 631 770 коливань за секунду. Мережа атомних годинників по всьому світу підтримує Міжнародний атомний час (TAI), і він напрочуд регулярний: він ні прискорюється, ні сповільнюється.

Обертання Землі нестабільне. Тривалість дня, виміряна за фактичним обертанням планети, дещо нерегулярна. Тертя від припливів, рух рідкого ядра Землі та зміни маси, як-от танення льодовикових щитів, — усе це впливає на швидкість обертання. У довгостроковій перспективі планета загалом сповільнюється, тому астрономічний день стає трохи довшим за 86 400 атомних секунд. Цей час, заснований на обертанні, називається UT1.

Якщо нічого не робити, UTC (побудований на стабільних атомних секундах) і UT1 (прив'язаний до фактичного Сонця на небі) повільно розходитимуться. Щоб утримувати їх узгодженими, правило просте: UTC ніколи не повинен відрізнятися від UT1 більше ніж на 0,9 секунди. Коли розрив наближається до цієї межі, до UTC додається високосна секунда, щоб атомний час "зачекав", поки повільніша Земля наздожене його.

Отже, високосна секунда — це, по суті, ручне коригування, яке підтримує наші точні атомні годинники синхронізованими з нестабільною планетою, на якій ми живемо.

Коротка історія високосних секунд

Високосні секунди були введені в 1972 році, коли UTC було перевизначено як час, заснований на атомному часі, але при цьому прив'язаний до обертання Землі.

Відтоді до 2016 року було додано 27 високосних секунд. Усі вони були позитивними — секунда додавалася, а не віднімалася — оскільки за цей період обертання Землі загалом відставало від атомного часу. Остання високосна секунда була додана 31 грудня 2016 року о 23:59:60 UTC.

Після цього була помітна майже семирічна перерва, оскільки в останні роки обертання Землі дещо прискорилося — настільки, що вчені вперше серйозно почали обговорювати можливість негативної високосної секунди (видалення секунди замість додавання), чого ніколи не траплялося і чого багато інженерів бояться навіть більше, ніж звичайної.

Хто вирішує, коли вона настане?

Високосні секунди не плануються за фіксованим календарем. Їх оголошує Міжнародна служба обертання Землі та систем відліку (IERS), штаб-квартира якої знаходиться поблизу Парижа, яка постійно відстежує обертання планети.

Коли розрив між UT1 та UTC наближається до 0,9 секунди, IERS випускає бюлетень — зазвичай приблизно за шість місяців — із повідомленням про додавання високосної секунди. За домовленістю, додавання відбувається в кінці 30 червня або 31 грудня (UTC).

Цей шестимісячний термін є суттю інженерної проблеми: графік є нерегулярним і непередбачуваним. Ви не можете написати формулу, яка б сказала вам, коли настане наступна високосна секунда, як це можна зробити для високосних років. Ви повинні чекати на оголошення IERS, а потім переконатися, що кожен годинник у вашій системі знає про це.

Чому інженери ненавидять високосні секунди

Для більшості людей зайва секунда непомітна. Для комп'ютерів, які очікують, що кожна хвилина має рівно 60 секунд, 61-секундна хвилина є міною уповільненої дії.

Найвідоміший інцидент стався 30 червня 2012 року, коли було додано позитивну високосну секунду. У момент її додавання вийшли з ладу різні системи. Reddit впав, як і інші великі сайти. Помилка була пов'язана з тим, як ядро Linux обробляло зворотний хід годинника в цей момент — це спричинило неконтрольовану ситуацію, яка завантажила процесори серверів. Системи бронювання авіаквитків, побудовані на вразливому програмному забезпеченні, також повідомили про збої, що призвело до затримок реєстрації. Подібні проблеми виникали і під час попередніх високосних секунд.

Основні проблеми є структурними:

  • Подія є рідкісною, тому шляхи коду для обробки високосних секунд майже ніколи не використовуються і рідко тестуються в реальних умовах.
  • Час ніби зупиняється або повторюється, і багато програмного забезпечення мовчки припускає, що час рухається лише вперед, монотонно.
  • Графік є непередбачуваним, тому системи повинні отримувати та довіряти зовнішньому оголошенню, а не обчислювати коригування самостійно.

Оскільки сучасний збій може поширитися на фінансові ринки, телекомунікаційні мережі та хмарні платформи, одна неправильно оброблена секунда може коштувати дуже дорого.

Обхідний шлях Google: "Leap Smear"

Замість того, щоб застосовувати високосну секунду одним різким стрибком, Google запровадив підхід під назвою leap smear (розмазування високосної секунди). Замість додавання повної секунди опівночі, сервери Google розподіляють коригування на тривалий проміжок часу — зазвичай приблизно на ~24 години навколо події — роблячи кожну секунду непомітно довшою (або коротшою).

Під час "розмазування" жоден годинник ніколи не показує 23:59:60 і жоден годинник ніколи не йде назад; час просто йде дуже повільно протягом дня, поки зайва секунда не буде непомітно поглинута. Програмне забезпечення бачить плавний, монотонний годинник і ніколи не потрапляє в небезпечний крайній випадок. Amazon, Meta та інші прийняли подібні стратегії "розмазування", і це стало фактичним методом виживання для великомасштабних систем.

Недолік: "розмазаний" годинник навмисно розходиться з офіційним UTC на кілька годин — це нормально для більшості сервісів, але створює проблеми, коли потрібно узгодити його з системами без "розмазування". Це обхідний шлях для проблеми, якої, на думку індустрії, взагалі не повинно бути.

Якщо ви працюєте з epoch-часом, зауважте, що Unix-мітка взагалі не враховує високосні секунди — Unix-час просто вважає, що кожен день має рівно 86 400 секунд, що частково пояснює, чому реальне коригування викликає стільки проблем.

Рішення 2035 року: високосні секунди скасовано

Дебати досягли кульмінації на 2022 Генеральній конференції з мір та ваг (CGPM) — міжнародному органі, який регулює метричну систему та визначення секунди.

Делегати ухвалили знакову резолюцію: практику додавання високосних секунд буде припинено до 2035 року. З цього моменту UTC буде дозволено відхилятися від UT1 більше, ніж на поточну межу в 0,9 секунди, а допустиме відхилення буде переглянуто пізніше — ймовірно, дозволяючи розриву зростати протягом десятиліть, можливо, до хвилини або більше, перш ніж буде розглянуто будь-яке коригування.

На практиці це означає, що UTC стає плавною, безперервною шкалою часу без несподіваних 61-секундних хвилин. Астрономи, яким дійсно потрібен час обертання Землі, зможуть використовувати UT1 безпосередньо; всі, хто керує комп'ютерами, отримають годинник, якому нарешті можна довіряти. Ця зміна обмінює крихітну, повільно накопичувану розбіжність із Сонцем на усунення джерела постійного глобального технічного ризику.

Поширені запитання

Чи коли-небудь видаляли високосну секунду замість додавання?

Ні. Усі 27 високосних секунд, доданих з 1972 року, були позитивними — секунда додавалася. Негативна високосна секунда (перехід з 23:59:58 одразу на 00:00:00) ніколи не траплялася, хоча нещодавнє прискорення обертання Землі зробило її реальною можливістю, перш ніж рішення 2035 року зробило все це питання неактуальним.

Чи впливають високосні секунди на часові пояси?

Безпосередньо ні. Часові пояси — це фіксовані зміщення від UTC, які керуються через бази даних, такі як база часових поясів IANA. Високосна секунда коригує сам UTC, тому всі пояси зміщуються одночасно на ту саму мить — зміщення між поясами ніколи не змінюються.

Чи зміниться мій комп'ютерний годинник у 2035 році?

Для користувачів жодних видимих змін. Після 2035 року годинники просто перестануть отримувати час від часу високосні секунди. UTC повільно відхилятиметься від астрономічного часу протягом багатьох років, але це відхилення занадто мале, щоб помітити його в повсякденному житті.

Яка різниця між UTC, TAI та UT1?

TAI — це чистий атомний час, ідеально стабільний. UT1 — це час, заснований на фактичному обертанні Землі. UTC — це повсякденний стандарт: він працює на атомних секундах, як TAI, але підтримувався синхронізованим з UT1 за допомогою високосних секунд. Станом на 2016 рік UTC відстає від TAI рівно на 37 секунд.

Чому б просто не дозволити годиннику та Сонцю розійтися?

По суті, саме це і робить рішення 2035 року. Розбіжність зростає настільки повільно — приблизно на хвилину за століття — що це матиме значення лише через покоління, і до того часу одноразове коригування можна буде спланувати навмисно, а не виправляти кожні кілька років.


Цікаво, як машини насправді відраховують час під усім цим? Високосні секунди повністю зникають в epoch-часі — спробуйте наш конвертер Unix-міток, щоб побачити, як саме комп'ютери відстежують секунди, що тікають.

Зараз час у цих міст:

Шанхай · Пекін · Токіо · Мумбаї · Лондон · Місто Нью-Йорк · Гонконг · Сінгапур

Зараз час у країнах:

🇨🇳 Китай | 🇮🇳 Індія | 🇺🇸 Сполучені Штати | 🇮🇩 Індонезія | 🇵🇰 Пакистан | 🇧🇷 Бразилія | 🇳🇬 Нігерія | 🇧🇩 Бангладеш | 🇷🇺 Росія | 🇯🇵 Японія | 🇲🇽 Мексика | 🇪🇹 Ефіопія | 🇵🇭 Філіппіни | 🇪🇬 Єгипет | 🇻🇳 Вʼєтнам | 🇨🇩 Демократична Республіка Конго | 🇩🇪 Німеччина | 🇹🇷 Туреччина | 🇮🇷 Іран | 🇹🇭 Таїланд | 🇫🇷 Франція | 🇬🇧 Велика Британія | 🇮🇹 Італія | 🇿🇦 Південна Африка | 🇹🇿 Танзанія |

Зараз час у часові пояси:

UTC | GMT | CET | PST | MST | CST | EST | EET | IST | Китай (CST) | JST | AEST | SAST | MSK | NZST |

Безкоштовно віджети для вебмайстрів:

Безкоштовний аналоговий віджет годинника | Безкоштовний цифровий годинник | Безкоштовний текстовий годинник | Безкоштовний словесний годинник