건물의 모든 문을 여는 만능 열쇠 하나를 떠올려 보세요. 현관문부터 사무실, 금고까지 모두 열 수 있습니다. 이제 그 열쇠를 대체할 수 없다고 상상해 보세요. 열쇠공도 복사본을 만들 수 없고, 건물 관리자도 여분을 갖고 있지 않습니다. 암호화폐에서 시드 구문이 바로 그런 열쇠입니다. 잃어버리면 그 열쇠가 지켜 주던 모든 것을 잃습니다. 다른 사람에게 맡기면 그 사람이 모든 것을 소유하게 됩니다.
이 가이드에서는 시드 구문에 관한 모든 내용을 한곳에서 다룹니다. 12개 또는 24개의 단어가 실제로 무엇을 인코딩하는지, 그 단어가 수십 개 블록체인에서 사용할 키로 어떻게 변환되는지, 어떻게 보관해야 하는지, 무엇을 복구할 수 있고 없는지, 그리고 복구하는 날에야 드러나는 실패 사례까지 설명합니다. 지갑 보안에 관한 글을 하나만 읽는다면 이 글을 읽어 보세요.
쉽게 설명하면
시드 구문(니모닉 또는 복구 구문이라고도 함)은 correct horse battery staple 같은 평범한 영어 단어 12개 또는 24개를 나열한 것으로, 이 단어들이 함께 암호화폐 지갑 전체를 뒷받침하는 마스터 비밀 정보를 인코딩합니다. 직접 선택한 비밀번호가 아닙니다. 추측으로 알아내는 것이 계산상 불가능할 만큼 큰 난수를 사람이 읽을 수 있는 형태로 표현한 것입니다.
새 기기에서 지갑을 복구할 때 단어를 순서대로 입력하면, 해당 지갑이 지금까지 생성한 모든 주소와 개인 키가 되살아납니다. 계정 복구 절차도, 고객 지원 요청도, 대기 시간도 없습니다. 이것이 시드 구문의 핵심이자 위험 요소입니다.
시드 구문이란 무엇인가요
이 과정은 BIP-39(비트코인 개선 제안 39)로 표준화되어 있습니다. BIP-39는 지갑 소프트웨어가 원시 난수를 단어 목록으로 변환하는 방식을 정의합니다.
- 지갑은 엔트로피라고 하는 난수를 생성합니다. 12단어 구문에는 128비트, 24단어 구문에는 256비트가 사용됩니다. 전체적으로 다섯 가지 길이가 정의되어 있습니다(128비트는 12단어, 160비트는 15단어, 192비트는 18단어, 224비트는 21단어, 256비트는 24단어에 해당합니다).
- 짧은 체크섬을 덧붙입니다. 지갑은 엔트로피를 SHA-256으로 해시한 뒤 결과의 앞부분 비트를 사용합니다. 128비트 엔트로피에는 4비트, 256비트 엔트로피에는 8비트를 사용합니다.
- 엔트로피와 체크섬을 11비트 단위로 나눕니다. 각 단위는 2,048개의 영어 단어로 이루어진 고정 목록에서 하나의 단어를 가리키므로, 각 단어는 정확히 11비트를 인코딩합니다. 따라서 시드 구문은 임의의 문자열이 아니라 항상 사전에 있는 단어로 구성됩니다.
- 128비트 엔트로피에서는 12단어, 256비트 엔트로피에서는 24단어가 만들어집니다.
실제로 중요한 설계상의 특징이 두 가지 있습니다. 목록에 있는 모든 단어는 처음 네 글자가 서로 달라 축약해서 입력해도 혼동되지 않습니다. 또한 체크섬 덕분에 오타를 감지할 수 있습니다. 지갑으로 가져올 때 구문이 거부되면 체크섬이 일치하지 않는다는 뜻입니다. 보통 단어가 틀렸거나 순서가 바뀌었다는 의미이지, 자금이 사라졌다는 뜻은 아닙니다.
모든 BIP-39 지갑은 같은 단어 목록을 사용합니다. 따라서 Zelcore의 시드 구문을 호환되는 다른 지갑에서 복원할 수 있으며, 그 반대도 가능합니다.
새 기기에서 시드 구문을 복원하면 무엇을 되찾을 수 있는지 알아보려면 기기 간 Zelcore 동기화 가이드를 읽어보세요.
12단어 구문은 128비트 보안을 제공하며, 단일 Bitcoin 개인 키와 같은 수준입니다. 24단어 구문은 256비트를 제공합니다. 현재 또는 가까운 미래의 하드웨어로는 어느 쪽도 무차별 대입 공격으로 알아내기 어렵습니다. 따라서 둘 중 무엇을 선택할지는 위협 모델과 더 많은 단어를 적어둘 의향에 달려 있으며, 어느 한쪽이 “안전하지 않다”는 뜻은 아닙니다.
단어에서 마스터 시드로: PBKDF2와 패스프레이즈
단어를 키로 바로 사용하지는 않습니다. 단어는 키 스트레칭 함수의 입력값입니다.
PBKDF2는 니모닉을 문자열로 받아 HMAC-SHA512를 2,048회 실행합니다. 솔트는 mnemonic라는 단어 뒤에 선택 사항인 패스프레이즈를 붙인 값이며, 패스프레이즈는 25번째 단어라고도 합니다. 이렇게 생성되는 512비트 값이 마스터 시드입니다. 스트레칭 단계는 공격자가 구문의 대부분을 알고 있더라도 무차별 대입 공격에 큰 비용이 들게 합니다.
패스프레이즈 때문에 문제가 생기는 경우가 많으므로 정확히 알아 두어야 합니다.
- 어디에도 저장되지 않습니다. 하드웨어 지갑이나 앱, 백업에도 저장되지 않습니다. 본인이 기억하거나 별도로 기록해 둔 경우에만 존재합니다.
- 빈 값도 포함해 패스프레이즈가 달라지면 마스터 시드가 완전히 달라지고, 따라서 지갑도 완전히 달라집니다. 같은 단어로 만든 지갑이라도 패스프레이즈가 다르면 암호학적으로 서로 관련이 없습니다.
- 패스프레이즈를 비워 두어도 유효하며, 대부분의 사용자가 이용하는 기본 지갑이 생성됩니다.
보안 모델은 2단계 인증과 같습니다. 누군가 단어만 훔치고 패스프레이즈는 얻지 못하면 기본 지갑으로 들어가며, 이 지갑은 잔액이 적은 미끼용 지갑일 수 있습니다. 하지만 그 대가도 큽니다. 패스프레이즈를 잊어버리면 되돌릴 수 없습니다. 재설정 방법도, 고객 지원을 통한 복구 방법도 없습니다. 이 기능을 언제 사용할 만한지는 25번째 단어에서 자세히 설명합니다. 간단히 말해, 초보자는 먼저 기본적인 시드 구문 관리 방법부터 익히는 것이 좋습니다.
마스터 시드에서 모든 키로: BIP-32와 BIP-44
512비트 마스터 시드를 고정된 키 문자열 Bitcoin seed과 함께 HMAC-SHA512에 입력합니다. 결과는 둘로 나뉩니다. 왼쪽 256비트는 마스터 개인 키가 되고, 오른쪽 256비트는 이후의 모든 파생 단계에서 사용하는 엔트로피인 체인 코드가 됩니다. 이 둘이 BIP-32에서 정의한 계층적 결정론적(HD) 지갑의 루트를 이룹니다.
지갑은 이 루트에서 사실상 무제한으로 이어지는 하위 키 트리를 파생합니다. 각 단계에서는 부모 키, 체인 코드, 인덱스 번호를 또 한 번의 HMAC-SHA512 실행에 넣어 조합합니다. 파생 방식은 두 가지입니다.
- 강화 파생은 부모의 개인 키를 사용합니다. 이렇게 파생한 하위 키는 부모의 확장 공개 키(xpub)를 가진 사람도 계산할 수 없습니다. 따라서 xpub가 유출되어도 개인 키까지 연쇄적으로 노출되지 않습니다.
- 일반 파생은 부모의 공개 키를 사용합니다. 이 방식에서는 감시 전용 지갑과 거래소가 개인 키를 전혀 건드리지 않고 입금 주소를 생성할 수 있습니다.
BIP-44는 코인 전반에 걸쳐 경로 구성을 표준화합니다.
m / 44' / coin_type' / account' / change / address_index
coin_type는 블록체인마다 다릅니다. Bitcoin은 0, Ethereum은 60이며, 등록된 수백 개 코인마다 값이 지정되어 있습니다. 처음 세 단계의 아포스트로피는 강화 파생을 뜻합니다. 따라서 주소 수준의 xpub가 유출되더라도 계정 수준의 키를 보호할 수 있습니다. 이 방식 덕분에 하나의 시드 구문으로 멀티체인 지갑 전체를 백업할 수 있습니다. 각 체인이 같은 루트 아래의 서로 다른 경로에 있으므로, Zelcore는 하나의 구문에서 80개 이상의 체인 계정을 파생합니다. 자세한 내용은 멀티체인 보관의 과제에서 확인할 수 있습니다.
모든 단계가 결정론적으로 처리되므로 같은 시드에서는 항상 같은 키가 생성됩니다. 마스터 개인 키만 알아서는 모든 하위 키를 알아낼 수 없습니다. 각 파생 단계에 체인 코드도 필요하기 때문입니다. 하지만 시드 구문에는 두 정보가 모두 들어 있습니다. 시드 구문을 가진 사람은 모든 것을 가집니다.
잃어버리면 복구할 수 없습니다
블록체인에는 비밀번호 재설정 기능이 없습니다. 키 사본을 보관하는 회사도 없고, 지원 양식을 제출해 잃어버린 자금을 되찾을 수도 없습니다. 블록체인 트랜잭션에 서명할 때는 시드에서 파생된 개인 키를 사용합니다. 시드를 잃어버리면 키도 사라지고, 해당 주소의 자금은 영구적으로 잠깁니다.
연구자들은 2.3~3.7 million BTC에 영구적으로 접근할 수 없다고 추정합니다. 상당량은 Bitcoin 초창기에 시드 구문과 개인 키를 제대로 백업하지 않아 사라졌습니다.
하드웨어 지갑 PIN은 이 상황에서 사용자를 보호하지 않습니다. PIN을 여러 번 잘못 입력하면 하드웨어 지갑이 초기화됩니다. 기기의 데이터가 지워져도 오프라인에 보관한 시드 구문이 있으면 몇 분 안에 새 기기에 복원할 수 있습니다. 시드 구문이 없다면 기기를 직접 가지고 있는 것만으로는 충분하지 않습니다.
모든 제대로 된 지갑 설정 과정에서 코인을 입금하기 전에 시드 구문을 즉시 적어 두고 확인하라고 안내하는 이유입니다.
시드 구문으로 복구되는 항목과 복구되지 않는 항목
“시드 구문이 있으니 괜찮아”라는 말은 표준 계정에는 맞지만, 많은 사람이 복구된다고 생각하는 몇 가지 항목에는 맞지 않습니다.
시드만으로 복구할 수 있는 항목:
- 모든 표준 BIP-44 계정의 온체인 잔액과 거래 내역
- 지원되는 모든 체인에서 파생된 주소
- 해당 주소에서 자금을 사용할 수 있는 권한
시드로 복구할 수 없는 항목:
- 하드웨어 지갑 PIN, 맞춤 계정 이름, 주소록 항목. 이는 기기에만 저장되는 메타데이터입니다.
- Lightning Network 채널 상태. Lightning은 오프체인에서 작동하므로, 열린 채널의 잔액을 복구하려면 시드와 함께 정적 채널 백업(SCB) 파일이 필요합니다.
- 비표준 파생 경로를 사용한 보기 전용 설정
- 포트폴리오 태그, 가격 알림, 맞춤 RPC 엔드포인트와 같은 앱별 데이터. Zelcore에서는 복원 후 연락처와 설정을 다시 만들어야 하지만 잔액에는 영향이 없습니다.
시드가 온전하고 PIN만 잊었다면 하드웨어 지갑을 초기화한 뒤 완전히 복구할 수 있습니다. 시드도 잃어버렸다면 기기는 쓸 수 없게 됩니다.
시드 구문 보관 방법
시드 구문이 무엇인지 이해하면 보관 원칙은 분명해집니다.
해야 할 일:
- 설정 중 시드 구문이 표시되는 즉시 순서대로 종이에 적습니다.
- 지갑에서 안내하는 확인 절차를 마친 다음, 상당한 금액을 입금하기 전에 실제 복원 테스트를 합니다.
- 방화 금고, 은행 안전 금고, 신뢰할 수 있는 외부 장소처럼 물리적으로 분리된 안전한 곳에 사본을 두 개 이상 보관합니다.
- 장기 보유 자산이라면 금속 백업 플레이트에 새겨 둡니다. 강철이나 티타늄은 일반적인 주택 화재의 열과 침수를 견딜 수 있지만 종이는 그렇지 않습니다.
절대 하지 말아야 할 일:
- 사진을 찍지 않습니다. 대부분의 휴대전화에서는 사진이 클라우드 서비스와 자동으로 동기화됩니다.
- 지갑을 의도적으로 복원하는 경우가 아니라면 어떤 앱, 확장 프로그램, 웹사이트에도 입력하지 않습니다. 복원할 때도 소프트웨어의 출처를 확인합니다.
- 이메일로 보내거나 메모 앱, 클라우드 문서, 온라인 비밀번호 관리자에 저장하지 않습니다.
- 누구와도 공유하지 않습니다. 지갑 제공업체, 거래소, 지원 담당자는 절대로 시드 구문을 요구하지 않습니다. 요구하는 사람이 있다면 자금을 훔치려는 것입니다. Zelcore 지원팀은 시드 구문을 요구하지 않습니다.
실제로 마주할 위협에 맞춰 보관 매체를 선택하세요
“어떤 백업이 가장 좋을까?”가 아니라 “무엇으로부터 보호해야 할까?”를 생각해야 합니다. 대부분의 사람에게 현실적인 위협은 특정인을 노리는 공격자가 아닙니다. 주택 화재, 침수, 절도, 백업을 어디에 두었는지 잊어버리는 일이 더 현실적입니다.
- 종이는 저렴하고 읽기 쉽지만 시간이 지나면 훼손되며 화재나 물을 견디지 못합니다.
- 금속은 화재와 물을 모두 견디지만 더 비싸고 제작에 시간이 오래 걸립니다. 잃으면 큰 타격이 될 정도의 자산을 보유하고 있다면 금속이 실용적인 선택입니다.
- 디지털 사본(사진, 클라우드 저장소, 비밀번호 관리자 메모)은 계정 하나만 침해되어도 시드를 완전히 잃을 수 있게 합니다. 시드 자체를 보관하는 방법으로는 권장하지 않습니다.
시드 구문을 나눠 보관하는 것은 위험합니다
단어 절반씩 서로 다른 장소에 보관하는 방법은 널리 쓰이지만 보안을 약화합니다. 12단어 구문의 절반을 알아내면 무차별 대입으로 나머지를 찾을 수 있을 만큼 탐색 범위가 줄어듭니다. 여러 장소에 위험을 분산해야 한다면 온전한 사본을 각각 보관하거나 **샤미르 비밀 공유(Shamir's Secret Sharing, SLIP-39)**를 사용하세요. 이 방식은 비밀을 N개의 공유 조각으로 나누며, 그중 M개만 있으면 비밀을 복원할 수 있고 각 조각의 보안은 약화되지 않습니다. Trezor는 SLIP-39를 지원하지만 다른 지갑의 지원 여부는 모두 동일하지 않습니다.
잘 알려지지 않은 복구 실패 원인
이 문제들은 복구가 가장 중요한 순간에야 드러납니다.
패스프레이즈를 잊은 경우. 단어를 올바르게 입력해도 지갑은 잔액이 없는 주소를 파생합니다. 오류 메시지도 표시되지 않습니다. 자금은 패스프레이즈로 보호되는 지갑에 남아 있지만 접근할 수 없습니다. 패스프레이즈를 설정하고도 기억에만 의존한 사람들에게 가장 흔히 발생하는 복구 불가 사례입니다.
잘못된 파생 경로. BIP-49(래핑된 SegWit) 또는 BIP-84(네이티브 SegWit)를 사용한 지갑을 BIP-44를 기본값으로 사용하는 앱에서 복원하면, 같은 시드라도 다른 주소 목록이 표시됩니다. 잔액이 사라진 것처럼 보입니다. 새 앱의 고급 설정에서 파생 경로를 변경하면 해결되지만, 해당 설정을 찾아야 합니다.
지갑 간 호환성 문제. 모든 지갑이 모든 BIP-39 언어나 코인 유형을 지원하는 것은 아닙니다. 원래 체인의 경로를 지원하지 않는 소프트웨어에서 복원하면 아무것도 표시되지 않습니다. 자금이 사라진 것은 아니며, 해당 체인을 지원하는 소프트웨어를 사용할 때까지 보이지 않을 뿐입니다.
SCB가 없는 Lightning 채널. 시드를 사용하면 온체인 잔액은 복구됩니다. 열린 채널을 협의에 따라 종료하려면 SCB 파일이 필요합니다. 파일이 없으면 채널이 강제 종료될 수 있으며, 오래된 백업을 사용하면 상대방이 페널티 트랜잭션을 청구할 수 있습니다.
카메라로 읽을 수 있는 형태의 저장. 시드의 QR 코드나 클라우드와 동기화되는 사진 갤러리에 저장한 사진은 계정 하나만 침해되어도 시드를 완전히 잃게 만듭니다. 카메라나 화면 캡처를 통해 서버로 전송할 수 있는 형태로 시드를 저장해서는 안 됩니다.
흔히 저지르는 실수
- 디지털 저장. 스크린샷, 메모 앱, 임시 저장 글, 클라우드 문서는 악성코드와 데이터 유출에 노출됩니다. 시드는 오프라인에 보관합니다.
- 사회공학 공격. 계정을 “확인”하거나 “복원”하겠다며 구문을 요구하는 “지원 담당자”는 항상 사기입니다. 공격 표면에서 여러 수법을 확인할 수 있습니다.
- 사본 하나만 보관. 한 장소에 종이 사본 하나만 두면 화재, 침수, 절도 한 번으로 영구히 잃을 수 있습니다.
- 복원 테스트 생략. 지금 5분을 들이지 않으면 나중에 모든 것을 잃을 수 있습니다.
- 시드 구문과 개인 키 혼동. 개인 키는 주소 하나를 제어합니다. 시드는 모든 주소를 파생합니다. 키 하나를 잃어도 타격이 크지만, 시드를 잃으면 전부 잃습니다.
다음에 할 일
- 오늘 백업을 확인하세요. 시드 구문을 찾아 모든 단어를 읽을 수 있는지 확인합니다.
- 지갑에서 비표준 경로를 사용한다면 파생 경로를 기록하세요. 기본 BIP-44는 별도로 기록하지 않아도 됩니다.
- 패스프레이즈를 따로 보관하고 테스트하세요. 사용한다면 패스프레이즈를 포함해 전체 복원을 한 번 이상 진행합니다.
- Lightning을 사용한다면 정적 채널 백업을 보관하세요. 시드와 다른 장소에 두고 채널을 열거나 닫을 때마다 업데이트합니다.
- 보유 자산에 맞는 보관 매체를 선택하세요. 위험이 낮고 금액이 적다면 종이를, 보유 자산이 상당하다면 금속을 사용합니다.
- 자산 보관 계획을 세우세요. 개인 자산 보관 계획을 활용하면 이 원칙을 실제로 따를 수 있는 기준으로 구체화할 수 있습니다. 지갑 백업 및 복구 안내에서는 Zelcore에서 진행하는 단계를 자세히 설명합니다.
핵심 내용
- 시드 구문은 지갑의 모든 키를 생성하는 마스터 엔트로피를 사람이 읽을 수 있는 형태로 인코딩한 것으로, BIP-39, BIP-32, BIP-44 표준을 따릅니다.
- 12개 단어는 128비트 엔트로피에 해당하고, 24개 단어는 256비트 엔트로피에 해당합니다. 둘 다 추측하는 것은 사실상 불가능합니다.
- 시드 구문을 잃어버리면 영구적이고 되돌릴 수 없는 손실로 이어집니다. 패스프레이즈를 잊어버려도 마찬가지입니다.
- 시드 구문으로 잔액과 주소를 복구할 수 있습니다. PIN, 라벨, Lightning 채널 또는 표준 경로가 아닌 경로는 복구되지 않습니다.
- 오프라인 사본을 최소 두 개 만들어 안전한 별도 장소에 보관하고, 상당한 자산을 보유했다면 금속 보관 매체를 사용하세요. 단어를 나눠 보관하지 말고, 카메라나 인터넷에 노출될 수 있는 곳에는 절대 두지 마세요.



