궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

해설블록체인 기술

라이트닝 어니언 라우팅에서 각 노드가 아는 정보

BOLT4 Sphinx packet이 홉별 shared secret과 HMAC으로 next hop payload만 공개하는 범위와 traffic analysis 한계를 설명합니다.

난이도 중급주제 카테고리와 개념 밀도 기준
중계 지점을 지날 때마다 암호 봉투의 양파 껍질이 한 겹씩 벗겨지는 어니언 라우팅 그림
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

Sender는 전체 route를 알고 각 hop은 인접 peer와 자기 전달 지시만 봅니다.
Ephemeral key는 hop마다 blinding되어 같은 route packet 연결을 어렵게 합니다.
금액·시간·network metadata는 상관 분석 위험으로 남습니다.

BOLT4 결제 어니언(payment onion)은 송신자가 만듭니다. 송신자는 경로 위 노드들의 공개키로 홉마다 공유 비밀(shared secret)을 계산하고, 페이로드 층과 HMAC을 맨 뒤 홉부터 차례로 감쌉니다. 중간 노드는 자기 층만 풀 수 있습니다. 그 안에서 내보낼 채널이나 다음 노드, 넘길 금액, 내보낼 CLTV를 읽고, 바로 앞뒤 피어가 누구인지 압니다. 그러나 다른 홉들, 전체 경로 길이, 경로 안에서 자신의 정확한 위치는 패킷만 보고는 알 수 없습니다. 다만 시각·금액·채널 관측을 엮는 트래픽 분석까지 막아 주는 완전한 익명성은 아닙니다.

송신자는 스핑크스(Sphinx) 패킷을 역순으로 만듭니다

출발 노드는 n1부터 최종 노드까지의 공개키와 무작위 32바이트 세션 키(sessionkey)로 ECDH 공유 비밀을 계산합니다. 비밀마다 rho·mu처럼 용도별 키를 뽑아낸 뒤, 마지막 홉의 페이로드부터 넣어 층을 감쌉니다. BOLT4 version 0 패킷은 1366바이트 고정 크기입니다.

연관 데이터(associated data)로 payment_hash를 HMAC에 묶어, 어니언을 다른 HTLC에 옮겨 붙이지 못하게 합니다. 홉 페이로드 길이는 BigSize와 TLV로 적습니다. 인코딩이 잘못됐거나 알 수 없는 짝수 타입이 나오면 프로토콜 규칙대로 실패 처리합니다. 파서는 적힌 길이를 그대로 믿고 버퍼 밖을 읽어서는 안 됩니다.

어니언 라우팅은 중간 노드에게 전체 지도를 건네지 않습니다. 다음 교차로까지의 봉인된 지시만 한 겹씩 넘겨줄 뿐입니다.

JOBCOIN 해설

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

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

  1. 송신자는 스핑크스(Sphinx) 패킷을 역순으로 만듭니다

    출발 노드는 n1부터 최종 노드까지의 공개키와 무작위 32바이트 세션 키(sessionkey)로 ECDH 공유 비밀을 계산합니다.

  2. 각 홉이 아는 것과 모르는 것을 나눕니다

    노드는 네트워크 연결을 통해 바로 앞 노드를 압니다.

  3. 임시 키 블라인딩이 패킷 사이의 연결 고리를 줄입니다

    첫 홉이 보는 것은 송신자의 장기 노드 키가 아니라 임시 공개키(ephemeral public key)입니다.

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

각 홉이 아는 것과 모르는 것을 나눕니다

노드는 네트워크 연결을 통해 바로 앞 노드를 압니다. 복호화한 페이로드에서는 다음 홉과 내보낼 금액·CLTV를 얻습니다. 이를 들어온 HTLC의 금액·만료와 견줘 수수료와 시간 차이 조건을 검사합니다. 최종 홉은 자신이 수신자라는 페이로드와 결제 비밀, 총액 같은 값을 확인합니다.

BOLT4는 중간 노드가 경로의 다른 노드, 전체 길이, 자기 위치를 패킷에서 알 수 없다고 설명합니다. 그래도 송신자나 수신자와 직접 연결돼 있다면 그들을 이웃 피어로 볼 수 있습니다. 공개 채널 그래프와 금액 차이로 추정하는 길도 열려 있습니다. 그러니 ‘중간 노드는 아무 정보도 모른다’는 말은 정확하지 않습니다.

