궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

기초지식코인 기초

비트코인 locktime과 sequence: 거래가 바로 확정되지 않는 이유

거래 전체의 절대 잠금 nLockTime과 입력별 상대 잠금 nSequence를 구분하고, RBF 신호와 시간 잠금을 혼동하지 않는 법을 설명합니다.

난이도 입문기초 카테고리와 설명 방식 기준검토 정보AI 보조 초안 · 출처 목록 제공 · 주장별 대조 진행 중
블록 높이 문턱의 시계와 잠금·기어 카드로 표현한 거래 시간 잠금과 순서 필드
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

nLockTime은 달력·높이의 절대 경계, BIP 68 sequence는 UTXO 나이의 상대 경계입니다.
모든 입력이 final sequence이면 nLockTime이 비활성화될 수 있습니다.
pending 원인은 locktime 외에도 수수료·부모 거래·멤풀 정책일 수 있습니다.

nLockTime은 거래 전체가 특정 블록 높이 또는 시간 전에는 채굴되지 않게 하는 절대 잠금 필드입니다. nSequence는 입력마다 있으며 거래 버전 2 이상에서 BIP 68 규칙을 쓰면 해당 UTXO가 확인된 뒤 일정 블록 또는 시간이 지나야 하는 상대 잠금이 됩니다. 같은 sequence 필드가 RBF 신호에도 쓰이므로 숫자 하나만 보고 목적을 단정하지 말고 버전·비트·스크립트를 함께 해석해야 합니다.

nLockTime은 거래 전체가 유효해지는 절대 경계를 둡니다

BIP 65는 거래의 nLockTime이 일정 블록 높이 또는 블록 시간에 도달하기 전 채굴을 막는다고 설명합니다. 값의 범위에 따라 높이와 시간 유형을 구분하므로 숫자를 일반 Unix 시간처럼만 읽으면 안 됩니다. 경계를 충족하기 전 거래는 단순히 우선순위가 낮은 것이 아니라 해당 조건에서 블록에 포함될 수 없습니다.

그러나 nLockTime 숫자만 넣으면 항상 활성화되는 것은 아닙니다. 모든 입력의 nSequence가 최종값이면 잠금이 비활성화되는 조건이 있습니다. Bitcoin Core 30.0 `send` 문서도 0이 아닌 locktime을 설정하면 입력을 locktime 활성 상태로 만든다고 별도로 적습니다.

시간 잠금은 지갑 화면의 예약 발송이 아니라 어떤 블록부터 거래를 포함할 수 있는지 정하는 유효성 조건입니다.

JOBCOIN 해설

VISUAL GUIDE거래 요청부터 블록 확인까지
거래 요청, 블록 포함, 후속 블록 확인을 구분한 거래 처리 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. nLockTime은 거래 전체가 유효해지는 절대 경계를 둡니다

    BIP 65는 거래의 nLockTime이 일정 블록 높이 또는 블록 시간에 도달하기 전 채굴을 막는다고 설명합니다.

  2. nSequence는 입력별 상대 잠금으로 재해석될 수 있습니다

    BIP 68은 거래 버전이 2 이상이고 disable bit가 설정되지 않은 입력의 sequence를 상대 lock-time으로 해석합니다.

  3. CLTV와 CSV는 출력의 지출 조건까지 잠급니다

    nLockTime만 있는 미서명 거래는 다른 조건의 거래로 UTXO를 쓸 가능성을 막지 못합니다.

AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

nSequence는 입력별 상대 잠금으로 재해석될 수 있습니다

BIP 68은 거래 버전이 2 이상이고 disable bit가 설정되지 않은 입력의 sequence를 상대 lock-time으로 해석합니다. 블록 기반 값은 소비하려는 출력이 확인된 뒤 지정한 블록 수를 기다리고, 시간 기반 값은 512초 단위로 이전 출력의 확인 시점에 상대적인 최소 시간을 표현합니다.

가정으로 블록 기반 sequence가 6이면 해당 출력의 확인 뒤 6블록이 지난 조건을 봅니다. 시간 기반 원시 단위가 12라면 `12×512=6,144초`입니다. 평균 블록 간격 10분을 곱해 정확한 시각을 약속하면 안 됩니다. 블록 기반은 실제 블록 수, 시간 기반은 median-time-past 규칙을 사용합니다.

잠금 필드별 질문
필드·규칙 기준점 확인 항목
nLockTime 높이 절대 블록 높이 입력의 non-final sequence
nLockTime 시간 절대 블록 시간 경계 높이형과 시간형 구분
BIP 68 블록형 각 입력 UTXO 확인 높이 거래 버전 2 이상과 disable bit
BIP 68 시간형 이전 출력 블록의 MTP 512초 단위와 type bit
CLTV·CSV 출력 스크립트 조건 거래 필드와 스크립트 값의 호환

CLTV와 CSV는 출력의 지출 조건까지 잠급니다

