비트코인보안

비트코인 시드 구문(Seed Phrase) 완전 해설

BIP-39 엔트로피, HD 지갑 파생(BIP-32/44/84), 패스프레이즈 보호, 금속 백업까지 — 비트코인 시드 구문의 모든 것을 기술적으로 해설합니다.

· 10분

2018년, 캐나다 암호화폐 거래소 QuadrigaCX의 창립자 제럴드 코튼이 인도 여행 중 갑작스럽게 사망했다. 그는 약 1억 9천만 달러에 달하는 고객 자산을 통제하는 비밀번호와 시드 구문을 유일하게 알고 있던 사람으로 알려졌다. 해당 자금은 결코 회수되지 못했다. QuadrigaCX 사건의 진실이 무엇이든 — 여러 가지 음모론이 존재한다 — 이 사건은 비트코인의 근본적인 현실을 보여준다: 시드 구문은 단순한 비밀번호가 아니다. 그것은 소유권 그 자체다. 잃어버리면 비트코인은 사실상 존재하지 않는 것이 되고, 노출하면 다른 누군가가 당신의 부를 소유하게 된다.

이 글에서는 시드 구문이 정확히 무엇인지, 암호학적 수준에서 어떻게 작동하는지, 왜 이런 방식으로 설계되었는지, 그리고 화재·홍수·도난·세월을 견딜 수 있도록 어떻게 보관해야 하는지를 설명한다.

시드 구문이란?

시드 구문(Seed Phrase) — 니모닉 구문, 복구 구문, 백업 구문이라고도 불린다 — 은 12개 또는 24개의 영어 단어로 구성된 순서가 있는 목록으로, 모든 비트코인 개인 키를 파생시키는 마스터 시크릿을 인코딩한다. 지갑이 지금까지 생성한 모든 주소와 앞으로 생성할 모든 주소는 이 단일 단어 시퀀스에 의해 수학적으로 결정된다.

단어들은 BIP-39(비트코인 개선 제안 39)에 정의된 2,048개의 표준 영어 단어 목록에서 나온다. 이 표준은 2013년 마렉 팔라티누스와 파볼 루스낙이 발표했다. 단어 목록은 처음 네 글자가 같은 단어가 없도록 신중하게 선별되어 필기 오류 가능성을 줄였다. 예를 들어, “abandon”은 목록에 있지만 “abandoned”는 없고, “able”은 있지만 “ability”는 없다.

12개 단어 시드 구문의 예시 (절대 사용하지 마시오 — 공개적으로 알려진 구문이다):

abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

이 특정 구문은 잘 알려진 테스트 벡터에 해당한다. 이 구문에서 파생된 주소로 비트코인을 보내면, 블록체인을 스캔하는 자동화된 봇에 의해 몇 초 안에 도난당한다.

단어 뒤의 엔트로피

시드 구문의 보안은 엔트로피(무작위성)라는 수학적 개념에 기반한다 — 컴퓨터로 추측하는 것이 계산적으로 불가능한 수준의 무작위성이다.

12단어 구문: 128비트 엔트로피

12단어 시드 구문은 128비트의 엔트로피를 인코딩한다. 작동 원리는 다음과 같다:

  1. 지갑의 난수 생성기가 128개의 무작위 비트(16바이트)를 생성한다.
  2. 이 128비트의 SHA-256 해시가 계산되고, 해시의 첫 4비트가 체크섬으로 추가되어 132비트 시퀀스가 만들어진다.
  3. 이 132비트 시퀀스가 각 11비트씩 12개 그룹으로 나뉜다.
  4. 각 11비트 그룹은 BIP-39 단어 목록의 한 단어에 매핑된다(2^11 = 2,048개 단어).

결과: 128비트의 진정한 무작위성과 4비트 체크섬을 인코딩하는 12개 단어.

2^128은 얼마나 큰 수인가? 약 3.4 × 10^38 — 340간(澗)개의 가능한 조합이다. 이것을 구체적으로 이해하면:

  • 관측 가능한 우주의 원자 수는 대략 10^80개로 추정된다. 2^128은 그 수의 제곱근에 해당하는 상당한 비율이다.
  • 지구상 모든 인류(80억 명)가 각각 10억 대의 컴퓨터를 운영하고, 각 컴퓨터가 초당 10억 개의 시드 구문을 검사할 수 있다 해도, 모든 가능성을 열거하는 데 약 1.35 × 10^12년 — 1조 년 이상이 소요된다. 우주의 나이는 약 138억 년에 불과하다.

