164 / 691BOLT11

BOLT 11

Lightning 결제를 위한 서명된 청구서

BOLT 11은 특정 Lightning 결제의 조건을 담습니다. 유효한 청구서가 사용 가능한 경로나 결제 완료를 보장하지는 않습니다.

BOLT 11은 Bech32로 인코딩하는 서명된 Lightning 청구서 표준입니다. payment hash, 수취인 정보와 결제 조건을 담는 요청이며, 결제 성공의 증거는 아닙니다.

Bech32는 전사 오류를 찾는 체크섬을 제공하며 암호화가 아닙니다. secp256k1 기반 ECDSA 서명은 내용을 보호하고 수취인의 키에 연결하지만 검증된 사람에게 연결하지는 않습니다. Bech32 주소와 달리 BOLT 11은 90자 제한이 없습니다. QR은 대문자를 쓸 수 있지만 대소문자 혼합은 유효하지 않습니다. [BOLT 11 — Invoice protocol]

lnbc는 mainnet, lntb는 testnet, lntbs는 signet, lnbcrt는 regtest입니다. 금액은 BTC 단위이며 m, u, n 또는 p 배율을 붙입니다. p는 정수 msat가 되도록 마지막 숫자가 0이어야 하며 1000 msat는 1 satoshi입니다. 금액이 없으면 송금인이 정하는 것이지 0원 결제라는 뜻이 아닙니다. [BOLT 11 — Invoice protocol]

p 필드는 payment preimage의 SHA256인 payment hash를 담습니다. s는 수취인이 경로의 마지막 구간에 요구하는 payment_secret을 담습니다. Secret은 preimage도 지갑 seed도 아닙니다. 현재 BOLT 11은 두 필드를 모두 요구합니다. 청구서에서 secret을 읽는 것만으로 결제를 증명하지 못합니다. [BOLT 11 — Invoice protocol] [BOLT 4 — Onion routing]

청구서는 텍스트 d나 외부 설명의 해시 h 중 정확히 하나를 담습니다. h라면 지갑은 받은 설명의 SHA256을 확인해야 하며 해시만으로 구매 내용을 알 수 없습니다. 서명은 내용과 키의 연결을 확인할 뿐 판매자의 약속이 사실임을 보증하지 않습니다. 디코딩한 텍스트는 데이터로 안전하게 표시해야 합니다. [BOLT 11 — Invoice protocol]

Timestamp에 x를 더한 값이 만료 시점이며 x가 없으면 기본 유효기간은 3600초입니다. c는 마지막 HTLC의 min_final_cltv_expiry_delta를 블록 단위로 지정하며 초 단위의 또 다른 유효기간이 아닙니다. 없으면 최소 18블록을 사용합니다. 만료는 완료된 결제를 되돌리지 않습니다. [BOLT 11 — Invoice protocol]

9 필드는 필수·선택 기능을 표시합니다. 알 수 없는 짝수 비트는 거절해야 하고 홀수 비트는 무시합니다. 알려진 기능 의존성도 충족해야 합니다. Basic MPP는 basic_mpp가 제공된 경우에만 사용할 수 있습니다. 분할 결제가 여러 독립 청구서를 만들지는 않습니다. [BOLT 11 — Invoice protocol] [BOLT 9 — Assigned feature flags]

r 필드는 수취인에게 가는 routing hints를 추가하며 노드 키, 채널 식별자와 수수료 조건을 노출할 수 있습니다. 현재 유동성을 증명하지 않습니다. 선택 필드 f는 온체인 주소를 제시할 수 있지만 별도 수수료와 확인을 가진 다른 결제 방식입니다. 청구서 전체는 비공개 연락처나 영구 재사용 연락처가 아닙니다. [BOLT 11 — Invoice protocol] [BOLT 4 — Onion routing]

전송 뒤에는 대기와 완료를 구분합니다. QR 사진뿐 아니라 청구서와 해당 preimage를 정산 근거로 보관합니다. 응답을 잃었다면 먼저 지갑 상태를 확인합니다. 새 청구서나 다른 결제 방식은 추가 결제를 일으킬 수 있으며 형식만으로 보편적인 중복 방지를 제공하지 않습니다. [BOLT 4 — Onion routing] [Core Lightning — Payment result]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Lightning Network, HTLC, BOLT 12, Nostr Wallet Connect, Satoshi. 다음 항목에서도 이 글을 참조합니다 Nostr Wallet Connect, BOLT 12, LNURL, Lightning Address.

DOC · 001BOLT 11 — Invoice protocol명세 ↗DOC · 002BOLT 4 — Onion routing명세 ↗DOC · 003BOLT 9 — Assigned feature flags명세 ↗DOC · 004Core Lightning — Payment result문서 ↗
1차 출처 우선 · 투자 조언이 아닙니다