연구 . 하드웨어 포렌식

Trezor 파생 경로 포렌식 분석

복구된 트레저(Trezor)에서 잔액이 잘못 표시되거나 아예 표시되지 않는 경우, 대개 자산을 잃은 것은 아닙니다. 단순히 잘못된 주소를 불러오고 있는 것일 뿐입니다. 코인은 여전히 블록체인상에 있으며, 단지 접근 경로에 문제가 있는 것입니다.

2026년 7월 업데이트 · KeychainX — 2017년부터 지갑 복구 서비스 제공

하드웨어 지갑은 파생 경로를 사용하여 하나의 시드에서 여러 개의 주소를 생성합니다. 수년에 걸쳐 Trezor 펌웨어와 관련 표준이 변화함에 따라 지갑이 사용하는 경로도 달라졌으며, 이러한 차이점은 “자금이 사라졌다”는 신고가 발생하는 빈번하면서도 오해받기 쉬운 원인입니다. 이 페이지에서는 Trezor의 주소 파생 과정을 분석하고, 복구 절차가 이를 어떻게 해결하는지 설명합니다.

파생 경로란 무엇인가

단 하나의 시드만으로도 m/44’/0’/0’과 같은 파생 경로를 통해 사실상 무제한의 주소를 생성할 수 있습니다 . 이 경로는 어떤 코인인지, 어떤 계정인지, 어떤 주소 인덱스인지를 암호화하여 나타냅니다. 잘못된 경로로 시드를 복원하면, 유효하지만 비어 있는 다른 지갑이 생성됩니다. 시드는 정확하고 돈도 실제로 존재하지만, 소프트웨어가 트리의 잘못된 분기를 찾고 있는 것입니다. 이 단 한 가지 사실만으로도 대부분의 “복원되었지만 비어 있는” 하드웨어 지갑 사례를 설명할 수 있습니다.

서로 달라진 기준들

비트코인 주소 유형마다 고유한 경로 표준이 있습니다: 레거시 BIP44 (m/44’, 1…으로 시작하는 주소), SegWit 호환 BIP49 (m/49’, 3…), 네이티브 SegWit BIP84 (m/84’, bc1q…) 및 Taproot BIP86 (m/86’, bc1p…). Trezor 펌웨어가 시간이 지남에 따라 이러한 표준들을 차례로 채택함에 따라, 특정 표준에 따라 자금이 입금된 지갑을 다른 표준을 기본값으로 하는 소프트웨어로 복원할 경우 아무런 내용이 표시되지 않을 수 있습니다. 자금은 원래 경로의 주소에 그대로 남아 있습니다.

펌웨어 및 계정 인덱스 내역

주소 유형 외에도, 구형 Trezor 펌웨어와 초기 타사 도구들은 때때로 비표준 경로나 변형된 경로 및 계정 인덱스를 사용했으며, 일부 지갑은 특정 기간 동안 사용되었던 특정 ETH 파생 경로를 사용했는데, 이후 출시된 소프트웨어에서는 더 이상 이를 기본값으로 설정하지 않았습니다. 여러 계정이 존재할 경우 또 다른 변수가 발생합니다. 즉, 계정 0만 스캔할 경우 계정 인덱스 1이나 2에 있는 자금은 확인되지 않습니다. 거래 내역을 재구성하려면 지갑 생성 시점에 어떤 펌웨어와 도구가 사용되었을 가능성이 있는지, 그리고 각각이 어떤 결과를 도출했는지 파악해야 합니다.

패스프레이즈(비공개) 지갑

패스프레이즈, 즉 “25번째 단어”는 보안에 또 다른 계층을 더합니다. 각 패스프레이즈는 동일한 시드에서 완전히 별개의 숨겨진 지갑을 생성합니다. 패스프레이즈를 잊어버리거나 잘못 입력하거나, 트레저를 다른 인터페이스에 연결하면 비어 있는 것처럼 보이는 파생 지갑이 생성되지만, 실제 자금은 올바른 패스프레이즈로 잠겨 있는 숨겨진 지갑에 안전하게 보관되어 있습니다. 이는 PIN을 분실한 경우와는 다르며, 막다른 골목이 아닌 해결 가능한 문제입니다.

경로 탐색이 이를 어떻게 복구하는지

복구는 체계적인 전수 조사 과정입니다. 올바른 시드로부터 모든 타당한 경로를 따라 표준, 계정 인덱스 및(해당되는 경우) 패스프레이즈를 도출하고, 도출된 각 주소 집합을 알려진 자금 입금 주소나 블록체인과 대조하여 확인합니다. 도출된 주소가 일치하면 올바른 경로가 확인되고 자금을 사용할 수 있게 됩니다. 시드는 처음부터 올바랐으며, 실제 코인이 존재하는 분기를 찾아내는 것이 핵심 작업입니다.

왜 이것이 자금이 분실된 것으로 자주 오해되는가

