Um timelock impede que uma transação ou saída seja gasta até um momento concreto. O Bitcoin tem dois tipos.
- Absoluto: «não antes do bloco 900.000» ou «não antes de 1 jan 2030». Define-se com nLockTime numa transação, ou aplica-se num script com
OP_CHECKLOCKTIMEVERIFY(BIP65). - Relativo: «não até 144 blocos depois de a moeda ser confirmada». Define-se com nSequence (BIP68), ou aplica-se com
OP_CHECKSEQUENCEVERIFY(BIP112).
Os timelocks tornam possíveis planos de herança, cofres e canais de pagamento, porque dão à contraparte um prazo para agir.