•  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
목차
1. 개요
1.1. 블록체인에서 소유권이란1.2. 니모닉이란1.3. 개인키와 니모닉의 차이1.4. 용어 정리
2. BIP-39 표준
2.1. 배경 및 목적2.2. Wordlist2.3. 니모닉 생성 과정
2.3.1. 엔트로피(Entropy) 생성2.3.2. 체크섬(Checksum) 추가2.3.3. 비트 결합 및 11비트 분할2.3.4. Wordlist 매핑
3. 니모닉과 HD Wallet
3.1. 니모닉에서 지갑 주소까지
4. 패스프레이즈 (Passphrase)
4.1. 개념4.2. 동일한 니모닉, 다른 지갑4.3. 보안 효과
5. MetaMask 실습6. 니모닉 관리 방법
6.1. 금지 행위6.2. 니모닉 관리 방법 비교
6.2.1. 종이 백업6.2.2. 금속 백업6.2.3. 하드웨어 지갑6.2.4. 암호화된 디지털 보관6.2.5. 나누어서 보관
6.3. 방법별 비교 요약6.4. 패스프레이즈 관리
7. 외부 링크

1. 개요 [편집]

1.1. 블록체인에서 소유권이란 [편집]


블록체인에서 디지털 자산의 소유권은 서버나 기관이 아닌 개인키(Private Key)로 증명된다. 은행 계좌와 달리 내 계정임을 증명할 중앙 기관이 없으며, 개인키를 가진 사람이 곧 그 자산의 주인이라고 할 수 있다.

개인키 또는 니모닉이 탈취되지 않는 한 해당 지갑의 디지털 자산은 온전히 본인의 것이다. 반대로 탈취당하는 순간 그 자산에 대한 통제권을 영구적으로 잃으며, 비밀번호 초기화나 고객센터 문의로 되찾을 방법이 없다. 개인키를 직접 보유하지 않으면 그 자산은 진정한 의미에서 본인의 것이 아니라는 의미에서, 블록체인 업계에서는 "Not your keys, not your coins"라는 표현이 널리 쓰인다.

1.2. 니모닉이란 [편집]


니모닉(Mnemonic)은 사람이 읽기 쉬운 단어 조합으로 표현된 암호화폐 지갑의 백업 및 복구용 시드 문구다. BIP-39(Bitcoin Improvement Proposal 39)에서 처음 표준으로 제안되었으며, 현재 이더리움, 솔라나 등 대부분의 블록체인 지갑이 이 표준을 따른다.

시드 문구(Seed Phrase), 복구 문구(Recovery Phrase)라고도 불리며, 일반적으로 12개 또는 24개의 단어로 구성된다.

1.3. 개인키와 니모닉의 차이 [편집]


블록체인 지갑의 실체는 256비트의 무작위 숫자, 즉 개인키다. 16진수로 표현하면 아래와 같다.


3a1076bf45ab87712ad64ccb3b10217737f7faacbf2872e88fdd9a537d8fe266


이 64자리 문자열을 사람이 직접 기억하거나 실수 없이 종이에 옮겨 적기는 현실적으로 매우 어렵다. 한 글자라도 틀리면 지갑에 접근할 수 없다. 니모닉은 동일한 정보를 사람이 읽을 수 있는 단어 목록으로 표현한 것이다.
형태
개인키 원문
3a1076bf45ab87712ad64ccb3b10217737f7faacbf2872e88fdd9a537d8fe266
니모닉 (12단어)
witch collapse practice feed shame open despair creek road again ice least

두 표현은 수학적으로 동일한 정보를 담고 있다. 단, 니모닉과 개인키는 엄밀히 다른 개념이다. 개인키는 특정 계정 하나에 대한 접근 권한이고, 니모닉은 지갑에 속한 모든 계정의 개인키를 파생할 수 있는 상위 개념이다. 따라서 니모닉 하나로 지갑에 속한 모든 계정과 자산을 복구할 수 있으며, 기기를 바꾸거나 앱을 삭제해도 이 단어들만 있으면 어디서든 지갑을 되살릴 수 있다.

1.4. 용어 정리 [편집]


