비트코인 라이트닝 노드 'Eclair', 수수료 폭탄 막는 치명적 결함 수정

라이트닝 네트워크의 주요 노드 소프트웨어 중 하나인 Eclair가 치명적인 수수료 관련 결함을 수정하며 비트코인 사용자 보호에 나섰다. ACINQ에서 개발한 Eclair는 최근 두 가지 중요한 보안 패치를 통합하여, 노드가 불필요한 과도한 채굴 수수료로 인해 비트코인을 잃는 상황을 방지하게 되었다.
이번에 통합된 수정 사항들은 각각 10월 2일과 10월 5일에 Eclair의 마스터 브랜치에 병합되었다. 이 패치들은 특히 채널 개설 및 채널 스플라이싱(splicing) 과정에서 발생할 수 있는 취약점을 해결하는 데 중점을 두고 있다. 채널 스플라이싱은 기존 라이트닝 채널의 용량을 조정하거나 추가하는 기능으로, 이번 패치를 통해 더욱 안전하게 사용할 수 있게 되었다.
첫 번째 수정 사항(PR #3388)은 채널 개설 또는 스플라이싱 과정에서 상대방 노드에 의해 발생하는 '교체 수수료(replace-by-fee, RBF)' 공격을 제한하는 내용을 담고 있다. 기존에는 악의적인 상대방 노드가 Eclair 노드의 자금을 이용하여 더 높은 수수료를 요구하는 거래를 생성하고, Eclair 노드가 이에 대한 수수료를 부담하도록 강요할 수 있었다. 이는 사실상 상대방이 거의 비용을 들이지 않고 Eclair 노드로부터 수수료만큼의 비트코인을 채굴자에게 지급하게 만드는 방식이었다.
이 수정 사항은 Eclair가 권장하는 최대 채널 펀딩 수수료율을 초과하는 RBF 시도를 거부한다. 다만, 두 가지 예외 상황이 존재한다. 첫째, 상대방이 유동성을 구매하고 Eclair의 입력 값에 대한 수수료를 부담하는 경우이다. 둘째, Eclair 노드가 해당 거래에 자금을 전혀 기여하지 않는 경우이다. 이 두 가지 상황에서는 Eclair 노드가 이 수정 사항에 의해 제한되는 비용을 부담하지 않는다.
두 번째 수정 사항(PR #3390)은 Eclair-signer 모드에서 발생하는 별도의 위협을 해결한다. Eclair-signer 모드에서는 비트코인 코어(Bitcoin Core)의 백엔드인 bitcoind가 코인을 선택하고 거래를 생성하지만, Eclair는 키를 보유하고 서명만 담당한다. 이 설정에서 악의적인 백엔드가 예산 내에서 거래를 보고하면서도 실제로는 더 높은 수수료를 지불하는 거래를 생성할 수 있었다. 예를 들어, 잔돈(change output)을 누락시켜 해당 금액이 수수료로 처리되게 하는 방식이다. 이는 공격자의 주소로 직접 전송되지 않는 방식으로 자금을 소비하는 것과 같다.
새로운 패치는 수수료 예산이 제공될 때, 거래 ID를 통해 실제 코인의 금액을 확인하여 실제 발생한 수수료를 계산한다. 이를 통해 백엔드가 보고한 수수료와 실제 수수료가 일치하는지 확인하고, 실제 수수료에 예산을 적용한다. 또한, Eclair가 재구성한 기여금이 동일한 검증된 수수료를 지불하는지 확인하고 유효하지 않은 잔돈 출력 위치는 거부한다.
이러한 수정은 지난 9월 CryptoSlate가 보도했던 협력적 종료(cooperative-closing) 수수료 결함 및 재시작 거부(restart denial)와는 별개의 문제이다. 이번 패치들을 통해 Eclair 노드는 잠재적인 수수료 공격으로부터 더욱 안전하게 보호받게 되었다.
Eclair 노드 소프트웨어는 라이트닝 네트워크의 상호 운용성을 높이는 데 중요한 역할을 하고 있다. 이번 보안 업데이트는 라이트닝 네트워크의 안정성과 신뢰도를 강화하는 데 기여할 것으로 기대된다. 라이트닝 네트워크는 비트코인 온체인 거래보다 훨씬 빠르고 저렴하게 소액 결제를 가능하게 하여 비트코인의 실사용성을 높이는 기술로 주목받고 있다.
비트코인 커뮤니티는 이러한 보안 업데이트를 환영하며, 라이트닝 네트워크의 지속적인 발전과 함께 비트코인의 채택이 더욱 가속화될 것으로 전망하고 있다. 특히, 이번 패치는 단순히 버그 수정에 그치지 않고, 공격 벡터를 명확히 이해하고 이를 방지하는 방식으로 설계되어 향후 유사한 문제 발생 가능성을 줄이는 데도 중요한 역할을 할 것이다. 이는 비트코인 생태계의 전반적인 보안 수준을 한 단계 높이는 계기가 될 수 있다.