
시드 문구는 지갑 안의 모든 코인을 여는 마스터 키입니다. 잃어버리면 자금은 영원히 사라집니다. 유출되면 누군가 몇 초 만에 지갑을 비울 수 있습니다. 그럼에도 대부분의 가이드는 시드 문구 보관을 "스크린샷 찍지 마세요", "금속을 사용하세요" 같은 슬로건의 체크리스트처럼 다룰 뿐, 시드 문구가 실제로 무엇을 하는지, 무엇을 하지 않는지, 그리고 SSP 같은 멀티시그 구성이 위협 모델을 어떻게 바꾸는지는 설명하지 않습니다.
이 글은 이미 암호화폐를 보유하고 있고 그것을 어떻게 지킬지 명확하게 생각하고 싶은 분들을 위한 것입니다. 프로토콜 수준에서 시드 문구가 무엇인지, 핫·콜드·하드웨어 지갑의 차이, 실제 보관에서의 트레이드오프, 그리고 2-of-2 멀티시그가 규칙을 어떻게 다시 쓰는지를 다룹니다. 교리가 아니라 사고의 틀로 받아들이시면 됩니다.
시드 문구의 실체
시드 문구는 시처럼 보입니다. 정해진 순서로 배열된 12개 또는 24개의 평범한 영어 단어입니다. 내부적으로는 하나의 아주 큰 무작위 숫자를 압축해 인코딩한 것입니다. 그 숫자가 바로 지갑의 모든 개인 키가 생성되는 시드(seed)입니다. 선택 가능한 단어 목록 — 정확히 2,048개 — 은 <span id="bip39"></span>BIP39로 정의됩니다. BIP39는 원시 엔트로피를 사람이 한 글자도 빼먹지 않고 적어 둘 수 있는 형태로 바꿔주는 표준입니다.
짧은 한 문구가 비트코인 주소, 이더리움 주소, 거스름돈 주소, 아직 사용하지 않은 미래의 주소까지 지갑 전체를 통제할 수 있는 이유는 <span id="bip32"></span>BIP32, 즉 계층적 결정론적(HD) 키 파생 표준 때문입니다. BIP32는 시드를 결정론적 함수에 통과시켜 무한한 키 트리를 만들어 냅니다. 같은 시드를 넣으면 같은 트리가 매번, 어떤 호환 지갑에서든 똑같이 나옵니다.
그래서 시드 문구는 "지갑의 백업"이 아니라 — 지갑 그 자체입니다. BIP39/BIP32 호환 앱에 단어들을 복원하면 모든 키와 모든 주소가 재구성됩니다. 다른 누구라도 그 단어들을 읽으면 같은 지갑을 갖게 되는 이유도 그것입니다.
코인이 아니라 키
암호화폐 지갑은 코인을 저장하지 않습니다. 키를 저장합니다. 잔액은 블록체인에 저장되어 있고, 당신의 키는 그 잔액을 옮길 권한이 있다는 것을 증명할 뿐입니다.
<span id="private-key"></span>개인 키는 거래에 서명하는 긴 무작위 숫자입니다. 어떤 주소의 개인 키를 가진 사람은 그 주소에 있는 것을 무엇이든 사용할 수 있습니다. 비밀번호 재설정도, 고객센터도, 항소도 없습니다. 실무에서 "자체 수탁(self-custody)"이 의미하는 바가 바로 이것입니다.
<span id="public-key"></span>공개 키는 개인 키로부터 일방향 수학을 통해 파생됩니다. 자유롭게 공개해도 됩니다. 결제를 원하는 사람에게 공유하는 블록체인 주소는 이 공개 키에서 계산됩니다. 공개 키를 아는 누구라도 당신이 만든 서명을 검증할 수 있지만, 그 반대 방향으로 거슬러 올라가 개인 키를 얻을 수는 없습니다.
시드 문구는 이 모든 것의 한 단계 위에 있습니다. 그 12개 또는 24개의 단어로부터 BIP32가 지갑 안의 모든 개인 키를 생성하고, 각 개인 키에서 그에 대응하는 공개 키와 주소가 떨어져 나옵니다. 그래서 가이드들이 "시드 문구가 곧 지갑이다"라고 말할 때, 그것은 말 그대로의 의미입니다. 모든 키가 그곳에서 내려오는 뿌리이기 때문입니다.
핫 월렛, 콜드 월렛, 하드웨어 월렛
지갑은 보통 개인 키가 인터넷에 얼마나 노출되어 있는지로 분류됩니다.
<span id="hot-wallet"></span>핫 월렛(hot wallet)은 개인 키를 인터넷에 연결된 기기 — 보통 휴대폰이나 브라우저 확장 프로그램 — 에 보관합니다. 노트북의 MetaMask, 휴대폰의 Phantom, 통제 가능한 온체인 주소로 출금할 수 있는 거래소 앱은 모두 핫입니다. 트레이드오프는 편의성 대 공격 표면입니다. 거래 서명은 한 번의 탭으로 끝나지만, 기기에 있는 어떤 멀웨어든 원리상 키를 읽거나 의도하지 않은 것을 서명하도록 속일 수 있습니다.
<span id="cold-wallet"></span>콜드 월렛(cold wallet)은 한 번도 온라인이었던 적이 없고 이상적으로는 앞으로도 절대 온라인이 되지 않을 기기에 개인 키를 보관합니다. 전형적인 예는 거래 서명에만 쓰는 에어갭(air-gapped) 노트북이며, 거래는 QR 코드나 microSD 카드로 주고받습니다. 콜드 스토리지는 원격 공격 표면을 극적으로 줄여 주지만, 일상 사용이 번거롭고, 설정을 잘못하면 위험합니다("콜드" 노트북이 한 번이라도 조용히 Wi-Fi에 연결됐다면 그것은 그저 느린 핫 월렛입니다).
<span id="hardware-wallet"></span>하드웨어 월렛(hardware wallet)은 실용적인 절충안입니다. Ledger, Trezor, Coldcard 같은 전용 소형 기기로, 개인 키를 보안 요소(secure element)에 저장하고 거래를 내부에서 서명합니다. 연결된 컴퓨터나 휴대폰은 서명된 거래만 볼 수 있고, 키는 절대 보지 못합니다. 트레이드오프는 제조사의 펌웨어와 공급망을 신뢰해야 한다는 것이고, 물리적 접근이 가능한 충분히 집요한 공격자는 여전히 기기를 공격할 수 있다는 것입니다. 대부분의 사람들에게 하드웨어 월렛은 적절한 기본선입니다.
단어를 보관하기
시드 문구가 곧 지갑이라는 점을 받아들이고 나면, 보관의 문제는 이렇게 바뀝니다. 이 단어들을 당신에게는 접근 가능하게, 그러나 다른 누구에게도 접근 불가능하게, 필요할지 모를 기간만큼 어떻게 유지할 것인가?
먼저 하지 말아야 할 것부터. 단어를 사진으로 찍지 마세요. 클라우드 메모 앱에 넣지 마세요 — iCloud, Google Keep, Notion, 맥에 동기화된 Apple Notes 모두 해당됩니다. "잠깐만"이라며 자신에게 이메일로 보내지도 마세요. 스트리밍 서비스에도 함께 쓰는 비밀번호 관리자에 입력하지도 마세요. 이런 행동은 시드를 검색 가능하고, 동기화되고, 복구 가능하도록 설계된 인프라 위에 올려놓는 것입니다 — 당신이 원하는 것의 정반대입니다.
기본적으로 좋은 답은 종이입니다. 단어를 손으로 직접 쓰고, 당신만 접근할 수 있는 곳에 두고, 어디 두었는지 말하지 마세요. 종이는 저렴하고, 부인 가능하며, 원격 공격에 면역입니다. 동시에 화재와 홍수에는 취약합니다.
기본적으로 더 나은 답은 금속입니다. 단어를 스테인리스 스틸이나 티타늄 판에 각인하거나 새기는 것입니다. 불과 물을 견딥니다. 판을 찾아낸 공격자에 대해서는 보호해 주지 못하므로, 위치는 재질만큼 중요합니다.
대부분의 사람들에게 합리적인 구성은 서로 다른 고장 양상을 가진 두 장소에 두 부 — 집 안 내화 보관함에 한 부, 외부 장소(믿을 만한 친지, 은행 대여 금고, 변호사 사무실의 봉인된 봉투)에 한 부 — 를 두는 것입니다. 한 집 안에 두 부는 아무 문제도 해결하지 못합니다 — 화재 한 번이면 둘 다 사라집니다. 다섯 군데에 다섯 부는 좋지만, 다섯 번째가 어디 있는지 잊었을 때 낯선 사람이 그것을 찾는다면 그것으로 끝입니다. 항상 복구 가능성과 노출 사이를 저울질하세요. 둘 다 실제 위험입니다.
2-of-2 멀티시그가 계산을 어떻게 바꾸는가
단일 시드 지갑에는 잔혹한 속성이 있습니다. 한 번의 문구 유출이 곧 전액 손실입니다. 공격자에게는 당신의 기기도, 비밀번호도, 당신의 존재도 필요 없습니다 — 단어만 있으면 됩니다.
SSP는 2-of-2 멀티시그 설계를 사용합니다. 모든 거래는 두 개의 독립적인 키로 공동 서명되어야 하며, 하나는 휴대폰에, 다른 하나는 브라우저 확장에 있습니다. 각 키에는 고유한 시드 문구가 있습니다. 어느 하나의 시드 문구만으로는 자금을 옮길 수 없습니다.
이는 계산을 특정하고도 좁은 방식으로 바꿉니다. 공격자가 한 기기를 침해하거나, 한 시드 문구를 복사하거나, 구성의 한쪽을 사회 공학으로 속여도 여전히 자금을 사용할 수는 없습니다. 양쪽을 독립적으로 침해해야 합니다. 두 개의 별개 침입 경로, 두 번의 별개 물리적 접근, 두 개의 별개 백업을 훔쳐야 합니다.
멀티시그가 하지 못하는 일은 당신을 무적으로 만들어 주는 것입니다. 두 시드가 같은 노트, 같은 클라우드, 같은 서랍에 들어가 있다면 보안은 단일 시드 수준으로 다시 무너집니다. 같은 패스프레이즈를 재사용하거나, 두 문구를 같은 금속판에 새기거나, 두 백업을 같은 건물에 보관한다면, 그 한 장소에 도달한 공격자가 모든 것을 가져갑니다. 멀티시그는 공격 비용을 올리지만, 그것은 두 요인이 진정으로 독립적일 때만 가능합니다. 각 시드를 마치 유일한 시드인 것처럼 다루세요.
짧은 체크리스트
- 모든 시드 문구를 종이나 금속에 적어 두세요 — 손으로, 순서대로, 지갑이 보여주는 그대로 정확히.
- 이미 그것을 사용하도록 구성된 기기가 아닌 어떤 디지털 기기에도 시드 문구를 절대 입력하지 마세요. 클라우드 메모도, 비밀번호 관리자도, "잠깐만"도 안 됩니다.
- 각 시드의 물리적 사본을 최소 두 부, 서로 다른 고장 양상(화재, 홍수, 도난)을 가진 두 장소에 보관하세요.
- 실제 자금을 보내기 전에 임시 설치본에서 복구를 시험해 보세요. 한 번도 복원해 본 적 없는 백업은 백업이 아니라 희망일 뿐입니다.
- SSP를 사용한다면 두 개의 시드 문구를 완전히 독립적으로 다루세요. 다른 물리적 위치, 다른 저장 매체, 다른 정신적 분류로.
다음 단계
SSP를 처음 설정하고 있고 이 원칙들을 처음부터 끝까지 따르는 안내된 절차 — 두 개의 시드 문구를 생성하고, 기록하고, 검증하는 방법을 포함해 — 를 원한다면 첫 번째 SSP 지갑 설정하기를 참고하세요.


