라이트닝 네트워크에서 취소된 비트코인(BTC) 결제가 수취 노드 내부에 ‘결제 완료’로 기록될 수 있는 결함이 공개됐다. 판매자가 잘못된 인보이스 상태를 믿으면 대금을 받지 못한 채 상품이나 크레딧을 제공할 위험이 있었다.
라이트닝 랩스(Lightning Labs)는 21일 공식 보안 공지를 통해 해당 문제를 ‘T1·High’ 등급으로 공개했다. 결제에 사용된 HTLC가 네트워크에서 취소돼 송금자에게 반환됐지만, 수취 노드의 데이터베이스에는 인보이스가 ‘settled’ 상태로 남을 수 있었다.
HTLC는 정해진 조건이 충족될 때만 자금이 이동하도록 설계된 라이트닝 결제 계약이다.
이번 문제는 Taproot Assets 구현체인 tapd와 라이트닝 네트워크 노드 소프트웨어 lnd의 결함이 함께 작동하면서 발생했다. tapd는 사용자 정의 기록이 포함된 HTLC를 자산 결제로 잘못 인식했고, lnd는 취소된 HTLC를 네트워크상에서는 반환하면서도 내부 데이터베이스의 인보이스 상태를 결제 완료로 갱신했다.
일부 송신자 구현은 실험적인 endorsement TLV를 일반 비트코인 결제에도 붙였다. 수취 측에서 Taproot Assets 인보이스 인터셉터가 활성화돼 있으면 이 기록을 자산 결제로 처리하면서 문제가 촉발될 수 있었다.
공격자가 판매자와 직접 연결된 결제 채널을 확보해야 했던 것은 아니다. 자산 채널이 열려 있지 않은 경우에도 수취 노드에서 해당 인터셉터가 활성화돼 있고 송신자 측 구현이 문제의 TLV를 설정하면 결함이 작동할 수 있었다.
다만 송금자의 자금이 사라지는 유형의 결함은 아니었다. HTLC는 정상적으로 송금자에게 반환됐고, 위험은 운영자나 결제 소프트웨어가 허위로 표시된 결제 완료 상태를 근거로 상품이나 서비스를 먼저 제공하는 데 있었다.
라이트닝 랩스의 공식 공지에는 실제 피해 규모나 손실 사례가 제시되지 않았다. 따라서 이번 공개로 확인되는 핵심 위험은 자금 탈취보다 결제 처리와 운영 회계의 불일치다.
영향을 받는 버전은 taproot assets v0.5.0 이하, lnd 0.18.4-beta부터 0.18.5-beta, Lightning Terminal v0.15.0-alpha 미만이다. 수정 버전은 각각 taproot assets v0.5.1, lnd v0.19.0-beta, Lightning Terminal v0.15.0-alpha다.
Taproot Assets 수정판은 2025년 2월 12일 배포됐다. lnd의 회계 상태 오류는 같은 해 5월 22일 v0.19.0-beta에서 수정됐고, Lightning Terminal은 v0.15.0-alpha부터 두 결함이 모두 해결됐다.
라이트닝 랩스는 2025년 1월 27일 현장 제보를 통해 문제를 파악했다고 밝혔다. 결함이 확인된 뒤 tapd와 lnd에 각각 수정판이 배포됐고, 보안 공지는 수정판 공개보다 1년 이상 늦게 나왔다.
이번 결함은 비트코인 블록체인의 합의 오류가 아니라 결제 처리 소프트웨어의 네트워크 상태와 내부 회계 상태가 어긋난 사례다. 블록체인 자체의 거래 확정 여부와 결제 애플리케이션이 표시하는 상태가 다를 수 있다는 점이 문제의 핵심이다.
라이트닝 결제를 상품 판매나 서비스 제공에 사용하는 운영자는 인보이스 상태만 확인해서는 안 된다. 사용 중인 tapd·lnd·Lightning Terminal의 버전과 실제 자금 이동 결과를 함께 점검해야 한다.
업데이트가 어려운 운영자 가운데 자산 채널을 사용하지 않는 경우에는 --taproot-assets-mode=disable 설정을 임시 완화책으로 사용할 수 있다. 다만 해당 설정은 자산 채널 사용 여부에 따라 적용 조건을 확인해야 한다.
라이트닝 랩스는 이번 공개에서 영향 버전과 수정 버전을 제시했다. 운영자는 자신의 구성에 해당하는 소프트웨어를 확인하고 수정판 적용 여부를 점검해야 한다.

서지우 기자
댓글0
첫 댓글을 남겨 보세요.