24단어 구문: 256비트 엔트로피

24단어 시드 구문은 256비트의 엔트로피를 인코딩한다. 동일한 과정을 따르지만 256개의 무작위 비트와 8비트 체크섬(총 264비트, 24개의 11비트 그룹으로 분할)으로 시작한다. 가능한 조합의 수는 2^256 ≈ 1.16 × 10^77 — 열역학적 계산 한계(란다우어 원리)로 작동하는 가상의 컴퓨터로도 무차별 대입이 물리적으로 불가능한 수이다.

대부분의 사용자에게 128비트 보안(12단어)은 충분하고도 남는다. 256비트 옵션은 주로 이론적 양자 컴퓨팅 위협(그로버 알고리즘이 유효 비트 보안을 절반으로 줄여 256비트를 128비트로 만들지만 — 여전히 깨뜨릴 수 없는 수준)을 포함한 미래 컴퓨팅 발전에 대비하기 위해 존재한다.

시드 구문에서 개인 키까지: HD 지갑 파생

시드 구문이 단 하나의 개인 키만 생성할 수 있다면 그 유용성은 크게 제한될 것이다. 진정한 힘은 BIP-32에 정의된 계층적 결정론적(HD) 지갑 파생에 있다. 단일 시드에서 무제한의 키 쌍 트리를 생성할 수 있다.

1단계: 시드 구문 → 시드 (BIP-39)

니모닉 단어들이 선택적 패스프레이즈와 함께 PBKDF2-HMAC-SHA512 키 스트레칭 함수에 입력된다. 이 함수는 2,048번의 해싱 라운드를 실행하여 512비트 시드를 생성한다. 키 스트레칭은 의도적인 설계다 — 니모닉에 대한 무차별 대입 공격을 계산적으로 더 비용이 많이 들게 만든다.

2단계: 시드 → 마스터 키 (BIP-32)

512비트 시드가 “Bitcoin seed”라는 키와 함께 HMAC-SHA512를 통해 처리되어 다음을 생성한다:

  • 256비트: 마스터 개인 키
  • 256비트: 마스터 체인 코드

체인 코드는 핵심 구성 요소다. 각 파생 레벨에서 추가적인 256비트의 엔트로피를 더하여, 자식 키를 알아도 형제 키를 알 수 없도록 보장한다.

3단계: 파생 경로 (BIP-44 및 BIP-84)

HD 지갑은 파생 경로를 사용하여 키를 계층적 구조로 조직한다. 경로 형식은 다음과 같다:

m / purpose' / coin_type' / account' / change / address_index

BIP-44 (레거시 주소, 1로 시작):

m/44'/0'/0'/0/0  → 첫 번째 수신 주소
m/44'/0'/0'/0/1  → 두 번째 수신 주소
m/44'/0'/0'/1/0  → 첫 번째 잔돈 주소

BIP-84 (네이티브 세그윗 주소, bc1q로 시작):

m/84'/0'/0'/0/0  → 첫 번째 수신 주소
m/84'/0'/0'/0/1  → 두 번째 수신 주소

BIP-86 (탭루트 주소, bc1p로 시작):

m/86'/0'/0'/0/0  → 첫 번째 수신 주소

아포스트로피(‘)는 **강화 파생(hardened derivation)**을 나타내며, 파생 과정에서 개인 키를 사용하여 부모 공개 키로 자식 키를 파생하는 것을 방지한다. 이것은 중요한 보안 기능이다 — 강화 파생이 없다면, 공격자가 단일 자식 개인 키와 부모 공개 키를 획득하면 부모 개인 키와 모든 형제 키를 계산할 수 있다.

이것이 왜 중요한가

파생이 결정론적이기 때문에, 지갑은 수천 개의 개인 키를 저장할 필요가 없다. 오직 시드 구문(또는 그로부터 파생된 512비트 시드)만 저장하면 된다. 지갑 소프트웨어를 열 때마다 시드에서 모든 키를 재파생한다. 이것이 12개 또는 24개 단어만으로 완전히 새로운 기기에서 지갑을 복원할 수 있는 이유다.

