시드 구문 (Seed Phrase)
시드 구문(Seed Phrase)은 결정적 지갑의 모든 키를 도출하는 시작점(시드)을 사람이 받아 적을 수 있도록 단어 조합으로 나타낸 것입니다. 니모닉 문구(Mnemonic Phrase), 복구 구문이라고도 하며, 소유자가 지갑을 빠르게 백업하거나 복원할 수 있도록 보통 12개 또는 24개의 단어(BIP-39 표준상 12~24개)로 제공됩니다. 무작위 문자로 된 긴 문자열보다 사람이 받아 적고 옮기기 쉬워 지갑을 백업하고 복원하기가 훨씬 편합니다.
시드 구문은 어떻게 만들어지나요?
오늘날 대부분의 지갑은 BIP-39 표준을 따릅니다. 단어는 사람이 고르는 것이 아니라 무작위 값에서 기계적으로 얻어집니다.
- 지갑이 128~256비트의 무작위 값(엔트로피)을 생성합니다.
- 이 값의 SHA-256 해시 앞부분 몇 비트를 체크섬으로 덧붙입니다. 덕분에 단어를 잘못 적거나 순서를 바꾸면 지갑이 대부분의 경우 오류를 알아챌 수 있습니다. 다만 체크섬이 몇 비트에 불과하므로 모든 오류를 잡아내지는 못합니다.
- 전체 비트를 11비트씩 나누고, 각 11비트 값을 2048개 단어로 된 표준 단어 목록의 번호로 삼아 단어로 바꿉니다. 128비트 엔트로피는 12단어, 256비트는 24단어가 되며, 체크섬은 마지막 단어에 들어갑니다.
- 단어 조합(그리고 사용자가 선택적으로 정하는 추가 암호문)을 키 도출 함수 PBKDF2-HMAC-SHA512(2,048회 반복)에 넣어 512비트 시드를 만들고, 이 시드에서 결정적 지갑(BIP-32)의 마스터 키와 모든 하위 키를 도출합니다. 추가 암호문(패스프레이즈, 흔히 “25번째 단어”)을 더하면 같은 단어로도 전혀 다른 지갑이 만들어집니다.
같은 단어 조합을 입력하면 언제나 같은 키가 다시 만들어지므로, 시드 구문 하나로 지갑의 모든 주소와 자금을 복원할 수 있습니다. 시드 구문은 암호화폐 금고의 마스터 키와 같습니다. 개인 키 그 자체가 아니라 키를 만들어 내는 “뿌리”이므로, 개인 키 하나가 유출되면 그 주소만 위험하지만 시드 구문이 유출되면 그 지갑의 모든 주소가 위험해집니다.
BIP-39에는 영어 외에 한국어 단어 목록도 있지만, 지갑 간 호환성 때문에 영어 목록이 가장 널리 쓰입니다.
백업과 복원
- 백업: 시드 구문을 올바른 순서대로 적어 안전한 장소에 보관합니다. 이렇게 하면 기기를 잃어버리거나 고장 나도 지갑을 복구할 수 있습니다.
- 복원: 호환되는 지갑 소프트웨어에 시드 구문을 다시 입력하면 같은 키와 주소가 재생성되어 블록체인에 기록된 잔액이 그대로 보입니다. 원래 기기는 없어도 됩니다. 지갑마다 파생 경로(derivation path)가 다를 수 있어, 복원 후 잔액이 보이지 않으면 경로 설정을 확인해야 합니다.
지갑과 거래소
메타마스크, 트러스트 월렛, 렛저·트레저 같은 하드웨어 지갑 등 대부분의 개인 지갑이 시드 구문을 백업 수단으로 씁니다. 하나의 시드 구문으로 비트코인, 이더리움, 트론 주소를 모두 만들 수 있습니다. 반면 업비트·빗썸 같은 거래소 계정에는 시드 구문이 없습니다. 키를 거래소가 수탁하기 때문입니다. 국내 거래소는 「가상자산 이용자 보호법」에 따라 이용자 자산의 80% 이상을 콜드월렛(오프라인)에 보관해야 합니다.
장점
- 간편한 백업 및 복구: 복잡한 데이터를 백업할 필요 없이 단어를 올바른 순서로 적어 두기만 하면 됩니다.
- 사람이 읽을 수 있음: 긴 16진수 문자열보다 옮겨 적기 쉽고, 체크섬 덕분에 대부분의 오기를 발견할 수 있습니다.
- 자기 보관: 거래소나 제3자가 아닌 본인이 키를 직접 관리합니다.
단점
- 단일 실패 지점: 시드 구문을 잃어버리고 기기도 사용할 수 없게 되면 자금에 영구히 접근할 수 없습니다. 비밀번호 재설정 같은 기능은 없습니다.
- 도난에 취약: 다른 사람이 시드 구문을 손에 넣으면 암호화폐를 모두 가져갈 수 있습니다.
보안 수칙
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.