궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

해설블록체인 기술

라이트닝 commitment transaction과 revocation secret의 역할

두 참여자가 서로 다른 commitment transaction을 보유하고 revoke_and_ack로 이전 상태를 폐기하는 과정을 실제 상태 전환 순서로 설명합니다.

난이도 중급주제 카테고리와 개념 밀도 기준
연속으로 갱신되는 잠긴 채널 상태 카드와 각 상태에 대응하는 폐기 열쇠를 나열한 commitment 개념도
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

하나의 상태에도 양쪽이 각자 게시할 수 있는 비대칭 commitment가 있습니다.
새 서명을 확보한 다음 이전 secret을 공개해야 안전하게 상태가 전진합니다.
현재 상태의 정상 폐쇄와 폐기된 상태의 breach 처리는 전혀 다른 경로입니다.

라이트닝 채널의 상태 하나에는 Alice가 게시할 수 있는 커밋먼트 거래(commitment transaction)와 Bob이 게시할 수 있는 커밋먼트 거래가 따로 있습니다. 두 거래는 같은 채널 잔액을 반영하지만, 게시자 쪽 to_local 출력에는 CSV 지연과 폐기(revocation) 경로가, 상대 쪽 to_remote 출력에는 곧바로 쓸 수 있는 경로가 들어갑니다. 새 상태의 서명을 주고받은 뒤 revoke_and_ack로 이전 상태의 커밋먼트별 비밀값을 공개하면, 이전 상태를 게시한 쪽의 지연 출력을 상대가 폐기 키로 가져갈 수 있습니다. 이 장치가 오래된 상태를 방송하지 못하게 막습니다.

한 채널 상태에는 각자의 커밋먼트 거래가 있습니다

펀딩 출력은 2-of-2 조건으로 잠기지만, 결제할 때마다 체인에 거래를 올리지는 않습니다. 대신 Alice와 Bob은 현재 잔액과 HTLC를 반영한 서로 다른 커밋먼트 거래에 상대의 서명을 받아 보관합니다. 연결이 끊겨도 각자 자기가 가진 거래를 혼자 방송해 정산을 시작할 수 있습니다.

두 거래의 경제적 합계는 같아도 스크립트 배치는 비대칭입니다. 게시자의 to_local 출력은 상대가 폐기 키로 즉시 쓰거나 게시자가 to_self_delay가 지난 뒤에 쓰는 조건이고, 상대의 to_remote 출력은 보통 곧바로 쓸 수 있습니다. 이 지연 구간이 오래된 상태를 찾아내 대응할 시간을 벌어 줍니다.

커밋먼트 거래는 잔액 영수증이면서, 상대가 사라졌을 때 각자 꺼내 쓸 수 있도록 미리 서명해 둔 비상 정산 거래입니다.

JOBCOIN 해설

그림으로 보기체인 사이의 검증 과정
출발 체인의 기록과 메시지 검증, 도착 체인의 기록을 연결한 개념도
그림과 함께 짚어볼 본문 내용

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

  1. 한 채널 상태에는 각자의 커밋먼트 거래가 있습니다

    펀딩 출력은 2-of-2 조건으로 잠기지만, 결제할 때마다 체인에 거래를 올리지는 않습니다.

  2. 출력은 잔액과 HTLC 역할에 따라 갈립니다

    BOLT 3 형식은 to_local, to_remote, 내가 제안한 HTLC, 내가 받은 HTLC 출력을 정의합니다.

  3. 상태 전환은 서명과 폐기를 교차시킵니다

    예를 들어 상태 N에서 Alice가 20,000 msat짜리 HTLC를 추가하면 양쪽은 update_add_htlc를 반영합니다.

설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

출력은 잔액과 HTLC 역할에 따라 갈립니다

BOLT 3 형식은 to_local, to_remote, 내가 제안한 HTLC, 내가 받은 HTLC 출력을 정의합니다. HTLC 출력은 프리이미지나 시간 만료 조건에 따라 두 번째 단계 거래인 HTLC-success·HTLC-timeout 거래로 이어질 수 있습니다. 더스트 임계값보다 작은 HTLC는 커밋먼트 출력에서 잘려 나가 별도의 두 번째 단계 거래를 만들지 않습니다.

앵커 출력(anchor outputs) 기능을 협상한 채널에는 수수료 올리기를 돕는 작은 앵커 출력이 들어갈 수 있습니다. 수수료 없는 HTLC 거래나 더 새로운 채널 유형은 기능 협상 결과에 따라 형식이 달라지므로 모든 채널에 같은 거래 구조를 가정해서는 안 됩니다. 실제 channel_type과 커밋먼트 형식을 먼저 확인해야 합니다.

Commitment 출력과 지출 경로
출력 정상 상태에서의 역할 주요 시간 조건
to_local 게시자 잔액 게시자는 to_self_delay 뒤 지출
to_remote 상대 잔액 상대가 보통 즉시 지출
제안한 HTLC 내가 제안한 미결 지급 상대의 프리이미지 또는 나의 만료 경로
받은 HTLC 내가 받은 미결 지급 나의 프리이미지 또는 상대의 만료 경로
앵커 CPFP 수수료 올리기용 입력 앵커 채널 유형을 협상했을 때만 존재

