리퀴드 네트워크서 비트코인 3억2000만달러 23분간 사라져…멀티시그는 안 뚫렸다
작성일
리퀴드 네트워크서 비트코인 4,000개(4,310억원) 23분 만에 빠져나가
화이트해커 자처한 인출자, 반환 조건 놓고 블록스트림과 공개 협상

비트코인 사이드체인(메인체인과 연결된 보조 블록체인) 리퀴드 네트워크(Liquid Network)의 페더레이션 지갑에서 9월 6일(현지시각) 비트코인 약 4,000개, 3억2,000만달러(약 4,310억원)어치가 23분 만에 빠져나갔다. 사건 전 4,200 BTC였던 지갑 잔액은 207 BTC 수준으로 줄어 전체의 약 95%가 사라졌다. 자금을 가져간 이는 온체인 메시지로 자신을 “화이트해커”라 밝히며 블록스트림(Blockstream)에 접촉을 요청했고, 양측은 주말 내내 비트코인 트랜잭션에 메시지를 실어 공개 협상을 이어갔다.
23분 만에 벌어진 대량 인출
사건은 사이드스왑(SideSwap)이라는 페더레이션 회원사를 통해 시작됐다. 9월 6일(현지시각) 오후 2시5분 UTC(한국시간 오후 11시5분) 한 고객이 4,000 L-BTC를 사이드스왑의 페그아웃(peg-out, 사이드체인 자산을 원본 비트코인으로 되돌리는 절차) 서비스로 보냈다. L-BTC는 정상적으로 소각됐고 유효한 페그아웃 승인이 첨부됐다.
23분 뒤인 오후 2시28분56초 UTC(한국시간 오후 11시28분56초), 비트코인 블록 965,783번에서 약 3,996 BTC가 페더레이션 지갑을 빠져나가 단일 주소로 입금된 사실이 확인됐다. 얼마 지나지 않아 같은 주소에서 소액 트랜잭션이 하나 더 전송됐는데, “화이트해커”를 자처하며 온체인으로 연락해달라는 OP_RETURN(비트코인 트랜잭션에 임의 메시지를 남기는 필드) 메시지가 담겨 있었다.
블록스트림은 블록 965,822번에서 1,000사토시(비트코인 최소 단위)를 같은 주소로 보내며 보안 담당 연락처를 안내했다. 이후 양측은 PGP(전자서명 방식) 서명이 담긴 메시지를 주고받으며 협상을 이어갔다. 리퀴드는 브리지 노드를 비활성화하고 네트워크를 일시 중단했으며, 여러 거래소가 L-BTC 입출금을 중단했다.

