라이트닝 네트워크는 두 사람이 비트코인을 블록에 묶어 채널을 열고, 그 안에서 잔액을 나누는 서명만 블록 밖에서 계속 고쳐 쓰다가, 끝낼 때 마지막 잔액을 다시 블록에 올리는 방식이에요. 공식 사양 문서(BOLT)를 2026년 10월 2일에 직접 받아 읽은 내용을 짧게 정리하면 이래요.
- 채널을 열 때와 닫을 때 비트코인 블록에 거래가 올라가요. 그 사이의 결제는 블록에 올라가지 않고, 혼자 닫거나 속임수가 생기면 자금을 꺼내는 거래가 블록에 더 올라가요.
- 채널이 끝나는 길은 사양이 세 가지로 적었어요. 둘이 합의해서 닫기, 한쪽이 혼자 닫기, 한쪽이 옛 잔액으로 속이려다 걸리는 경우예요.
- 혼자 닫은 쪽은 자기 몫을 바로 쓰지 못하고 상대가 정한 블록 수(
to_self_delay)만큼 기다려야 해요. - 채널 하나의 크기는 기본 규칙상 2의 24제곱 사토시(0.16777216 BTC) 미만이에요. 다만 사양이 직접 「임시로 둔 제한」이라고 적었고, 양쪽 노드가 큰 채널 옵션을 알리면 넘을 수 있어요.
이 글은 프로토콜 규칙만 다뤄요. 어떤 지갑이나 거래소가 라이트닝을 지원하는지는 확인하지 않았고, 매수나 매도를 권하지 않아요.
![]()
이 글이 읽은 문서
라이트닝은 회사 하나가 만든 서비스가 아니라, 여러 구현체가 함께 따르는 사양 문서 묶음이에요. 이 묶음의 이름이 BOLT(Basis of Lightning Technology)예요. 2026년 10월 2일 오후 6시 5분(한국 시각)에 공식 저장소(github.com/lightning/bolts)의 최신 커밋(1aadb719b4, 2026년 9월 21일 UTC 커밋)에서 아래 네 파일을 받아 읽었어요.
| 문서 | 다루는 내용 | 이 글에서 쓴 부분 |
|---|---|---|
| BOLT 0 소개 | 전체 개요와 용어 | 채널·조건부 결제의 정의 |
| BOLT 2 피어 프로토콜 | 채널 열기·운영·닫기 메시지 | 채널 크기, 동시 결제 수, 예치금, 협의 종료 |
| BOLT 3 거래 형식 | 블록에 올라가는 거래 모양 | 개설 거래 출력, 더스트 기준 |
| BOLT 5 온체인 처리 | 채널이 블록에서 끝날 때 대응 | 세 가지 종료 방식, 대기 시간 |
BOLT 0은 이 문서들을 「상호 협력으로 블록 밖에서 비트코인을 주고받는 레이어2 프로토콜이며, 필요하면 온체인 거래로 강제한다」고 소개해요. 레이어2가 무엇인지부터 보고 싶다면 레이어1과 레이어2 차이 정리를 먼저 읽어도 좋아요.
채널은 블록에 올린 거래 하나로 열려요
채널을 여는 거래를 사양은 개설 거래(funding transaction)라고 불러요. BOLT 0의 용어 정의는 이 거래를 「채널의 두 참여자에게 지급하는, 되돌릴 수 없는 온체인 거래이며 두 사람이 모두 동의해야만 쓸 수 있다」고 적었어요.
어떻게 두 사람 동의가 강제되는지는 BOLT 3이 정해요. 개설 거래의 출력은 두 사람의 공개키를 넣은 2 <pubkey1> <pubkey2> 2 OP_CHECKMULTISIG 스크립트예요. 두 개의 키 가운데 두 개의 서명이 모두 있어야 열리는 2-of-2 다중서명이라, 한 사람이 혼자 이 돈을 옮길 수 없어요.
개설 거래가 블록에 들어간 다음에도 보통은 바로 쓰지 않아요. BOLT 2는 받는 쪽이 minimum_depth, 즉 개설 거래 위에 몇 블록이 더 쌓일 때까지 기다릴지를 정하게 했어요. 사양 문언은 「이중지불을 피하기에 합리적이라고 보는 블록 수」이고, 몇 블록이어야 한다는 숫자는 적지 않았어요. 예외로 양쪽이 합의한 option_zeroconf 채널은 minimum_depth를 0으로 둬요. 거래소 입금에서 말하는 컨펌과 같은 생각이에요. 컨펌이 무엇인지는 코인 입금 시간과 컨펌 정리에 따로 있어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
채널 안의 결제는 잔액표를 고쳐 쓰는 일이에요
채널이 열린 뒤의 결제는 블록에 올라가지 않아요. 대신 두 사람이 약속 거래(commitment transaction)를 새로 만들어 서로 서명해요. BOLT 5는 이 거래를 「채널의 현재 상태, 기본적으로 현재 잔액을 적은 거래」라고 설명하고, 결제가 생길 때마다 갱신된다고 적었어요.
BOLT 0의 예시가 이해하기 쉬워요. 처음에는 0.1 BTC 전부를 한쪽에 돌려주는 거래를 각자 들고 있어요. 그다음 0.09 BTC와 0.01 BTC로 나누는 새 거래에 서명하고, 이전 거래를 무효로 만들어 다시 쓰이지 않게 해요. 사양 용어로는 옛 약속 거래를 「폐기(revoke)」한다고 해요.
채널 둘을 이어 제3자에게 보낼 때는 조건부 결제를 써요. 사양의 이름은 HTLC(Hashed Time Locked Contract)예요. BOLT 0은 「6시간 안에 비밀값을 보여 주면 0.01 BTC를 받는다」는 조건을 예로 들고, 다음 사람에게는 더 짧은 「5시간」 조건으로 넘겨서 중간 참여자를 믿지 않고도 채널을 이어 붙인다고 설명해요. 받는 사람이 비밀값을 못 보여 주면 정해진 시간이 지난 뒤 보낸 쪽이 돈을 되찾아요.
사양이 정한 숫자 다섯 가지
BOLT 2·3·5에는 채널을 열고 닫을 때 기준이 되는 값의 한계가 적혀 있어요. 아래 표는 원문 요건을 뜻대로 옮겨 정리한 거예요.
| 항목 | 숫자 | 원문의 성격 |
|---|---|---|
채널 크기(funding_satoshis) | 2의 24제곱 사토시 미만 (16,777,216 사토시 = 0.16777216 BTC) | 기본 규칙. 양쪽이 option_support_large_channel을 알리면 넘을 수 있음 |
동시에 걸린 조건부 결제 수(max_accepted_htlcs) | 483개 이하 | zero_fee_commitments 방식이면 114개 이하 |
더스트 기준(dust_limit_satoshis) | 354 사토시 이상 | 이보다 작게 잡으면 받는 쪽이 채널을 거절해야 함 |
채널 예치금(channel_reserve_satoshis) | 채널 전체의 1퍼센트 | 기존 방식은 권장, 양쪽이 함께 자금을 넣는 v2 방식은 1퍼센트로 고정(다만 더스트 기준보다 작으면 더스트 기준) |
| 닫은 뒤 처리를 끝난 것으로 보는 깊이 | 100블록 | BOLT 5가 「되돌릴 수 없게 처리됨」으로 보는 기준 |
몇 가지는 설명이 필요해요.
채널 크기 2의 24제곱은 절대 한도가 아니에요. BOLT 2는 이 제한을 두고 「구현체가 아직 안정적이라고 보기 어려웠던 시기에 스스로 둔 임시 제한이며, option_support_large_channel을 알리면 풀 수 있다」고 적었어요. 그래서 이 숫자는 두 노드 중 어느 한쪽이라도 큰 채널 옵션을 지원하지 않을 때 적용되는 기본값으로 읽어야 해요. 반대로 최소 채널 크기는 사양에 숫자가 없어요. 받는 쪽이 「너무 작다」고 판단하면 거절할 수 있다고만 적었어요.
483이라는 숫자에는 이유가 적혀 있어요. 양쪽이 최대치까지 조건부 결제를 걸어도 서명 메시지가 최대 메시지 크기 안에 들고, 속임수가 나왔을 때 벌칙 거래 하나로 약속 거래 전체를 처리할 수 있게 하려는 한도예요. zero_fee_commitments 방식에서 114로 더 줄인 이유는 그 방식이 쓰는 v3 거래가 10kvB로 제한되기 때문이라고 적었어요.
354 사토시는 비트코인 코어의 더스트 기준표에서 왔어요. BOLT 3은 비트코인에는 아주 작은 출력을 무효로 만드는 합의 규칙은 없지만, 널리 쓰이는 구현체의 정책 규칙이 그런 출력을 담은 거래를 전파하지 않는다고 설명해요. 같은 절에 실린 비트코인 코어 기준표는 P2PKH 546, P2SH 540, P2WPKH 294, P2WSH 330, P2A 240, 알 수 없는 세그윗 버전 354 사토시예요. BOLT 2는 노드가 정한 더스트 기준에 조건부 결제 거래 수수료를 더한 금액보다 작은 조건부 결제는 블록에서 강제할 수 없다고 적었어요. 거래 크기와 수수료의 관계는 비트코인 송금 수수료가 정해지는 자리에서 실측으로 다뤘어요.
예치금 1퍼센트는 속임수를 막는 장치예요. BOLT 2는 양쪽이 이 금액을 늘 남겨 두게 해서 「폐기된 옛 약속 거래를 올리려 할 때 잃을 것이 항상 있도록」 한다고 적었어요. 처음 채널을 열 때는 한쪽만 돈을 넣어서 이 조건이 바로 채워지지 않을 수 있고, 프로토콜이 점차 이 수준으로 가도록 한다고 덧붙였어요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
채널이 끝나는 세 가지 길
BOLT 5의 첫머리는 「채널이 끝나는 방법은 세 가지」라고 적고 각각에 좋은 길, 나쁜 길, 추한 길이라는 이름을 붙였어요.
| 종료 방식 | 사양의 설명 | 블록에 올라가는 거래 | 내 몫을 쓰기까지 |
|---|---|---|---|
| 협의 종료 (mutual close) | 두 노드가 닫기로 합의 | 진행 중인 결제가 없는 종료 거래 | 바로 쓸 수 있음 |
| 일방 종료 (unilateral close) | 한쪽이 멈추는 등 문제가 생김. 악의가 없을 수도 있음 | 한쪽이 가진 최신 약속 거래 | 올린 쪽은 to_self_delay 블록만큼 대기 |
| 폐기 거래 종료 (revoked close) | 한쪽이 옛 약속 거래로 속이려 함 | 폐기된 옛 약속 거래 | 상대가 폐기 키로 채널 자금 전부를 가져갈 수 있음 |
협의 종료
BOLT 2의 채널 종료 절은 협의 종료가 일방 종료와 달리 자금을 바로 쓸 수 있고 더 낮은 수수료로 협상할 수 있다고 적었어요. 절차는 두 단계예요. 한쪽이 채널을 비우겠다고 알리면 새 조건부 결제를 더 받지 않고, 걸려 있던 조건부 결제가 모두 정리된 뒤에 마지막 종료 협상이 시작돼요. 협상 메시지는 현행 closing_complete·closing_sig와 예전 방식 closing_signed가 함께 실려 있어요.
일방 종료
상대가 응답하지 않으면 한쪽이 자기가 가진 최신 약속 거래를 블록에 올려 채널을 닫을 수 있어요. 이때 기다림이 생겨요. BOLT 5는 일방 종료를 시작한 노드가 그 출력에서 자기 몫을 꺼내려면 상대 노드가 정한 to_self_delay 블록 수가 지날 때까지 기다려야 한다고 적었어요. BOLT 2는 to_self_delay를 「고장 났을 때 자기 자금을 되찾기 전에 기다려야 하는 시간」이라고 설명해요. 몇 블록인지는 채널마다 노드가 정하는 값이고, 사양은 「지나치게 크면 거절해야 한다」고만 적었을 뿐 숫자를 정하지 않았어요.
폐기 거래 종료
이미 폐기한 옛 약속 거래, 대개 자기에게 더 유리했던 예전 잔액을 블록에 올리는 경우예요. BOLT 5는 이때 상대 노드가 폐기 비밀키로 채널의 원래 개설 거래에 있던 자금 전부를 가져갈 수 있다고 적었어요. 앞의 대기 시간이 여기서 의미를 가져요. 옛 거래를 올린 쪽은 자기 몫을 바로 꺼낼 수 없으니, 상대가 그 사이에 이를 발견하고 대응할 시간이 생겨요.
「돈을 잃지 않는다」는 문장에는 조건이 붙어 있어요
BOLT 5에는 이런 문장이 있어요. 라이트닝은 신뢰가 필요 없도록 설계됐기 때문에 세 경우 모두 자금 손실 위험이 없다는 내용인데, 문장 끝에 「상황이 제대로 처리된다면」이라는 조건이 붙어 있어요. BOLT 5 전체가 바로 그 「제대로 처리하는 방법」, 즉 노드가 블록에서 어떤 거래를 발견했을 때 무엇을 해야 하는지를 적은 문서예요.
그러니 이 문장을 「라이트닝에서는 돈을 잃지 않는다」로 줄여 읽으면 안 돼요. 사양이 보장하는 건 규칙대로 대응하는 노드가 있을 때의 결과예요. 폐기 거래 종료를 예로 들면, 상대가 옛 거래를 올렸다는 사실을 대기 시간 안에 알아채고 대응해야 자금을 지킬 수 있어요. 실제 지갑이 이 대응을 어떻게, 얼마나 자동으로 하는지는 구현체마다 다르고 이 글에서 확인하지 않았어요.
정리
| 질문 | 사양의 답 | 근거 문서 |
|---|---|---|
| 채널은 어떻게 열리나요 | 2-of-2 다중서명 출력을 가진 개설 거래를 블록에 올려요 | BOLT 0, BOLT 3 |
| 채널 안 결제는 블록에 올라가나요 | 아니요. 약속 거래를 새로 서명하고 옛 것을 폐기해요 | BOLT 0, BOLT 5 |
| 채널 하나에 얼마까지 넣나요 | 기본 2의 24제곱 사토시 미만, 큰 채널 옵션이면 넘을 수 있어요 | BOLT 2 |
| 채널은 어떻게 끝나나요 | 협의 종료, 일방 종료, 폐기 거래 종료 세 가지예요 | BOLT 5 |
| 혼자 닫으면 바로 돈을 쓰나요 | 상대가 정한 to_self_delay 블록만큼 기다려요 | BOLT 5 |
| 돈을 잃을 일은 없나요 | 상황이 제대로 처리된다는 조건에서만 손실 위험이 없다고 적었어요 | BOLT 5 |
모든 내용은 2026년 10월 2일에 조회한 BOLT 사양(커밋 1aadb719b4) 기준이에요. 사양은 계속 고쳐지는 문서라, 숫자나 메시지 이름이 바뀌면 최신 원문을 따라야 해요.
이 글은 매매 권유가 아닌 정보 제공 글이에요. 가상자산은 변동성이 크고 원금 손실 위험이 있으며, 투자 판단은 본인 책임이에요.