경로 불일치가 이토록 큰 당혹감을 주는 이유는 모든 상황이 재앙처럼 보이기 때문입니다. 올바른 시드를 입력하면 지갑이 열리지만 잔액은 0으로 표시됩니다. 코인이 도난당했거나 시드가 틀렸다고 결론 짓는 것은 당연한 일입니다. 하지만 유효한 시드에서 잔액이 0으로 표시된다는 것은 거의 항상 소프트웨어가 사용자의 자금이 있는 주소 트리와는 다른 분기를 도출했음을 의미합니다. 즉, 다른 주소 유형, 계정 인덱스, 혹은 (패스프레이즈가 있는 경우) 완전히 다른 숨겨진 지갑을 가리키는 것입니다. 블록체인 상에서는 여전히 코인이 실제 주소에 존재합니다. 단지 현재 화면에 표시되는 내용이 잘못된 것뿐입니다. 이 점을 이해하면 손실이 실제로 발생했다고 가정하고 포기해 버리는 최악의 실수를 막을 수 있습니다.

경로 및 암호 문구 기록하기

이러한 상황에 절대 직면하지 않으려면 시드뿐만 아니라 그 이상의 정보를 기록해 두어야 합니다. 지갑이 어떤 주소 유형(레거시, 세그윗, 네이티브 세그윗, 탭루트)을 사용하는지, 자금이 보관된 계정 인덱스가 무엇인지, 그리고 — 무엇보다 중요한 점은 — 숨겨진 지갑을 사용하는 경우 정확한 패스프레이즈를 기록해 두어야 합니다. 패스프레이즈는 어디에도 저장되지 않으며, 기기에서는 복구할 수 없기 때문입니다. 시드만으로도 지갑을 복원할 수 있지만, 경로와 패스프레이즈 정보를 함께 기록해 두면 어떤 소프트웨어에서든 첫 시도 만에 지갑을 복원할 수 있습니다.

실제 현장에서는 스윕이 어떻게 진행되는가

시드가 확인되면 이후 과정은 기계적으로 진행됩니다. 시드를 바탕으로 각 경로 표준에 대한 계정 확장 키를 생성하고, 각 경로 아래에 있는 수신 및 변경 주소의 첫 번째 구간을 도출한 다음, 이를 체인과 대조하여 확인합니다. 이 대조 과정은 소유자가 기억하는 특정 주소를 기준으로 하거나, 도출된 주소 집합 중 과거에 잔액을 보유한 적이 있는 주소를 스캔하는 방식으로 이루어집니다. 패스프레이즈 후보를 추가하면 검색 범위가 확대되지만 논리는 동일합니다: 도출, 확인, 확정. 실제 온체인 내역을 기준으로 확인하기 때문에 올바른 조합이 발견되면 모호함이 없습니다. 자금이 입금된 주소가 나타나며, 올바른 경로, 계정 및 패스프레이즈가 함께 확정됩니다.

당사의 문서

KeychainX는 “복원되었으나 비어 있는” 지갑이 실제로는 경로 불일치로 인한 문제였던 수년간의 사례 분석을 바탕으로, Trezor 펌웨어의 과거 경로, 주소 유형 표준, 계정 인덱스 및 패스프레이즈 조합을 포괄하는 스윕 해리스를 유지하고 있습니다. 당사는 지갑 소유자들이 실제로는 완벽하게 온전한 지갑을 포기하지 않도록 이 정보를 공개합니다. 하드웨어 관련 사례는 Trezor 복구 페이지를 참조하시기 바랍니다.

자주 묻는 질문

Trezor를 복원했는데 잔액이 0으로 표시됩니다. 제 코인이 사라진 건가요?

보통은 그렇지 않습니다. 파생 경로나 계정 인덱스가 잘못되면, 동일한 올바른 시드에서 서로 다른 빈 지갑이 파생됩니다. 자금은 온체인에 있으므로, 경로 스윕을 통해 찾을 수 있습니다.

‘잘못된 길’ 문제는 무엇 때문에 발생하는가?

주소 유형 표준(BIP44/49/84/86) 및 과거 펌웨어 간의 차이점. 한 가지 방식으로 자금이 입금된 지갑을, 다른 방식으로 기본 설정된 소프트웨어로 복원하면 아무것도 표시되지 않습니다.

제 트레저(Trezor) 히든 지갑이 사라졌어요 — 왜 그런 걸까요?

패스프레이즈(25번째 단어)는 별도의 숨겨진 지갑을 잠금 해제합니다. 패스프레이즈를 잘못 입력하거나 잊어버린 경우, 혹은 다른 인터페이스를 사용할 경우 다른 파생 지갑이 표시되지만, 자금은 올바른 패스프레이즈가 설정된 지갑에 그대로 남아 있습니다.

이건 PIN 번호를 분실한 경우와 같은 건가요?

아닙니다. PIN은 기기를 잠그는 기능입니다. 파생 과정과 패스프레이즈 문제는 올바른 시드에서 어떤 주소가 파생되는지와 관련된 것입니다. 이는 서로 다른 문제이며, 복구 방법도 다릅니다.

회복 비용은 얼마인가요?

성과 기반: 접근 권한을 회복한 경우에만 회수된 가치의 일정 비율을 수수료로 받으며, 선불 비용은 없습니다.

복구된 트레저(Trezor)에서 잔액이 잘못 표시되거나 비어 있는가요?

자금 손실이 아니라 파생 경로나 패스프레이즈 불일치일 가능성이 매우 높습니다. 현재 상황을 알려주시면 24시간 이내에 객관적인 평가를 드리겠습니다.

KeychainX에 문의하기 →