주체별 관찰 정보
주체 아는 정보 기본적으로 모르는 정보
송신자 직접 고른 전체 경로·금액 실제 채널 유동성
중간 홉 앞뒤 피어·자기 페이로드 전체 길이·다른 홉
최종 노드 받은 페이로드·프리이미지 원래 송신자의 네트워크 신원
네트워크 관찰자 시각·연결·크기 암호화된 페이로드 내용
공모한 홉들 각자 관찰한 정보의 합 공모하지 않은 구간의 확정 경로

임시 키 블라인딩이 패킷 사이의 연결 고리를 줄입니다

첫 홉이 보는 것은 송신자의 장기 노드 키가 아니라 임시 공개키(ephemeral public key)입니다. 홉을 하나 지날 때마다 이 임시 키는 공유 비밀에서 만든 블라인딩 계수로 바뀝니다. 그래서 다음 홉이 받은 패킷과 이전 패킷을 같은 키로 곧바로 잇기 어렵습니다. 페이로드 바이트도 스트림 암호로 한 겹씩 벗겨지고, 채움 데이터(filler)가 길이 단서를 줄입니다.

무결성 HMAC이 맞지 않으면 노드는 패킷을 넘기지 않습니다. 같은 어니언을 다시 쓰거나 세션 키의 무작위성이 약하면 연결 불가능성(unlinkability)이 무너질 수 있습니다. 결제를 다시 시도할 때는 새 경로와 새 세션 키를 만들고, 논스나 난수 생성이 실패하면 치명적 오류로 다룹니다.

  • 새 세션 키를 CSPRNG로 만듭니다.
  • 경로 역순으로 공유 비밀을 계산합니다.
  • 홉별 TLV와 다음 HMAC을 층에 넣습니다.
  • 결제 해시를 연관 데이터로 묶습니다.
  • 재시도할 때마다 새 어니언을 만들고 경로 프라이버시를 다시 따집니다.

오류도 거꾸로 암호화돼 돌아옵니다

전달하던 노드가 실패하면 공유 비밀로 실패 메시지를 감싸 앞쪽 노드로 돌려보냅니다. 앞선 홉들이 한 겹씩 덧씌우고, 송신자는 갖고 있는 비밀로 차례로 풀어 실패가 시작된 지점을 찾습니다. 송신자는 실패 코드에 따라 채널 업데이트를 반영하거나 경로를 다시 계산합니다.

오류가 돌아오는 시각과 반복된 경로 탐침은 노드 위치를 짐작하는 단서가 될 수 있습니다. BOLT4가 정한 일정한 더미 복호화 같은 대책이 시간 차이를 줄입니다. 구현체는 상세한 내부 오류를 평문 로그나 API로 그대로 드러내 원격 지문을 남기지 않도록 해야 합니다.

경로 블라인딩과 트램펄린에서는 더 많은 경로 정보가 드러날 수 있습니다

스핑크스 결제 어니언만으로는 수신자가 공개 인보이스에 노드 ID와 경로 힌트를 드러내는 문제까지 풀리지 않습니다. 경로 블라인딩(route blinding)은 수신자가 진입 지점(introduction point) 이후 경로를 암호화해 송신자에게도 숨기는 기법입니다. 기능 지원 여부와 탐침 방어 조건은 따로 확인합니다.

트램펄린 라우팅(trampoline routing)은 가벼운 송신자가 경로 탐색 일부를 트램펄린 노드에 맡기는 제안과 구현을 묶어 부르는 말입니다. 일을 넘겨받은 노드는 더 많은 경로 정보를 알게 될 수 있습니다. 이를 ‘송신자가 전체 경로를 짠다’는 기본 BOLT4 모델과 똑같이 설명해서는 안 되며, 쓰는 지갑과 피어가 실제로 어떤 기능을 지원하는지 확인합니다.

자주 묻는 질문

중간 노드는 송신자와 수신자를 전혀 모르나요?

전체 경로는 모릅니다. 하지만 바로 앞뒤 피어는 알고, 첫 홉이나 마지막 홉과 맞닿은 노드라면 상대의 역할을 짐작할 수 있습니다.

결제 어니언은 모두 크기가 같나요?

BOLT4 version 0 라우팅 패킷은 1366바이트로 고정돼 있고, TLV 페이로드와 채움 데이터로 채워집니다.

어니언 라우팅이면 시각 분석도 막을 수 있나요?

아닙니다. 시각·금액·채널 정보를 엮는 트래픽 분석 위험은 남습니다.

더 깊이 읽기

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

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. BOLT 4: Onion Routing Protocolgithub.com
  2. BOLT 8: Encrypted and Authenticated Transportgithub.com
작성 방식과 확인 범위
출처 수집
원문 링크 2개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

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

이해를 위한 정보 콘텐츠

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

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