니모닉, 시드 문구, 복구 문구는 모두 같은 것을 가리키는 다른 이름이다.
MetaMask는 "Secret Recovery Phrase", Ledger는 "Recovery Phrase"라는 표현을 쓰지만 모두 동일한 BIP-39 표준을 따른다.

니모닉을 요구하는 dApp이나 웹사이트는 피싱이다. 정상적인 서비스는 절대 니모닉을 요구하지 않는다.

2. BIP-39 표준 [편집]

2.1. 배경 및 목적 [편집]


BIP-39는 2013년 Trezor 팀이 제안한 비트코인 개선 제안(Bitcoin Improvement Proposal, BIP)으로, 지갑의 시드(Seed)를 사람이 읽고 기록하기 쉬운 단어 목록으로 표현하는 표준이다. BIP-39 이전에는 지갑마다 백업 방식이 제각각이었으나, 이후 대부분의 지갑이 동일한 방식으로 니모닉을 생성하고 복구할 수 있게 되었다.[1]

2.2. Wordlist [편집]


BIP-39는 언어별로 2048개의 단어 목록(Wordlist)을 정의한다. 니모닉의 각 단어는 이 목록에서 선택되며, 각 단어는 11비트의 정보에 대응한다 (2¹¹ = 2048). 언어가 달라도 니모닉이 담고 있는 수학적 정보(엔트로피)는 동일하나, 대부분의 지갑은 영어 Wordlist를 기본으로 사용하므로 복구 호환성을 위해 영어 니모닉을 권장한다.

* 영어 (English, 기본 표준 · 가장 널리 사용)
* 한국어 (Korean)
* 일본어 (Japanese)
* 중국어 간체 (Chinese Simplified)
* 중국어 번체 (Chinese Traditional)
* 스페인어 (Spanish)
* 프랑스어 (French)
* 이탈리아어 (Italian)
* 체코어 (Czech)
* 포르투갈어 (Portuguese)

2.3. 니모닉 생성 과정 [편집]

2.3.1. 엔트로피(Entropy) 생성 [편집]


128~256비트 크기의 무작위 데이터(엔트로피)를 생성한다. 비트 크기가 클수록 가능한 조합의 수가 기하급수적으로 늘어나 보안이 강해진다.


엔트로피 예시 (128비트):
1010 1100 0011 1111 ... (총 128비트의 랜덤 데이터)

2.3.2. 체크섬(Checksum) 추가 [편집]


엔트로피의 SHA-256 해시값 중 첫 ENT / 32 비트를 체크섬으로 엔트로피 뒤에 붙인다. 128비트 엔트로피라면 체크섬은 4비트(128 / 32 = 4)다.

체크섬은 니모닉 입력 오류를 검증하는 역할을 한다. 단어 하나라도 잘못 입력하면 체크섬 검증에 실패한다. ([128비트 엔트로피] + [4비트 체크섬] = 132비트)

2.3.3. 비트 결합 및 11비트 분할 [편집]


엔트로피와 체크섬을 이어붙인 뒤 전체 비트열을 11비트 단위로 나눈다. (132비트 ÷ 11비트 = 12개 그룹 → 12단어 니모닉)
엔트로피 (비트)
체크섬 (비트)
합계 (비트)
단어 수
128
4
132
12
160
5
165
15
192
6
198
18
224
7
231
21
256
8
264
24

2.3.4. Wordlist 매핑 [편집]


각 11비트 값을 0~2047 사이의 인덱스로 해석하여 Wordlist에서 해당 인덱스의 단어를 가져온다. 이 단어들을 순서대로 나열한 것이 최종 니모닉이다.


00000000001 → 인덱스 1 → "abandon"
00000000010 → 인덱스 2 → "ability"
10000000000 → 인덱스 1024 → "nature"
...

3. 니모닉과 HD Wallet [편집]


니모닉 하나로 지갑의 모든 계정을 복구할 수 있는 것은 HD Wallet(Hierarchical Deterministic Wallet, 계층적 결정론적 지갑) 구조 덕분이다. HD Wallet은 하나의 시드(Seed)로부터 계층적으로 무한히 많은 키를 파생할 수 있는 지갑 방식으로, BIP-32에서 처음 정의되었다.