패스프레이즈: 선택적 25번째 단어

BIP-39에는 자주 활용되지 않는 보안 기능이 포함되어 있다: 패스프레이즈(때때로 “25번째 단어”라 불리지만, BIP-39 목록의 단어뿐만 아니라 어떤 문자열이든 가능하다).

패스프레이즈를 추가하면, PBKDF2 키 스트레칭 함수에서 “솔트”로 포함된다:

PBKDF2(mnemonic, "mnemonic" + passphrase, 2048, 512)

핵심 포인트: 다른 패스프레이즈는 완전히 다른 지갑을 생성한다. 동일한 12단어에 패스프레이즈 “alpha”를 사용하면, 패스프레이즈 “bravo”를 사용하거나 패스프레이즈 없이 사용하는 것과 완전히 다른 키가 생성된다. “잘못된” 패스프레이즈는 존재하지 않는다 — 모든 패스프레이즈는 유효한(그러나 다른) 지갑을 연다.

패스프레이즈의 장점

  1. 그럴듯한 부인 가능성(Plausible Deniability): 패스프레이즈 없이 소액의 비트코인이 들어있는 미끼 지갑을 설정하고, 실제 보유량은 패스프레이즈 뒤에 보관할 수 있다. 위협을 받으면 시드 구문을 내어준다. 공격자는 적당한 잔액의 지갑을 보게 되고, 패스프레이즈로 보호된 지갑이 존재하는지 여부를 판단할 방법이 없다.

  2. 물리적 도난 방지: 누군가 금속 시드 백업을 훔치더라도, 패스프레이즈 없이는 자금에 접근할 수 없다. 시드 구문만으로는 미끼 지갑만 열린다.

  3. 이중 인증 백업: 시드 구문(소유하고 있는 것, 금속에 저장)과 패스프레이즈(알고 있는 것, 기억 또는 별도 장소에 저장)가 백업에 대한 이중 인증 시스템을 만든다.

패스프레이즈의 위험

패스프레이즈는 양날의 검이다:

  • 패스프레이즈를 잊어버리면 비트코인은 영원히 사라진다. 재설정 메커니즘이 존재하지 않는다.
  • 약한 패스프레이즈(“password123” 등)는 공격자가 시드 구문을 확보한 경우 무차별 대입으로 깨질 수 있다. 강력하고 고유한 패스프레이즈를 사용하라 — 이상적으로 6개 이상의 무작위 단어 또는 20자 이상의 무작위 문자.
  • 패스프레이즈는 시드 구문과 별도로 백업해야 한다. 둘을 함께 보관하면 보안 이점이 무효화된다.

안전한 보관 방법

시드 구문은 두 가지 위협으로부터 보호해야 한다: 분실(화재, 홍수, 하드웨어 고장, 망각)과 도난(물리적 침입, 디지털 해킹, 소셜 엔지니어링). 이상적인 보관 방법은 두 가지를 동시에 방어해야 한다.

금속 백업

종이는 취약하다. 233°C(화씨 451도)에서 타고, 물에 녹고, 수십 년에 걸쳐 열화된다. 상당한 양의 비트코인에는 금속 백업이 필수적이다.

스탬핑 강철판 (Cryptosteel Capsule, Blockplate, Billfodl, SeedPlate): 이 제품들은 스테인리스 스틸이나 티타늄 판에 개별 문자나 단어를 찍거나 밀거나 새길 수 있게 해준다. 견딜 수 있는 조건:

  • 화재: 일반적인 주택 화재는 600~800°C에 도달한다. 스테인리스 스틸의 녹는점은 약 1,400°C이고, 티타늄은 1,668°C이다.
  • 침수 및 부식: 316등급 스테인리스 스틸은 해양용 등급으로 해수 부식에도 견딘다.
  • 물리적 충격: 강철판은 건물 붕괴에도 살아남는다.

비트코인 보안 연구자로 알려진 제임슨 로프(Jameson Lopp)는 금속 시드 보관 제품에 대해 광범위한 스트레스 테스트를 수행했다. 블로우토치, 산, 압축에 노출시킨 결과를 jlopp.github.io/metal-bitcoin-storage-reviews/에 공개하고 있다.