멀티시그도, 승인키도 뚫리지 않았는데
리퀴드의 보안 구조는 이론상 견고하다. L-BTC를 뒷받침하는 비트코인은 검증된 페더레이션 회원들이 관리하는 11-of-15 멀티시그(다중서명, 15명 중 11명이 서명해야 자금 이동 가능)로 보관되고, 페그아웃은 페그아웃 승인 키(PAK)라는 2차 관문을 통과해야 한다. 이번 사건에서는 두 층 모두 뚫리지 않았다. 키가 도난당하지도, 서명자가 피싱당하지도, 하드웨어 보안 모듈이 속지도 않았다.
블록스트림은 원인을 리퀴드가 구동되는 오픈소스 코드베이스 엘리먼츠(Elements)의 소프트웨어 버그로 지목했다. 크립토티커(cryptoticker.io)에 따르면 독립적인 분석 결과 기밀 트랜잭션(confidential transaction)의 레인지프루프(rangeproof, 거래 금액 유효성을 증명하는 암호 기법)를 캐싱하는 과정에서 합의 계층(consensus-level) 인플레이션 버그가 발견됐다. 자산·스크립트 맥락이 빠진 캐시 키 탓에 이전에 검증된 증명이 재사용될 수 있었고, 이 때문에 뒷받침 자산 없는 L-BTC가 만들어져 일부 노드에서 그대로 승인됐다는 설명이다.
공격자는 이 위조 L-BTC를 정상적인 절차로 인출했을 뿐 별도 해킹이 필요 없었다. 사이드스왑은 익스플로잇으로 만들어진 코인을 실제 코인과 구분할 방법이 없었다고 밝혔고, 해당 주문에 쓰인 L-BTC는 엘리먼츠 소프트웨어 버그로 만들어졌다는 사실을 블록스트림이 확인했다고 전했다. 페더레이션의 하드웨어 보안 모듈은 당시 리퀴드 합의 규칙상 완전히 유효한 인출 요청에 서명했다.
이 수정 코드를 둘러싼 보도는 매체마다 다르다. 크립토티커는 관련 버그 수정이 사건 며칠 전 이미 엘리먼츠 저장소에 반영됐지만 정식 태그 릴리스에는 아직 포함되지 않았다고 전했다. 반면 디크립트(decrypt.co)는 같은 수정이 5주 전 반영됐다고 보도했다. 블록스트림은 버그 자체를 구체적으로 설명하지는 않았다.
“돌려주겠다”는데 업계는 왜 의심하나
공격자 측은 “화이트해커”를 자처하며 조건을 내걸었다. 버그가 패치되고 모든 노드가 업데이트를 마치면 대부분의 비트코인을 돌려주겠다는 것이다. “대부분”이 얼마인지, 반환 시점이 언제인지는 밝히지 않았고 신원도 드러내지 않았다.
전 블록스트림 최고전략책임자이자 잔3(Jan3) 최고경영자(CEO) 샘슨 모우(Samson Mow)가 정리한 타임라인에 따르면, 협상은 태평양 시간 오전 11시30분(한국시간 9월 7일 오전 3시30분)에 시작됐다. 공격자 측이 스스로를 화이트해커라 밝히고 온체인 연락을 요청하자 블록스트림은 약 1시간 뒤(한국시간 오전 4시30분경) 보안 담당 이메일을 안내하고 이어 PGP 암호화 메시지를 보냈다.
몇 시간 뒤 공격자 측은 대부분의 비트코인을 블록스트림 주소로 돌려줘도 되는지 물었고, 곧이어 취약점 수정과 전 노드 업데이트를 반환 조건으로 내걸었다. 블록스트림은 “예, 감사합니다”라고 답했는데, 모우는 이것이 반환 주소를 물은 질문에 대한 답일 뿐 패치 조건에 대한 승인은 아니라고 짚었다. 태평양시간 오후 9시12분(한국시간 9월 7일 오후 1시12분) 기준 약 3,998.5 BTC가 그대로 남아 있었고 추가 메시지는 없었다.
레저(Ledger) 최고기술책임자(CTO) 찰스 기유메(Charles Guillemet)는 “화이트해커는 다리(브리지)를 비운 뒤 온체인 연락을 요청하지 않는다”며 로닌(Ronin) 브리지 해킹과 오일러 파이낸스(Euler Finance) 공격자가 사후에 태도를 바꾼 사례를 언급했다. 그는 처음엔 공격자가 “최근 대형언어모델(LLM)을 집중적으로 다뤄본” 사람일 수 있다고 여지를 남겼지만, 반환 조건이 등장하자 “이제는 자금을 훔친 뒤 취약점이 고쳐지기 전엔 돌려주지 않겠다고 한다”며 화이트해커 관행이 달라졌다고 강경하게 돌아섰다.
모우는 협상 중 등장한 시그널(Signal) 연락 요청이 실제로 자금을 쥐고 있는 주소에서 온 것이 아니었다고 지적했다. 익명의 상대와 공개 협상을 벌일 때는 누구든 양쪽 어느 쪽인 척할 수 있다는 점을 보여준 사례다.
반면 암호화폐 분석가 DBCrypto는 다른 해석을 내놨다. “코인이 움직이지 않고 비트코인 위에 가만히 있으며 믹싱(자금 세탁)도 되지 않았다”며 “이는 도난보다 화이트해커의 자금 추출에 더 부합한다”고 평가했다. 다만 그는 “15명 중 11명의 기능자가 이를 승인했거나, 이를 막기 위해 만든 화이트리스트가 뚫렸다는 뜻인데 어느 쪽도 리퀴드에 좋은 그림은 아니다”라고 지적했다.
사이드체인 멈춘 사이, 시장은 다른 국면
리퀴드는 일요일(9월 7일, 현지시각)부터 가동을 멈췄다. 브리지 노드가 비활성화돼 새 트랜잭션을 제출할 수 없고, 사실상 사이드체인 전체가 일시 정지된 상태다. 리퀴드 네트워크는 자체 공지에서 자금은 사이드스왑의 페그아웃 승인 키를 통해 빠져나갔지만 그 키도, 다른 어떤 키도 뚫리지 않았다고 밝혔다. 테더(USDT), 디픽스(DePix), 토큰화된 실물자산(RWA) 등 리퀴드 위에 발행된 다른 자산과 비트코인 메인체인 자체는 영향을 받지 않았다.
월요일(현지시각) 기준으로도 비트코인은 움직이지 않았다. 화이트해커 측은 반환을 약속했지만 규모와 시점 모두 불확실한 상태다. 모우는 “모두가 이 문제를 해결하려 적극적으로 움직이고 있다. 힘든 시간이지만 우리는 이겨낼 것”이라고 밝혔다.
이번 사태는 비트코인 현물 상장지수펀드(ETF)가 올해 최고 수준의 3주 연속 순유입을 기록한 시점과 겹쳤다. 코인텔레그래프에 따르면 지난주(현지시각 기준 금요일 마감) 비트코인 ETF에는 9억8,690만달러(약 1조3,300억원)가 유입돼 3주간 누적 순유입이 38억달러(약 5조1,200억원)에 달했고, 비트코인은 8만달러를 웃도는 수준에서 거래되고 있었다. 다만 리퀴드 사태가 이 흐름에 직접 영향을 줬는지는 확인되지 않았다.