브레인 월렛 (Brain Wallet)

중급지갑·키수정일

브레인 월렛(brain wallet)은 사용자가 직접 정해 외운 문장이나 비밀번호(패스프레이즈)에서 개인키를 만들어 내는 지갑입니다. 대표적으로 패스프레이즈에 SHA-256 해시 함수를 적용한 값을 그대로 개인키로 씁니다. 키를 어디에도 적어 두지 않고 문장만 기억하면 되므로 “머릿속 지갑”이라는 이름이 붙었습니다.

이 방식은 같은 문장을 입력하면 언제나 같은 개인키와 주소가 나온다는 점에 기대고 있습니다. 문장만 기억하면 어떤 기기에서든 지갑을 되살릴 수 있다는 것이 원래의 발상이었습니다.

작동 방식

  1. 사용자가 기억하기 쉬운 문장을 정합니다.
  2. 지갑 프로그램이 이 문장을 해시해 개인키를 만듭니다.
  3. 개인키에서 공개키와 주소가 계산되고, 사용자는 그 주소로 코인을 받습니다.
  4. 나중에 같은 문장을 다시 입력하면 같은 개인키가 계산되어 자금을 쓸 수 있습니다.

가장 큰 위험: 사전 대입 공격

문제는 사람이 정한 문장은 예측하기 쉽다는 점입니다. 공격자는 유명한 문구, 노래 가사, 책 구절, 유출된 비밀번호 목록 등 방대한 후보 문장을 미리 해시해 주소를 계산해 두고, 그 주소에 코인이 들어오는지 블록체인을 계속 지켜봅니다. 코인이 들어오면 계산해 둔 개인키로 즉시 빼 갑니다. 해시 계산은 매우 빨라 초당 엄청난 수의 후보를 시험할 수 있으므로, 사람이 “아무도 모를 것”이라고 생각한 문장도 쉽게 뚫릴 수 있습니다.

실제로 이런 방식으로 브레인 월렛의 자금이 대량으로 탈취된 사례가 알려져 있으며, 2015년 보안 콘퍼런스(DEF CON)에서는 브레인 월렛을 대규모로 크래킹하는 방법이 공개되었습니다. 이 때문에 지금은 사용자가 직접 지은 문장으로 키를 만드는 브레인 월렛은 안전하지 않은 방식으로 여겨집니다.

넓은 의미: 복구 문구 암기

요즘은 지갑 프로그램이 무작위로 만들어 준 복구 문구(BIP-39 시드 문구, 12개 또는 24개 단어)를 적어 두지 않고 외워서 보관하는 방식을 가리켜 브레인 월렛이라고 부르기도 합니다. 이 경우 문구는 사람이 아니라 프로그램이 충분한 무작위성으로 만들므로 사전 대입 공격 위험은 사실상 없지만, 다른 위험은 그대로 남습니다.

  • 기억 손실: 단어 하나만 잘못 기억해도 자금에 영원히 접근하지 못할 수 있습니다. 기억은 시간이 지나면 흐려지고, 소유자에게 사고가 나면 가족도 자산을 찾을 수 없습니다.
  • 강압에 취약: 누군가 문구를 밝히라고 강요하는 상황에서 아무런 보호가 없습니다.
  • 백업 없음: 다른 콜드 스토리지 방식과 달리 기억 외에는 복구 수단이 없습니다.

장점으로 거론되는 점

  • 오프라인 보관: 키가 디지털이나 종이에 남지 않아 해킹, 악성코드, 장치 도난으로 유출될 위험이 줄어든다는 이유로 가장 “차가운” 보관 방식이라고 불리기도 합니다.
  • 비용 없음: 특별한 하드웨어나 소프트웨어가 필요하지 않습니다.

결론

사용자가 지은 문장으로 키를 만드는 브레인 월렛은 사전 대입 공격 때문에 쓰지 않는 것이 좋습니다. 복구 문구를 외우는 방식도 기억에만 의존하면 영구 손실 위험이 큽니다. 일반적으로는 지갑이 무작위로 생성한 복구 문구를 안전한 곳에 물리적으로 백업하고, 하드웨어 지갑 같은 검증된 방식을 쓰는 것이 더 안전합니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.