"결정론적(Deterministic)"은 동일한 시드와 경로를 입력하면 언제나 동일한 키가 출력된다는 의미다. 니모닉 → 시드 변환 역시 결정론적으로 이루어지기 때문에, 니모닉만 있으면 언제 어디서든 동일한 지갑을 완전히 재현할 수 있다.

3.1. 니모닉에서 지갑 주소까지 [편집]



니모닉
↓ PBKDF2-HMAC-SHA512 (2048회 반복)
시드 (512비트)
↓ HMAC-SHA512, BIP-32
마스터 키
↓ BIP-44 파생 경로
계정별 개인키 → 공개키 → 지갑 주소


니모닉과 선택적 패스프레이즈를 입력으로 PBKDF2-HMAC-SHA512 함수를 2048회 반복 적용하여 512비트 시드를 생성한다. 2048회 반복은 무차별 대입(Brute‑Force) 공격에 대한 연산 비용을 높이기 위한 설계다. 이후 시드로부터 BIP-32에 따라 마스터 키가 만들어지고, BIP-44 파생 경로를 따라 계정별 개인키와 주소가 파생된다.[2][3]

4. 패스프레이즈 (Passphrase) [편집]

4.1. 개념 [편집]


패스프레이즈는 니모닉에 추가하는 선택적 비밀번호다. BIP-39 표준에 정의되어 있으며, 니모닉 12~24개 단어 외에 사용자가 직접 지정하는 임의의 문자열로, "25번째 단어"라고도 불린다.

PBKDF2 과정에서 패스프레이즈는 솔트(salt) 값의 일부로 사용된다.


PBKDF2(
password = 니모닉,
salt = "mnemonic" + passphrase, ← 여기에 사용됨
...
)


패스프레이즈가 달라지면 PBKDF2의 출력값(시드)이 완전히 달라지고, 그 결과 전혀 다른 마스터 키와 지갑 주소가 생성된다.

4.2. 동일한 니모닉, 다른 지갑 [편집]


같은 니모닉이라도 패스프레이즈에 따라 완전히 다른 지갑이 만들어진다.
세 지갑은 서로 완전히 독립적이며, 지갑 A의 자산은 지갑 B나 C에서 보이지 않는다.


니모닉: "witch collapse practice feed shame open ..."

+ 패스프레이즈 없음 → 지갑 A (주소: 0xAAA...)
+ 패스프레이즈 "abc" → 지갑 B (주소: 0xBBB...)
+ 패스프레이즈 "xyz" → 지갑 C (주소: 0xCCC...)


4.3. 보안 효과 [편집]


BIP-39 원문은 패스프레이즈의 설계 의도를 "그럴듯한 부인 가능성(plausible deniability)"으로 설명한다. 모든 패스프레이즈가 유효한 지갑을 생성하지만, 올바른 패스프레이즈를 가진 지갑만이 실제 자산에 접근할 수 있다. 니모닉이 유출되더라도 패스프레이즈를 모르는 공격자는 실제 자산이 있는 지갑에 접근할 수 없다.

5. MetaMask 실습 [편집]


MetaMask에서 니모닉으로 지갑을 복구하면, 초기화 전과 동일한 계정 주소와 개인키가 재생성된다. 이는 섹션 3에서 설명한 니모닉의 결정론적 특성을 직접 확인할 수 있는 방법이다. 니모닉과 BIP-44 파생 경로가 동일하다면 기기나 앱이 달라도 언제나 동일한 키가 만들어진다.[4]

6. 니모닉 관리 방법 [편집]


니모닉은 지갑의 모든 자산에 대한 접근 권한과 동일하다. 잘못 관리하면 분실 또는 탈취로 이어질 수 있다.

6.1. 금지 행위 [편집]

금지 행위
이유
클라우드(Google Drive, iCloud, Dropbox 등)에 저장
계정 해킹 시 니모닉 즉시 노출
메모 앱, 카카오톡, 이메일 등에 저장
앱 서버 해킹, 키로거(Keylogger) 및 멀웨어에 의한 노출 위험
스크린샷 촬영
사진 앱이 클라우드에 자동 동기화됨
온라인 니모닉 검증 사이트에 입력
입력 즉시 서버로 전송될 수 있음
다른 사람에게 구두로 알림
사회공학적 공격(Social Engineering)에 취약
니모닉을 요구하는 dApp에 입력
정상적인 서비스는 절대 니모닉을 요구하지 않음

