VeilSwap
← All posts
보안2026-11-078 min read

지갑 복원 후 잔액 0: 복원 높이와 갭 리밋

복원 후 잔액 0은 키가 아니라 스캔 시작점 문제인 경우가 많습니다. XMR·BTC·LTC·ZEC 실측 블록 수와 오래된 입금을 숨기는 BIP-44 간격 한도, 수정 절차.

잔액 0은 키를 잃은 것이 아니라 스캔 설정이 틀린 경우가 많습니다. 2026년 11월 7일 10:20 UTC, 모네로 체인은 3,801,119 블록이었습니다. 전통적인 25단어 시드로 복원하면서 복원 높이를 비워 두면 지갑은 블록 0부터 읽습니다. 380만 블록, 295,279,001,600바이트(275GiB)의 체인 DB, 약 14.5년의 이력을 지난주 도착한 출금 하나를 찾으려고 말입니다. 키는 처음부터 맞습니다. 지갑이 어디를 봐야 할지 모를 뿐입니다. 복원은 한 번의 동작이 아니라 두 가지 설정입니다 — 스캔 시작점(복원 높이 또는 지갑 생일)과 주소 파생을 멈추는 간격 한도(gap limit). 둘 중 하나가 틀리면 잔액은 0, 자금은 체인 위에 있습니다.

복원 높이는 무엇이고 무엇이 아닙니까. 블록 번호이며 비밀도, 시드의 일부도 아닙니다. 같은 단어는 호환 지갑 어디서나 같은 키와 주소를 파생합니다. 높이는 어느 블록부터 읽을지만 정합니다. 모네로 공식 안내는 두 방향의 실패를 분명히 말합니다. 첫 입금이 포함된 블록보다 높게 설정하면 모든 거래를 감지하지 못해 잔액이 틀립니다. 낮게 설정하면 불필요한 블록을 스캔해 첫 동기화가 오래 걸립니다. 앞쪽은 조용히 일어나고, 뒤쪽은 그저 느립니다. 그래서 의심스러우면 낮게, 절대 높게 설정하지 마십시오.

모네로: 25단어 시드에는 생일이 없고 16단어 Polyseed에는 있습니다. wallet2.cpp에서 내장 생일을 쓰는 것은 Polyseed뿐입니다. 전통 시드는 지정한 높이에서 스캔을 시작하고, 비워 두면 0입니다. CLI와 GUI는 YYYY-MM-DD 날짜를 받아 높이로 변환하므로 번호를 찾는 것보다 쉽습니다. 작성 시점 체인 높이는 3,801,119, 목표 120초로 하루 720블록, 1년 262,800블록입니다. 2년 전 첫 XMR이 들어온 지갑을 0부터 복원하면 약 525,600블록을 읽습니다. 첫 입금 하루 전으로 높이를 잡으면 720블록만 읽습니다.

숫자를 고르는 방법. 블록 탐색기에서 그 지갑의 어떤 주소로든 첫 입금을 찾아 블록 높이를 읽습니다. 그다음 여유분을 뺍니다. 하루 블록 수는 비트코인 144, 모네로 720, 라이트코인 576, Zcash 1,152입니다(Zcash는 75초 목표). 모네로 1,000블록 여유는 약 33시간입니다. 지갑을 만들 때 높이와 날짜를 함께 기록하십시오. 날짜만으로도 호환 지갑이 변환합니다. 옛 지갑 파일이나 캐시가 남아 있으면 지우기 전에 높이를 내보내십시오. 월만 기억한다면 몇 주 앞으로 당기십시오. 추가 스캔이 입금을 놓치는 것보다 쌉니다. (Zcash vs 모네로 2026 비교)

비트코인과 라이트코인에는 간격 한도도 있습니다. BIP-44는 외부 주소 체인을 스캔하다가 미사용 주소가 20개 연속되면 그 너머에는 없다고 가정하고 멈춥니다. 각 주소에서 입금을 받으면 카운터가 초기화되므로, 스왑마다 새 주소를 쓰고 실제로 입금을 받는다면 안전합니다. 위험은 미리 대량 생성하는 경우입니다. 앞으로 쓸 수취 주소 25개를 미리 만들고 25번째만 쓴 뒤 시드로 복원하면, 지갑이 20번에서 멈추고 잔액 0을 표시할 수 있습니다. 자금은 체인 위에 있지만 복원이 파생하지 않은 경로에 있습니다. 해결은 재설치가 아니라 간격 한도를 올리고 다시 스캔하는 것입니다. Electrum에는 `getminacceptablegap`(알려진 모든 주소를 찾는 최소 한도)과 `changegaplimit`(확인 플래그와 함께 변경)이 있습니다. (모네로 확인 대기)

Zcash는 높이 대신 생일을 씁니다. zcashd는 가장 이른 키 생성 시각에서 지갑 생일을 유도하고, 재스캔 때 생일에서 시간 창을 뺀 시각보다 오래된 블록을 건너뜁니다(wallet.cpp). 라이트 지갑은 생일 높이를 묻습니다. 규칙은 같습니다. 너무 높으면 오래된 note를 숨기고, 너무 낮으면 전체 체인을 읽습니다. Zcash는 75초 목표라 하루 1,152블록, 1년 420,480블록 — 같은 1년에 비트코인의 8배가 넘는 블록 수입니다. 실드 거래도 스캔을 생략하게 만들지 않습니다. 지갑은 note를 찾기 위해 여전히 블록을 읽어야 합니다. (Zcash vs 모네로 2026 비교)