상태 전환은 서명과 폐기를 교차시킵니다

예를 들어 상태 N에서 Alice가 20,000 msat짜리 HTLC를 추가하면 양쪽은 update_add_htlc를 반영합니다. Alice가 commitment_signed를 보내면 Bob은 자신의 새 커밋먼트 거래를 완성할 서명을 얻습니다. Bob은 revoke_and_ack로 자기 상태 N-1의 비밀값을 넘기고 다음 per_commitment_point를 알려 준 뒤, 반대 방향의 서명 교환을 이어 갑니다.

핵심은 상대가 새로운 유효 상태를 손에 넣기 전에 이전 상태를 먼저 폐기하지 않는 것입니다. 다시 연결했을 때 양쪽의 커밋먼트 번호가 어긋나 있으면 channel_reestablish로 어떤 서명이나 폐기 정보를 다시 보내야 하는지 판단합니다. 구현이 서명과 비밀값을 디스크에 한꺼번에 저장하지 않으면, 비정상 종료 뒤에 이미 폐기한 상태만 남을 수 있습니다.

  • 갱신 메시지를 임시 상태에 적용합니다.
  • 상대 커밋먼트용 서명과 HTLC 서명을 보냅니다.
  • 받는 쪽은 새 거래를 영구 저장한 뒤 이전 상태를 폐기합니다.
  • revoke_and_ack로 이전 비밀값과 다음 포인트를 교환합니다.
  • 반대 방향 commitment_signed까지 끝나면 양쪽 상태가 맞춰집니다.

오래된 상태 방송은 위반이 됩니다

Alice가 이미 폐기한 커밋먼트 거래를 방송하면, Bob은 공개받은 커밋먼트별 비밀값으로 폐기용 개인 키를 계산해 낼 수 있습니다. BOLT 5의 온체인 처리 규칙에 따라 Bob은 Alice의 지연 출력과 해당 HTLC 경로를 벌칙 거래로 회수해야 합니다. 이때 to_self_delay 안에 위반을 발견하고 필요한 거래를 전파해야 합니다.

모든 일방 폐쇄가 부정행위는 아닙니다. 최신 커밋먼트 거래를 게시한 정상적인 일방 폐쇄라면, 게시자는 CSV 지연이 지난 뒤 자기 출력을 쓰고 HTLC는 성공 또는 만료 조건으로 정리합니다. 탐색기에 커밋먼트 거래가 보인다는 이유만으로 위반이라고 단정하지 말고, 커밋먼트 번호와 폐기 가능 여부, 현재 상태를 맞춰 봅니다.

복구 자료와 감시 체계를 함께 설계합니다

정적 채널 백업(static channel backup)은 피어와 펀딩 정보로 복구 협상을 하도록 돕습니다. 하지만 최신 커밋먼트 비밀값 전부와 바로 송금 가능한 상태까지 되살려 주는 일반 지갑 시드와는 다릅니다. 구현마다 백업이 무엇을 보장하는지 확인하고, 사용 중인 채널 데이터베이스를 일관된 방식으로 보존해야 합니다.

노드를 늘 켜 두기 어렵다면 워치타워에 폐기 상태 대응 자료를 맡길 수 있습니다. 그래도 워치타워 등록 성공, 새 상태 업로드, 세션 한도, 워치타워 가용성을 지켜봐야 합니다. 폐기 전 영구 저장, 재연결 검증, 온체인 감시가 하나로 이어진 안전 흐름입니다.

자주 묻는 질문

왜 commitment transaction이 한 장이 아닌가요?

참여자마다 상대의 협조 없이 채널을 닫을 수 있어야 하므로, 같은 상태를 반영한 각자의 커밋먼트 거래를 보관합니다.

revoke_and_ack를 보내면 현재 상태도 폐기되나요?

아닙니다. 새 커밋먼트 거래를 안전하게 확보한 뒤 이전 커밋먼트의 비밀값을 공개해 그 이전 상태만 폐기합니다.

최신 commitment를 방송해도 벌금을 내나요?

최신 유효 상태로 일방 폐쇄하는 것은 정상 경로이며 폐기 벌칙 대상이 아닙니다. 다만 CSV 지연과 HTLC 정산 비용은 발생합니다.

Seed만 있으면 채널을 완전히 복구할 수 있나요?

일반적으로 시드만으로는 최신 오프체인 상태 전체를 다시 만들 수 없습니다. 사용하는 구현의 채널 데이터베이스와 백업·복구 절차가 필요합니다.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. BOLT 2: Peer Protocol for Channel Managementgithub.com
  2. BOLT 3: Bitcoin Transaction and Script Formatsgithub.com
  3. BOLT 5: Recommendations for On-chain Transaction Handlinggithub.com
작성 방식과 확인 범위
출처 수집
원문 링크 3개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

투자·세무 판단은 전문가와 상의하세요. 제도와 거래소 안내는 바뀔 수 있으니 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

이해를 위한 정보 콘텐츠

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

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