Co je to přestupná sekunda?
Přestupná sekunda je jednosekundová úprava, která se občas přidává ke koordinovanému světovému času (UTC), globálnímu časovému standardu, podle kterého se řídí váš telefon, servery i satelity. Když je přidána, poslední minuta dne má 61 sekund místo 60 – hodiny tikají přes 23:59:60, než se přetočí na 00:00:00.
Přestupné sekundy znějí nepodstatně. Nejsou. Tato jedna sekunda způsobila pády velkých webových stránek, uzemnění letů a vyvolala desítky let trvající spor mezi fyziky, astronomy a softwarovými inženýry. V roce 2022 světové časoměrné autority konečně odhlasovaly jejich zrušení. Zde je, co přestupná sekunda vlastně je, proč existuje a proč se jí zbavujeme.
Proč přestupné sekundy existují
Problém spočívá ve dvou různých způsobech měření času, které se neshodují.
Atomový čas je dokonale stálý. Od roku 1967 je sekunda definována vibracemi atomů cesia-133 – 9 192 631 770 vibrací za sekundu. Síť atomových hodin po celém světě udržuje mezinárodní atomový čas (TAI), který je úžasně pravidelný: ani nezrychluje, ani nezpomaluje.
Rotace Země není stálá. Délka dne, měřená skutečným otáčením planety, je mírně nepravidelná. Tření způsobené přílivem, pohyb zemského tekutého jádra a změny hmoty, jako je tání ledovců, všechny ovlivňují rychlost rotace. Z dlouhodobého hlediska planeta obecně zpomaluje, takže astronomický den se mírně prodlužuje oproti 86 400 atomovým sekundám. Tento čas založený na rotaci se nazývá UT1.
Pokud by se ponechal sám sobě, UTC (založený na stálých atomových sekundách) a UT1 (vázaný na skutečné Slunce na obloze) by se pomalu rozcházely. Aby zůstaly synchronizované, platí jednoduché pravidlo: UTC se nikdy nesmí odchylovat od UT1 o více než 0,9 sekundy. Kdykoli se rozdíl přiblíží této hranici, je do UTC vložena přestupná sekunda, která umožní atomovému času "počkat", až pomaleji rotující Země dožene.
Přestupná sekunda je tedy v podstatě ruční korekce, která udržuje naše přesné atomové hodiny v souladu s kolísající planetou, na které žijeme.
Stručná historie přestupných sekund
Přestupné sekundy byly zavedeny v roce 1972, kdy byl UTC redefinován tak, aby byl založen na atomovém čase, ale zároveň zůstal vázán na rotaci Země.
Od té doby bylo do roku 2016 přidáno 27 přestupných sekund. Všechny dosud byly kladné – sekunda byla přidána, nikdy odebrána – protože rotace Země v tomto období obecně zaostávala za atomovým časem. Poslední přestupná sekunda byla vložena 31. prosince 2016 ve 23:59:60 UTC.
Poté následovala téměř sedmiletá pauza, protože rotace Země v posledních letech mírně zrychlila – natolik, že vědci poprvé vážně diskutovali o možnosti záporné přestupné sekundy (odebrání sekundy místo přidání), což se nikdy nestalo a čehož se mnoho inženýrů obává ještě více než běžného typu.
Kdo rozhoduje, kdy k ní dojde?
Přestupné sekundy nejsou naplánovány v pevném kalendáři. Jsou oznamovány Mezinárodní službou pro rotaci Země a referenční systémy (IERS), která sídlí poblíž Paříže a nepřetržitě monitoruje rotaci planety.
Když se rozdíl UT1–UTC blíží k 0,9 sekundy, IERS vydá bulletin – obvykle s přibližně šestiměsíčním předstihem – ve kterém oznámí, že bude vložena přestupná sekunda. Podle konvence k vložení dochází na konci 30. června nebo 31. prosince (UTC).
Tento šestiměsíční předstih je jádrem inženýrského problému: harmonogram je nepravidelný a nepředvídatelný. Nelze napsat vzorec, který by vám řekl, kdy nastane další přestupná sekunda, jako to lze udělat u přestupných let. Musíte počkat, až to IERS oznámí, a pak se ujistit, že o tom ví každé hodiny ve vašem systému.
Proč inženýři nenávidí přestupné sekundy
Pro většinu lidí je jedna sekunda navíc nepostřehnutelná. Pro počítače, které očekávají, že každá minuta má přesně 60 sekund, je 61sekundová minuta minovým polem.
Nejznámější incident nastal 30. června 2012, kdy byla vložena kladná přestupná sekunda. V okamžiku, kdy nastala, řada systémů selhala. Reddit spadl spolu s dalšími velkými weby. Chyba byla vysledována zpět k tomu, jak jádro Linuxu zpracovalo zpětné posunutí hodin v tom okamžiku – spustilo to nekontrolovaný stav, který vytížil procesory serverů. Letecké rezervační systémy postavené na postiženém softwaru také hlásily výpadky, které zpozdily odbavení. Podobné problémy se objevily i u dřívějších přestupných sekund.
Hlavní problémy jsou strukturální:
- Událost je vzácná, takže kód pro zpracování přestupné sekundy není téměř nikdy používán a zřídka testován v reálných podmínkách.
- Čas se zdá, že se zastaví nebo opakuje, a mnoho softwaru tiše předpokládá, že čas jde pouze dopředu, monotónně.
- Harmonogram je nepředvídatelný, takže systémy musí získat a důvěřovat externímu oznámení, místo aby si úpravu vypočítaly samy.
Vzhledem k tomu, že moderní výpadek se může kaskádovitě šířit finančními trhy, telekomunikačními sítěmi a cloudovými platformami, může jediná špatně zpracovaná sekunda být skutečně nákladná.
Google "Leap Smear" řešení
Místo aplikace přestupné sekundy jedním náhlým skokem Google průkopnicky zavedl přístup nazvaný leap smear. Místo vložení celé sekundy o půlnoci Google servery rozprostřou korekci na dlouhé okno – typicky ~24 hodin kolem události – tím, že každou sekundu nepostřehnutelně prodlouží (nebo zkrátí).
Během smearu žádné hodiny nikdy neukazují 23:59:60 a žádné hodiny nikdy nejdou zpět; čas prostě běží velmi mírně "pomalu" po dobu jednoho dne, dokud není extra sekunda tiše absorbována. Software vidí hladké, monotónní hodiny a nikdy nenarazí na nebezpečný okrajový případ. Amazon, Meta a další přijaly podobné strategie smearování a stalo se to de facto technikou přežití pro rozsáhlé systémy.
Háček: smearované hodiny se záměrně rozcházejí s oficiálním UTC po celé hodiny – v pořádku pro většinu služeb, ale problém, když je potřebujete sladit s nesmearovanými systémy. Je to řešení problému, o kterém průmysl stále více cítil, že by vůbec neměl existovat.
Pokud pracujete s epochovým časem, všimněte si, že Unix timestamp nepočítá přestupné sekundy vůbec – Unixový čas jednoduše předstírá, že každý den má přesně 86 400 sekund, což je částečně důvod, proč reálná úprava způsobuje tolik tření.
Rozhodnutí z roku 2035: Zrušení přestupných sekund
Debata vyvrcholila na Generální konferenci pro míry a váhy (CGPM) v roce 2022 – mezinárodním orgánu, který řídí metrický systém a definici sekundy.
Delegáti schválili přelomové usnesení: praxe přidávání přestupných sekund bude ukončena do roku 2035. Od tohoto okamžiku bude UTC moci odchýlit se od UT1 o více než současný limit 0,9 sekundy, přičemž tolerance bude znovu projednána později – pravděpodobně umožní, aby se rozdíl zvětšoval po desetiletí, možná na minutu nebo více, než bude vůbec zvažována nějaká korekce.
V praxi to znamená, že UTC se stane hladkou, spojitou časovou škálou bez dalších překvapivých 61sekundových minut. Astronomové, kteří skutečně potřebují čas založený na rotaci Země, mohou stále používat přímo UT1; všichni, kdo provozují počítače, dostanou hodiny, kterým konečně mohou důvěřovat, že se budou chovat předvídatelně. Tato změna vymění malý, pomalu se hromadící nesoulad se Sluncem za odstranění opakujícího se zdroje globálního technického rizika.
Často kladené otázky
Byla někdy přestupná sekunda odebrána místo přidána?
Ne. Všech 27 přestupných sekund vložených od roku 1972 bylo kladných – sekunda byla přidána. Záporná přestupná sekunda (přeskočení z 23:59:58 na 00:00:00) se nikdy nevyskytla, ačkoli nedávné zrychlení rotace Země ji na chvíli učinilo reálnou možností, než rozhodnutí z roku 2035 celou otázku učinilo bezpředmětnou.
Ovlivňují přestupné sekundy časová pásma?
Ne přímo. Časová pásma jsou pevné odchylky od UTC spravované prostřednictvím databází, jako je Databáze časových pásem IANA. Přestupná sekunda upravuje samotné UTC, takže každé pásmo se posouvá o stejný okamžik současně – odchylky mezi pásmy se nikdy nemění.
Změní se moje počítačové hodiny v roce 2035?
Pro uživatele žádná viditelná změna. Po roce 2035 hodiny jednoduše přestanou přijímat občasnou přestupnou sekundu. UTC se bude pomalu rozcházet s astronomickým časem po mnoho let, ale tento posun je příliš malý na to, aby si ho všimli v každodenním životě.
Jaký je rozdíl mezi UTC, TAI a UT1?
TAI je čistý atomový čas, dokonale stálý. UT1 je čas založený na skutečné rotaci Země. UTC je každodenní standard: běží na atomových sekundách jako TAI, ale byl udržován v souladu s UT1 pomocí přestupných sekund. Od roku 2016 je UTC přesně o 37 sekund pozadu za TAI.
Proč prostě nenechat hodiny a Slunce, aby se rozešly?
To je v podstatě to, co rozhodnutí z roku 2035 dělá. Nesoulad roste tak pomalu – řádově minuta za století – že bude záležet až za generace, a do té doby může být jednorázová korekce naplánována záměrně, místo aby byla opravována každých pár let.
Zajímá vás, jak stroje vlastně počítají čas pod tím vším? Přestupné sekundy v epochovém čase zcela mizí – vyzkoušejte náš Převodník Unix timestamp, abyste viděli, jak přesně počítače sledují ubíhající sekundy.