Según BIP 112, OP_CHECKSEQUENCEVERIFY compara el argumento del script con nSequence de la entrada. BIP 68 impone después la edad correspondiente de la salida; son controles enlazados, no pagos automáticos.
CSV restringe nSequence de la entrada gastada. No mide por sí mismo la edad UTXO; BIP 68 usa el historial de confirmación para impedir inclusión prematura. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [BIP 68 — Relative lock-time]
Para un argumento normal sin bandera de desactivación, CSV exige versión de transacción al menos 2 y bit 31 de nSequence apagado. Un argumento negativo o sequence incompatible falla. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]
El bit 22 distingue bloques y tiempo. Si está activo, la unidad es 512 segundos; el tiempo se codifica en pasos de 512 segundos. Los tipos del argumento y nSequence deben coincidir. [BIP 68 — Relative lock-time]
Los 16 bits inferiores codifican la demora con máscara 0x0000ffff. CSV compara ese rango junto con el tipo; no compara el orden de números nSequence completos sin máscara. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Script interpreter]
Si la salida confirma en H = 900000 y la demora es 10 bloques, la primera altura candidata es H + 10 = 900010. Nueve bloques no bastan; el número no garantiza minutos exactos. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]
El origen temporal es Median Time Past del bloque anterior a confirmar la salida. Se compara con MTP anterior al bloque candidato; código 2 implica al menos 1024 segundos entre medianas, no relojes locales. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]
Demora cero no añade espera, pero CSV normal mantiene sus otros controles. Si el argumento no negativo activa su propio bit 31, CSV actúa como NOP; ese argumento no impone un bloqueo relativo. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]
Cada entrada tiene confirmación y sequence propios; deben cumplirse todos los bloqueos aplicables de la transacción. Una reorganización puede cambiar la confirmación inicial, por lo que elegibilidad anterior no es irreversible. [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]
CSV deja el argumento en pila y suele seguir OP_DROP. Firma y otras ramas determinan autorización; el tiempo no recupera una clave perdida ni excluye una ruta alternativa anterior. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Developer Reference — Transactions]
BIP 112 introdujo CSV reemplazando OP_NOP3 junto a BIP 68/113. Tras la demora aún hay que entregar y confirmar la transacción; comisiones, datos disponibles y estado de cadena siguen importando. [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core 0.12.1 — BIP 68/112/113 release notes]
Para obtener la imagen más completa, lee esta entrada junto con CHECKLOCKTIMEVERIFY, Opcode de Bitcoin Script, Timelock, Bitcoin Script. También enlazan con esta entrada Confirmación, Timelock, Opcode de Bitcoin Script, CHECKLOCKTIMEVERIFY.