분할 백업 (샤미르 비밀 공유)

고급 사용자의 경우, **샤미르 비밀 공유(Shamir’s Secret Sharing, SSS)**를 사용하여 시드를 여러 조각으로 분할할 수 있다. 원본을 복원하려면 최소 임계값만큼의 조각이 필요하다. 예를 들어, 2-of-3 분할은 3개의 조각을 만들고 그 중 아무 2개로 시드를 복원하는 방식이다. 조각을 지리적으로 분산된 장소에 보관할 수 있다 — 하나는 집에, 하나는 은행 금고에, 하나는 신뢰할 수 있는 가족에게.

Trezor Model T와 Trezor Safe 3는 별도의 단어 목록을 사용하여 지갑 수준에서 이 방식을 구현하는 SLIP-39 (샤미르 백업)을 기본 지원한다.

경고: 표준 BIP-39 시드 구문의 순진한 분할(예: 112번째 단어는 한 종이에, 1324번째 단어는 다른 종이에)을 시도하지 마라. 이는 각 절반의 보안을 겨우 64비트 또는 128비트 수준으로 낮추며, 진정한 비밀 공유 방식이 아니다.

절대 해서는 안 되는 것

  • 시드 구문을 절대 사진 찍지 마라. 사진은 iCloud, Google 포토, 기타 클라우드 서비스에 자동 동기화된다. 사진 라이브러리가 해킹되어 전체 비트코인을 잃은 사례가 여러 번 있었다.
  • 시드 구문을 컴퓨터, 폰, 웹사이트에 절대 입력하지 마라. 시드 구문을 볼 수 있어야 하는 유일한 기기는 초기 설정이나 복구 시의 하드웨어 지갑뿐이다.
  • 비밀번호 관리자에 절대 저장하지 마라. 비밀번호 관리자는 비밀번호에는 탁월하지만, 시드 구문은 비밀번호가 아니다 — 마스터 키다. 비밀번호 관리자가 해킹되면(2022년 LastPass가 해킹된 후 암호화폐 사용자들의 후속 도난이 발생했다) 모든 것이 노출된다.
  • 이메일로 절대 보내지 마라. 대부분의 제공자에서 이메일은 저장 시 암호화되지 않는다.
  • 클라우드 메모에 절대 저장하지 마라 (Apple Notes, Google Keep, Notion, Evernote). 이것들은 고보안 비밀 저장을 위해 설계되지 않았다.

권장 보관 전략

대부분의 비트코인 보유자에게 다음 전략이 견고한 보호를 제공한다:

  1. 기본 백업: 시드 구문을 스테인리스 스틸 판에 찍는다. 집의 개인 금고 또는 안전한 장소에 보관한다.
  2. 보조 백업: 지리적으로 분리된 장소에 두 번째 강철판을 보관한다 — 은행 금고 또는 신뢰할 수 있는 가족의 안전한 보관소.
  3. 패스프레이즈: 강력한 패스프레이즈를 기억한다. 적어두고 시드 백업 양쪽과 분리된 세 번째 장소에 보관한다.
  4. 복구 테스트: 상당한 금액을 보내기 전에 전체 복구 테스트를 수행한다. 하드웨어 지갑을 초기화하고, 시드 구문을 입력하고, 동일한 주소가 생성되는지 확인한다.

흔한 실수와 예방법

실수 1: 감염된 기기에서 시드 생성

시드 구문의 보안은 생성되는 순간만큼만 강력하다. 악성코드에 감염된 컴퓨터에서 소프트웨어 지갑으로 시드를 생성하면, 악성코드가 생성 순간에 시드를 캡처할 수 있다. 이것이 하드웨어 지갑이 강력히 권장되는 이유다 — 자체 하드웨어 난수 생성기를 사용하여 내부적으로 시드를 생성하며, 시드는 컴퓨터에 절대 노출되지 않는다.

실수 2: 브레인 월렛 사용

“브레인 월렛”은 사용자가 선택한 암기 문구에서 파생된 시드 또는 개인 키다. 문제는: 인간은 무작위성을 만드는 데 매우 서투르다. 자신에게 고유해 보이는 문구(“우리 강아지 이름은 똥개이고 나는 1987년에 태어났다”)는 초당 수백만 개의 일반적인 문구를 테스트하는 자동화 도구에게는 사소한 추측 대상이다. 2015년 한 연구자는 노래 가사, 영화 대사, 일반적인 문구에서 생성된 브레인 월렛을 몇 초 만에 크래킹할 수 있음을 보여주었다. 신뢰할 수 있는 하드웨어 지갑의 암호학적으로 생성된 무작위성만 사용하라.

