129 / 691CLTV

CHECKLOCKTIMEVERIFY

CLTV는 사용 경로에 절대 시간 조건을 강제한다. 알람이 아니므로 경계에 도달해도 유효한 거래와 확인이 필요하다.

OP_CHECKLOCKTIMEVERIFY는 음수가 아닌 스택 인수를 사용 거래의 절대 nLockTime과 비교하고 해당 입력의 nSequence를 검사한다. 실제 시간 적격성은 거래 확정성 규칙이 검사한다.

nLockTime만으로는 특정 거래를 지연한다. 출력 조건의 CLTV는 더 낮은 nLockTime의 다른 거래로 같은 경로를 우회하지 못하게 한다. 다른 경로는 따로 평가해야 한다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

500000000 미만은 블록 높이, 그 이상은 타임스탬프다. CLTV 인수와 nLockTime은 같은 유형이어야 하며 숫자 비교만으로는 부족하다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

인수는 음수가 아니고 nLockTime 이하여야 한다. CLTV는 컴퓨터 시계를 읽거나 스크립트를 일시 정지하지 않는다. 조건 불충족 시 검증이 실패한다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

검사 입력의 nSequence는 0xffffffff이면 안 된다. 최종 sequence로 nLockTime을 끄는 것을 막으며, 특정한 0이 아닌 상대 지연을 요구하지는 않는다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

nLockTime = 900000이고 비최종 입력이 있으면 가장 이른 후보 높이는 900001이다. 확정성은 nLockTime이 블록 높이보다 작아야 하므로 CLTV 인수가 같은 값으로 통과해도 경계는 바뀌지 않는다. [Bitcoin Core v29.0 — Transaction finality]

BIP 113에 따라 시간형 nLockTime은 직전 블록의 Median Time Past, 최근 최대 11개 블록 시간의 중앙값과 비교한다. 엄격히 작아야 하며 정확한 현지 도착 시간이 아니다. [BIP 113 — Median time-past lock-time calculations] [Bitcoin Core v29.0 — Transaction finality]

CLTV는 인수를 소모하지 않는다. <높이> OP_CHECKLOCKTIMEVERIFY OP_DROP <키> OP_CHECKSIG에서 OP_DROP이 제거한다. 이는 조건 도식이며 바로 자금을 넣는 절차가 아니다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

시간 잠금만으로 소유자를 승인하지 않는다. 서명 조건도 유효해야 하며 다른 분기는 조기 사용을 허용할 수 있다. 만료돼도 자동 송금되지 않는다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

CLTV는 고정 지점이며 출력 확인 후 블록 수가 아니다. 입력 나이는 CSV와 BIP 68이 다룬다. 채굴 지연이나 재구성 때문에 고정 날짜는 보장되지 않는다. [Bitcoin Core v29.0 — Transaction finality] [Bitcoin Developer Reference — Transactions]

BIP 65는 OP_NOP2를 바꾸는 soft fork로 CLTV를 도입했다. 전체 경로, 경계 유형, nLockTime, nSequence와 수수료를 확인해야 한다. 활성 명령이 빠른 확인을 보장하지는 않는다. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core 0.11.2 — BIP 65 release notes]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 CHECKSEQUENCEVERIFY, Bitcoin Script opcode, Timelock, Bitcoin Script. 다음 항목에서도 이 글을 참조합니다 Timelock, HTLC, Bitcoin Script opcode, CHECKSEQUENCEVERIFY.

DOC · 001BIP 65 — OP_CHECKLOCKTIMEVERIFY명세 ↗DOC · 002BIP 113 — Median time-past lock-time calculations명세 ↗DOC · 003Bitcoin Core v29.0 — Script interpreter문서 ↗DOC · 004Bitcoin Core v29.0 — Transaction finality문서 ↗DOC · 005Bitcoin Developer Reference — Transactions문서 ↗DOC · 006Bitcoin Core 0.11.2 — BIP 65 release notes문서 ↗
1차 출처 우선 · 투자 조언이 아닙니다