BIP39는 비트코인 및 암호화폐 지갑에서 사용하는 시드 문구(Seed Phrase)를 생성하는 표준으로, 사용자가 기억하기 쉬운 12~24개의 단어로 비밀키를 표현할 수 있도록 설계되었습니다.
1. 시드 문구 생성 과정
- 128~256비트의 무작위 엔트로피(Entropy)를 생성
- SHA-256 해시를 계산해 일부를 체크섬으로 사용
- 엔트로피 + 체크섬을 11비트 단위로 분할
- 각 11비트 조각을 2048개의 단어 목록에서 선택하여 시드 문구 생성
예: 128비트 엔트로피 → 11비트 12개 → 12단어 시드 문구
2. 2048단어 워드리스트
BIP39는 2048개의 고정 단어 리스트를 사용하여 시드 문구를 만듭니다. 이 단어 리스트는 언어별로 다르며, 같은 단어 리스트를 사용하는 지갑 간에는 상호 호환이 가능합니다.
3. 시드에서 키 파생
BIP39 시드 문구는 다음 절차로 실제 키로 변환됩니다:
- PBKDF2 알고리즘을 통해 시드를 HMAC-SHA512로 변환 (2048회 반복)
- 512비트 이진 시드를 생성
- BIP32 혹은 BIP44를 사용하여 프라이빗 키 및 공개 키 파생
4. 패스프레이즈 (Passphrase)
사용자는 시드 문구 외에 선택적으로 ‘패스프레이즈’를 추가해 보안을 강화할 수 있습니다.
- 예: “12단어 시드 + 개인 패스워드” = 지갑 고유 시드
- 패스프레이즈는 없으면 기본값(“”)으로 처리
- 분실 시 복구 불가하므로 주의 필요
5. 보안 수준
시드 문구는 아래와 같은 보안성을 가집니다:
- 12단어: 약 128비트 보안
- 24단어: 약 256비트 보안
이는 실질적으로 무차별 대입 공격으로 해킹이 불가능한 수준입니다.
6. 호환성과 복구성
BIP39는 대부분의 하드월렛 및 소프트웨어 지갑에서 채택되고 있어 다음과 같은 장점이 있습니다:
- 시드만 알고 있다면 다른 지갑에서도 복구 가능
- 다양한 하드월렛(Ledger, Trezor, Coldcard 등)과 호환
결론
BIP39는 암호화폐 지갑에서 사용되는 시드 문구 생성과 관리에 대한 국제 표준입니다.
2048개의 단어 리스트를 기반으로 기억하기 쉬우면서도 강력한 보안성을 제공하며, 다양한 지갑 간 호환성과 이식성을 보장합니다. 패스프레이즈 기능까지 더하면 이중 보안이 가능하므로 자산 보호에 매우 중요한 역할을 합니다.