실수 3: 백업 미검증

놀라울 정도로 많은 사용자가 시드 구문을 한 번 적고, 보관하고, 검증하지 않는다. 필기 오류는 흔하다 — 단어 하나가 틀리거나 순서가 바뀌면 전체 백업이 무용지물이 된다. 시드를 적은 후:

  1. 각 단어를 BIP-39 단어 목록과 대조 확인한다.
  2. 하드웨어 지갑에 “백업 확인” 기능이 있으면 사용한다.
  3. 상당한 자금을 맡기기 전에 소액의 비트코인으로 완전한 초기화-복구 테스트를 수행한다.

실수 4: 비트코인 소유 사실을 알리기

최고의 물리적 보안은 비밀 유지다. 아무도 당신이 상당한 비트코인을 보유하고 있다는 것을 모른다면, 아무도 당신을 표적으로 삼지 않을 것이다. 이것은 소셜 미디어에도 적용된다 — 비트코인 보유량을 게시하지 마라, 지갑 잔액 스크린샷을 공유하지 마라, 친구와 가족에게도 비트코인 소유에 대해 논의할 때 주의하라. $5 렌치 공격(시드 구문을 빼내기 위해 물리적 폭력을 위협하는 것)은 이론적인 것이 아니다 — 반복적으로 발생해 왔다.

시드 구문과 상속

비트코인의 자기 주권적 특성은 고유한 유산 계획 과제를 만든다. 시드 구문을 전달하지 않고 사망하면, 비트코인은 영원히 사라진다 — 은행에 보관되어 청구를 기다리는 것이 아니라, 진정으로, 영구적으로 접근 불가능해진다.

상속 계획에 대한 몇 가지 접근 방식이 존재한다:

  • 변호사에게 맡긴 봉인 편지: 시드 구문(또는 샤미르 조각)을 지침서와 함께 봉인된 봉투에 넣어 유산 변호사에게 맡긴다. 편지는 사망 또는 무능력 시에만 개봉된다.
  • 시간 잠금 다중서명: 2-of-3 다중서명을 만들어 하나의 키는 상속인이, 하나는 본인이, 하나는 시간 잠금 메커니즘이 보유한다. 일정 기간의 비활동 후 상속인이 본인의 키 없이 자금에 접근할 수 있다.
  • 협력적 수탁 서비스: Casa나 Unchained 같은 회사들이 다중서명 수탁 솔루션의 일환으로 상속 계획을 제공한다. 다중 키 설정에서 하나의 키를 보유하며, 사망 시 키 이전을 위한 법적·절차적 안전장치가 마련되어 있다.

핵심 원칙: 상속 계획은 살아 있을 때 테스트해야 한다. 테스트되지 않은 상속 계획은 검증되지 않은 백업이다 — 가장 중요한 순간에 실패할 수 있다.

철학적 기반

오스트리아 경제학의 관점에서, 시드 구문은 화폐 역사상 전례 없는 것을 나타낸다: 절대적이고 위조 불가능한 소유권. 역사 전반에 걸쳐 재산권은 국가와 제도의 집행 능력에 의존해 왔다. 금은 몰수될 수 있었다(1933년 행정 명령 6102에 의해 그러했다). 은행 계좌는 동결될 수 있다. 부동산은 수용권을 통해 압류될 수 있다.

시드 구문은 암기하거나 강철에 찍어 숨기면, 소유자의 협조 없이는 몰수할 수 없다. 이것은 진정으로, 물리적으로 몰수 불가능한 최초의 재산 형태다 — 루트비히 폰 미제스와 프리드리히 하이에크가 상상하지 못했지만, 개인의 경제적 주권에 있어 심대한 진보로 인식했을 개념이다.

이것이 시드 구문 보안이 단순한 기술적 연습이 아닌 이유다. 그것은 금융 자기 주권의 기초다. 그에 걸맞게 보호하라.

관련 자료

관련 글