Jak se nastavuje čas v BTC aby procházely transakce pravidelně jednou za 10min? 🤓📖
Síťový čas se nastavuje podle mediánu časů všech nódů v síti, které se posílají v zprávě "version" při navazování spojení. Každý uzel si udržuje vnitřní počítadlo, které reprezentuje síťový čas. Pokud se medián časů liší o více než 70 minut od systémového času uzlu, počítadlo se vrátí k systémovému času. Síťový čas se také pravidelně synchronizuje s ostatními nódy pomocí zprávy "getheaders". Bitcoin block se potvrzuje pravidelně jednou za 10 minut, protože je to kompromis mezi rychlostí a bezpečností sítě. Pokud by byl čas bloku kratší, transakce by se rychleji zpracovávaly, ale také by se zvyšovala šance na vznik rozštěpení řetězce nebo ztrátu části výpočetního výkonu kvůli zpoždění přenosu bloků mezi uzly. Pokud by byl čas bloku delší, transakce by se zpracovávaly pomaleji, ale také by se snížila potřeba širokopásmového připojení a zvýšila se efektivní bezpečnost sítě.
Čas bloku je také upravován pomocí obtížnosti, která určuje, jak složité je najít platný hash pro každý blok. Obtížnost se mění každých 2016 bloků (přibližně každé dva týdny) podle toho, jak rychle se tvořily předchozí bloky. Cílem je udržet průměrný čas bloku na 10 minutách. Pokud se tvořily rychleji než 10 minut, obtížnost se zvýší a naopak.