계정 모델 체인에서는 높이가 파생 경로로 바뀝니다. EVM 지갑은 체인을 스캔하지 않고 m/44'/60'/0'/0/0과 계정 인덱스에서 주소를 파생합니다. 경로나 인덱스가 다르면 주소 집합이 달라지고, 시드가 맞아도 복원된 지갑이 비어 보일 수 있습니다. Solana는 지갑마다 경로 규칙이 달라서 다른 지갑으로 복원하면 주소가 어긋날 수 있습니다. 자금을 옮기기 전에 복원된 지갑의 첫 수취 주소를 실제 사용한 주소와 비교하십시오. 다르면 잔액이 아니라 경로와 인덱스를 확인하십시오. (SOL to XMR guide)

복원을 믿기 전 여섯 가지 점검. 첫째, 높이 또는 생일과 생성 날짜를 시드 옆에 기록하십시오. 비밀은 아니지만 잃으면 스캔 시간을 잃습니다. 둘째, 낮게 잡고 높게 잡지 마십시오. 모네로 안내는 너무 높으면 조용히 거래를 놓친다고 명시합니다. 셋째, 알려진 주소를 글자 단위로 비교하십시오. 잔액만 보지 마십시오. 넷째, 입금 전에 예비 기기에서 복원을 연습하십시오. 다섯째, UTXO 체인에서 주소를 미리 생성했다면 간격 한도를 확인하십시오. Electrum의 `getminacceptablegap`이 직접적인 검사입니다. 여섯째, 동기화 후 높이를 바꾸면 재스캔하십시오. 필드만 바꾸면 오래된 블록을 다시 읽지 않습니다. 흔한 실수는 오래된 지갑에 오늘 높이를 넣기, 전통 시드에서 비워 두기, BIP-39 12/24단어를 모네로 지갑에 복원하기, seed offset passphrase 잊기, 거래소 입금 주소를 수취나 환불 주소로 쓰기 — 그 주소는 당신 것이 아닙니다. (모네로 확인 대기)

마무리: 키는 변하지 않았습니다. 스왑 출금은 시드에서 파생된 주소로 가는 출력일 뿐입니다. 그래서 몇 년 뒤에도 같은 단어로 찾을 수 있고, 복원 높이와 간격 한도가 복원된 지갑에 그것이 보이는지를 결정합니다. 작성 시점(2026-11-07 10:20 UTC), 1,000 USDT-TRC20은 1.610578 XMR(2개 경로, 150bps 우위), 0.01 BTC는 1.223795 XMR(1 BTC=122.3795 XMR), 카탈로그는 438개 자산·65개 네트워크, 그중 6개는 추가 ID가 필요합니다. 견적은 움직이고 라이브 페이지가 기준입니다. 복원 설정은 움직이지 않습니다 — 지갑을 만들 때 적어 두십시오. (XMR→USDT 출구 루트)

Frequently asked questions

복원한 모네로 지갑이 0을 표시하는 이유는 무엇인가요?

거의 항상 시드가 아니라 복원 높이가 첫 입금보다 높기 때문입니다. 그 블록이나 더 이전(하루 전이면 720블록)으로 설정하고 재스캔하면 잔액이 나타납니다. 모네로 안내는 너무 높으면 조용히 거래를 놓치고, 너무 낮으면 첫 동기화가 길어질 뿐이라고 명시합니다.

작년에 만든 지갑의 복원 높이는 얼마로 잡아야 하나요?

첫 입금 블록을 찾고 여유분을 빼십시오. 모네로는 하루 720블록, 비트코인 144, 라이트코인 576, Zcash 1,152입니다. 날짜만 알아도 모네로 CLI와 GUI가 YYYY-MM-DD를 받아 변환합니다. 의심스러우면 더 낮게 — 추가 스캔이 입금을 놓치는 것보다 쌉니다.

BIP-44 간격 한도가 스왑 입금에 영향을 주나요?

20개를 넘는 미사용 주소를 연속으로 생성한 경우에만 영향을 줍니다. 주소에서 입금을 받으면 카운트가 초기화되므로, 스왑마다 새 주소를 만들고 실제로 입금을 받으면 안전합니다. 미리 여러 개를 만들고 뒤의 하나만 썼다면 복원된 지갑이 20에서 멈출 수 있습니다. 간격 한도를 올리고 재스캔하십시오. Electrum의 `getminacceptablegap`이 필요한 최소값을 반환합니다.

지갑 동기화 후 복원 높이를 바꿀 수 있나요?

숫자는 바꿀 수 있지만 재스캔 전까지 지갑은 오래된 블록을 다시 읽지 않습니다. monero-wallet-cli에서는 `rescan_bc`, GUI에도 같은 재스캔 기능이 있습니다. 필드만 바꾸면 체인을 다시 읽지 않으므로 수정 후에는 반드시 낮은 높이에서 재스캔하십시오.

Ready to swap?

No account · No KYC · No email

Exchange now
지갑 복원 후 잔액 0: 복원 높이와 갭 리밋 — VeilSwap