Manier om te weten wanneer iets plaatsgevonden heeft in de tijd.
De term komt van de vroeger gebruikte (rubberen) stempels waarmee data op inkomende en uitgaande papieren documenten gestempeld konden worden.
Datzelfde geldt voor digitale informatie waar tijd- en datuminformatie aan gekoppeld wordt, zoals het tijdstip en de dag waarop een bestand gemaakt, geopend of gewijzigd is.
Tijdstempels zijn een belangrijk onderdeel van bitcoin en andere blockchains.
Elk blok heeft een Unix-tijdstempel, ook wel Unix Epoch. Dit staat gelijk aan 00:00:00 uur GMT op 1 januari 1970, en zorgt daarmee voor twee belangrijke onderdelen in een blok, namelijk de tijd zelf en als onderdeel van variatie voor de blockhash.
Tijdstempels in de bitcoinblockchain zijn niet exact; ze worden door andere nodes geaccepteerd als het getal hoger is dan de mediaan van alle tijdstempels uit de voorgaande 11 blokken en de tijd minder dan de netwerktijd + 2 uur, of de netwerk-aangepaste-tijd (network-adjusted time). Als resultaat hiervan zijn bloktijden niet exact; ze zijn accuraat met een afwijking tot twee uur. Blockchains zijn hierdoor meer bruikbaar voor volgordelijkheid dan exacte tijdsaanduiding.
Nodes in het bitcoinnetwerk krijgen hun tijdcode op het moment dat ze verbinden met een andere node. Doordat nodes verschillende tijden kunnen aanhouden, is de node-lokale tijd gelijk aan de netwerk-aangepaste-tijd. Toch wijkt de netwerktijd nooit meer dan 70 minuten van de lokale systeemtijd af.
Bitcoin maakt gebruik van een zogenaamd niet-gesigneerd geheel getal (unsigned integer), waardoor het 2038-softwareprobleem uitgesteld is met 68 jaar. Op 19 januari 2038 kunnen systemen die gebruikmaken van Unix-tijdcodes (in feite het aantal seconden dat verstreken is sinds 1 januari 1970) niet meer aan doordat het om een geheel getal van maximaal 32 bits gaat (binair), ofwel getallen tot maximaal 2147483647. Daarna gaat de waarde over naar de minimale waarde van -2147483648, of 13 december 1901.