54 / 691TIME

Timelock

Časový zámek

Bitcoinový timelock odkládá okamžik, kdy se transakce nebo konkrétní cesta utracení stane validní, pomocí absolutních nebo relativních konsenzuálních podmínek.

Timelock je zastřešující pojem pro čtyři mechanismy: nLockTime celé transakce, OP_CHECKLOCKTIMEVERIFY (CLTV/BIP65), relativní nSequence podle BIP68 a OP_CHECKSEQUENCEVERIFY (CSV/BIP112). Časové kontroly používají BIP113 Median Time Past.

Bitcoin má dvě absolutní a dvě relativní vrstvy. nLockTime omezuje celou transakci, CLTV konkrétní scriptovou větev, BIP68 dává vstupu relativní stáří a CSV dovoluje Scriptu toto stáří vyžadovat.

nLockTime je 32bitové pole. Nula znamená bez absolutního locku. Pokud mají všechny vstupy nSequence = 0xffffffff, nesplněný nLockTime se ignoruje; pro účinný lock je proto potřeba alespoň jeden non-final sequence.

Hodnoty pod LOCKTIME_THRESHOLD = 500 000 000 znamenají výšku bloku, hodnoty od této hranice Unix timestamp. Hranice pouze mění interpretaci stejného pole.

Časový locktime se porovnává s Median Time Past předchozího bloku, ne s volně zvoleným timestampem kandidátního bloku. Bitcoin Core při kontrole příštího bloku používá GetMedianTimePast.

OP_CHECKLOCKTIMEVERIFY z BIP65 vyžaduje, aby nLockTime spending transakce dosáhl zadané výšky nebo času a aby příslušný vstup nebyl final. CLTV samo nic neodešle ani automaticky neodemkne.

U transakcí verze 2+ interpretuje BIP68 nSequence jako relativní prodlevu od stáří utráceného UTXO, v blocích nebo jednotkách 512 sekund. Disable flag může tuto relativní logiku pro vstup vypnout.

OP_CHECKSEQUENCEVERIFY z BIP112 dovoluje scriptové větvi požadovat minimální relativní stáří. Hodí se pro recovery a penalty cesty otevřené až po prodlevě, včetně Lightning konstrukcí.

SEQUENCE_FINAL = 0xffffffff může při všech vstupech neutralizovat nLockTime. Disable flag BIP68 je jiný bit s jiným významem; CSV s operandem obsahujícím tento flag zachází jako s NOP.

Dosažení výšky nebo času pouze změní validitu. Peněženka stále musí transakci uchovat či vytvořit, podepsat, splnit další Script podmínky, zaplatit fee, propagovat a získat potvrzení.

Kontrolujte nLockTime, verzi transakce a nSequence každého vstupu a ve scriptu CLTV nebo CSV. decoderawtransaction ukáže pole a testmempoolaccept řekne, zda je kandidát právě přijatelný.

Pro nejúplnější obraz čtěte toto heslo společně s CHECKLOCKTIMEVERIFY, CHECKSEQUENCEVERIFY, Lightning Network, Payment Channel, Transakce, Bitcoin Script. Opačným směrem na něj odkazují také Potvrzení, Bitcoin Script, HTLC, CHECKLOCKTIMEVERIFY.

DOC · 001BIP 65 — OP_CHECKLOCKTIMEVERIFYSpecifikaceDOC · 002BIP 68 — Relative lock-time using consensus-enforced sequence numbersSpecifikaceDOC · 003BIP 112 — CHECKSEQUENCEVERIFYSpecifikaceDOC · 004BIP 113 — Median time-past as endpoint for lock-time calculationsSpecifikaceDOC · 005Bitcoin Core transaction finalityDokumentaceDOC · 006Bitcoin Core script interpreterDokumentaceDOC · 007Bitcoin Core locktime constantsDokumentaceDOC · 008Bitcoin Core implemented BIPsDokumentace
Ověřeno 1. srpna 2026Primární zdroje · Nejde o investiční doporučení