6.2. 니모닉 관리 방법 비교 [편집]

6.2.1. 종이 백업 [편집]


니모닉을 종이에 직접 손으로 적어 보관하는 방법은 가장 단순하고 오프라인 보관이라 해킹 위험이 없지만, 화재·침수·분실에 취약하므로 두 곳 이상의 서로 다른 물리적 장소에 나누어 보관하고 방수 봉투나 지퍼백에 넣어 습기를 차단하는 것이 좋다.

6.2.2. 금속 백업 [편집]


니모닉을 스테인리스 또는 티타늄 재질의 금속판에 새기거나 각인하는 방법이다. 화재(약 1500°C 이상에서 녹음)와 침수에 강하며 장기 보관에 유리하다. 종이 백업의 물리적 취약점을 보완한다.

Cryptosteel 등의 제품이 대표적이다.

6.2.3. 하드웨어 지갑 [편집]


Ledger, Trezor 같은 전용 기기에 니모닉을 저장하는 방법이다. 개인키가 기기 외부로 노출되지 않으며, 트랜잭션 서명도 기기 내부에서 처리된다. 컴퓨터가 악성코드에 감염되어도 니모닉이 탈취되지 않는다.

기기 자체를 분실하거나 고장날 수 있으므로, 니모닉 백업(종이 또는 금속)은 반드시 별도로 보관해야 한다. 하드웨어 지갑을 분실해도 니모닉이 있으면 새 기기에서 복구할 수 있다.

6.2.4. 암호화된 디지털 보관 [편집]


니모닉을 암호화한 뒤 디지털 매체에 저장하는 방법이다. 암호화된 USB/외장 하드에 저장하거나, 강력한 비밀번호로 암호화한 파일을 클라우드에 저장하는 방식이 대표적이다.

단, 디바이스 손상이나 분실 시 복구가 불가능할 수 있으므로 반드시 이중 백업이 필요하다. 클라우드 저장 시에는 계정 해킹에 대비해 강력한 비밀번호와 이중 인증(2FA)을 함께 사용해야 한다.

6.2.5. 나누어서 보관 [편집]


니모닉을 여러 조각으로 분할하여 각각 다른 장소에 보관하는 방법이다. 일부 조각이 유출되더라도 전체 니모닉이 노출되지 않는다는 장점이 있다.

단, 설정이 복잡하고 일부 조각을 분실하면 복구가 불가능해질 수 있어 신중하게 적용해야 한다.

6.3. 방법별 비교 요약 [편집]

방법
해킹 위험
물리적 위험
편의성
종이 백업
없음
높음 (화재, 침수)
높음
금속 백업
없음
낮음
중간
암호화된 디지털 보관
중간 (계정 해킹)
낮음
중간
나누어서 보관
낮음
중간 (조각 분실)
낮음
하드웨어 지갑
매우 낮음
중간 (기기 분실)
중간

6.4. 패스프레이즈 관리 [편집]


패스프레이즈는 어디에도 저장되지 않으며 지갑 앱도 기억하지 않는다. 패스프레이즈를 잊어버리면 니모닉이 있어도 해당 지갑을 복구할 수 없다.

* 패스프레이즈는 니모닉과 반드시 별도의 장소에 보관한다. 같은 장소에 함께 보관하면 보안 효과가 사라진다.
* 패스프레이즈 없이 접근 가능한 지갑(빈 패스프레이즈)에는 소액만 보관하고, 패스프레이즈로 보호된 지갑에 주요 자산을 보관하는 방식으로 활용할 수 있다.

7. 외부 링크 [편집]

[1] BIP-39, "Mnemonic code for generating deterministic keys", 2013. https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki[2] BIP-32, "Hierarchical Deterministic Wallets", 2012. https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki[3] BIP-44, "Multi-Account Hierarchy for Deterministic Wallets", 2014. https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki[4] MetaMask, "How to restore your wallet using your Secret Recovery Phrase". https://support.metamask.io/configure/wallet/how-to-restore-your-metamask-wallet-from-secret-recovery-phrase/