nLockTime만 있는 미서명 거래는 다른 조건의 거래로 UTXO를 쓸 가능성을 막지 못합니다. BIP 65의 CHECKLOCKTIMEVERIFY는 출력 스크립트가 거래 nLockTime과 비교하도록 해 정한 절대 시점 전에는 해당 경로로 지출할 수 없게 합니다. 높이형과 시간형이 서로 다르면 검증에 실패합니다.

BIP 112의 CHECKSEQUENCEVERIFY는 BIP 68의 상대 잠금 의미를 스크립트 지출 조건에 사용합니다. 복구 경로, 결제 채널, HTLC처럼 ‘출력이 확인된 뒤 일정 시간’이 필요한 구조에 적합합니다. 지갑 UI의 locktime과 스크립트 내부 CLTV·CSV를 같은 기능으로 보지 마세요.

  • 거래 version과 nLockTime 원시 값을 확인합니다.
  • 각 입력의 nSequence를 10진수와 16진수로 기록합니다.
  • 높이형·시간형과 disable/type bit를 구분합니다.
  • 지출 출력 스크립트에 CLTV 또는 CSV가 있는지 확인합니다.
  • 잠금이 끝난 뒤에도 수수료와 멤풀 수용 여부를 별도로 점검합니다.

RBF도 sequence를 보지만 상대 잠금과 질문이 다릅니다

BIP 125의 opt-in RBF는 sequence 값으로 교체 가능성을 신호하는 규칙을 정의했습니다. 따라서 탐색기가 sequence를 근거로 ‘replaceable’이라고 표시할 수 있습니다. 하지만 그 표시는 상대 잠금이 실제로 몇 블록 남았다는 해석과 같지 않습니다.

거래 버전, sequence의 상위 비트와 하위 16비트, 부모의 신호 상속, 사용 노드의 현행 교체 정책을 함께 봐야 합니다. 지갑이 fee bump를 지원한다고 표시해도 모든 교체안이 수용되는 것은 아닙니다. 절대 수수료와 추가 중계 비용, 충돌 집합 조건을 별도로 충족해야 합니다.

탐색기 pending 표시는 잠금 원인을 증명하지 않습니다

pending은 블록에 아직 포함되지 않았다는 화면 상태입니다. locktime 조건 미충족, 낮은 수수료, 부모 거래 누락, 입력 충돌, 노드 간 전파 차이 모두 비슷하게 보일 수 있습니다. 한 탐색기가 거래를 모른다고 체인이 거래를 거부했다고 결론 내릴 수 없습니다.

원시 거래를 디코딩해 locktime과 sequence를 확인하고, 사용 노드의 `testmempoolaccept` 거부 사유를 기록하세요. locktime이 미래라면 경계가 높이인지 시간인지 계산하고, 이미 충족됐다면 멤풀 정책과 수수료를 다음 원인으로 조사합니다.

잠금 종료 시각은 벽시계 약속이 아닙니다

블록 높이 기반 6블록 잠금은 평균적으로 약 한 시간이라는 설명이 가능하지만 정확히 한 시간 뒤라는 예약은 아닙니다. 블록 간격은 변동합니다. 시간 기반 규칙도 사용자 PC 시계가 아니라 median-time-past를 사용하므로 탐색기 예상 시각과 실제 유효 시점이 차이 날 수 있습니다.

환불·상속·채널 종료처럼 손실 비용이 큰 작업은 앱의 남은 시간 카운트다운만 믿지 마세요. 기준 UTXO 확인 높이, 현재 높이, 사용한 잠금 유형과 안전 여유를 기록하고 원래 지갑의 공식 복구 절차를 따르세요.

자주 묻는 질문

nLockTime이 미래면 거래를 네트워크에 미리 보낼 수 있나요?

노드 정책에 따라 비최종 거래를 멤풀에 받지 않을 수 있습니다. 서명 보관과 네트워크 수용은 별도 문제입니다.

sequence가 낮으면 무조건 RBF인가요?

BIP 125 신호와 상대 잠금 비트 해석, 현행 노드 교체 정책을 함께 봐야 하므로 숫자 크기만으로 단정하면 안 됩니다.

6블록 잠금은 정확히 60분인가요?

아닙니다. 블록 생성 간격은 변동하므로 실제 경과 시간은 짧거나 길 수 있습니다.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. BIP 68: Relative lock-time using consensus-enforced sequence numbersbips.dev
  2. BIP 65: OP_CHECKLOCKTIMEVERIFYbips.dev
  3. BIP 112: CHECKSEQUENCEVERIFYbips.dev
자료 대조 기록과 확인 범위
출처 수집
원문 링크 3개 제공
핵심 주장 대조
완료 근거가 아직 기록되지 않았습니다.
분야 전문가 검수
별도 완료 기록이 없습니다.

원문 링크와 자료 확인일은 글 전체의 주장 대조나 전문가 검수 완료를 뜻하지 않습니다. 별도 확인이 필요한 절차는 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

AI 활용 안내

이 글은 초안 구성과 자료 정리에 AI를 활용했습니다. 글에 표시된 출처와 기준일을 함께 확인해 주세요. 별도 검토 정보가 없다면 전문가 검수를 뜻하지 않습니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →