
《바람을 잡고 그림자를 쫓다》에서 시작하여: 2조 달러 이상의 암호화 자산을 결정짓는 2048개의 단어
저자: Tyler
최근 성룡 선배의 최신작인 바람과 그림자를 쫓아를 봤는데, 그중 한 장면이 흥미로웠다. 수백억 홍콩달러 상당의 암호화 자산이 12개 단어로 구성된 니모닉 월렛에 잠겨 있으며, 마지막 단어 하나만 알지 못하는 상황이다.
영화 후 실제로 시도해봤더니, 10번째와 12번째 단어가 표준 니모닉 단어 목록에 없었다. 분명히 각본 작가가 고의로 그렇게 설정한 것으로 보이며, 누군가 극 중 내용을 따라 지갑을 복원해 사기를 치는 것을 막기 위한 의도일 것이다. 실제로 블록체인상에서는 유사한 사기가 흔하지 않다:
사기범들은잔고가 있는 지갑 주소(주로 트론 체인에서 Owner 메커니즘 활용)를 일부러 공개하여, 사람들이 가스비를 입금하게 유도하고 기다렸다가 자금이 들어오자마자 즉시 탈취하며, 한번 송금된 돈은 돌이킬 수 없다.

흥미로운 점은 영화 속에서 마지막 단어 하나만 모른다고 말한다는 것이다. 하지만 현실 세계에서는 니모닉이 BIP39 표준을 따르며, 전체 단어 수가 고작 2048개뿐이다. 즉, 마지막 단어를 무차별 대입 공격으로 추측하더라도 최대 2048가지 가능성밖에 되지 않는다. 만약 영화처럼 앞글자가 'es'로 시작한다는 정보가 있다면 경우의 수는 더 줄어들어 1분 안에 완료할 수 있다.
그러나 영화를 넘어서 다시 한번 생각해볼 가치가 있는 질문은 다음과 같다:니모닉, 개인키, 공개키는 정확히 어떤 관계인지? 그리고 왜 니모닉을 잃어버리면 모든 자산을 잃는 것과 같은가?
1. 니모닉 : 개인키 : 공개키/주소 = '열쇠고리' : '열쇠' : '주소'
니모닉은 BIP39 표준을 따르는 백업 방식으로, 2048개의 영문 단어로 구성된 단어장에서 알고리즘을 통해 무작위로 선택된 12, 18 또는 24개의 단어 조합이다.
이 니모닉 문장을 PBKDF2 알고리즘으로 처리하면 시드(seed)가 생성되며, 이 시드를 기반으로 BIP32/BIP44 등의 경로 표준에 따라 여러 개의 개인키를 파생시키고, 각각에 대응하는 공개키/주소를 생성한다.
일련의 니모닉 → 일련의 개인키 생성 → 일련의 공개키 생성 → 일련의 주소 대응
즉,
-
니모닉 = 열쇠고리, 일반적으로 개인키와는 일대다 관계이며, 이론상 하나의 니모닉으로 수천 수만 개의 개인키를 도출할 수 있다;
-
개인키 = 열쇠, 각 개인키는 특정 주소 사용 권한과 일대일 대응된다;
-
공개키/주소 = 주소(문짝 번호), 공개 가능하며, 타인이 이를 통해 당신에게 송금할 수 있다;
따라서 니모닉을 자신의 '열쇠고리'로 볼 수 있으며, 각 개인키는 그중 특정 문을 여는 열쇠와 같아, 서명을 통해 해당 지갑 주소를 통제하고 있다는 것을 증명한다. 거래를 실행할 때마다 개인키로 서명하여 전 세계 네트워크에 "이 거래는 내가 승인한 것임"이라고 알리는 것이다.
2. 직접 니모닉 단어를 골라서 만들 수 있을까?
혹자는 이렇게 생각할지도 모른다. 내 생일, 좋아하는 영단어, 아이돌 이름 등을 조합해서 나만의 12개 단어를 만들 수 있지 않을까? 좀 더 개성 있게 말이다.
정답은: 가능하지만, 극도로 위험하다.
컴퓨터가 생성하는 난수는 진짜 무작위지만,사람이 단어를 고를 때는 거의 항상 패턴(흔한 단어, 습관적 어휘, 순서 선호 등)이 존재하여 검색 공간이 크게 좁아지고, 결과적으로 니모닉이 맞춰질 가능성이 높아진다.

예전에도 '유사난수 지갑' 관련 보안 사건이 있었다. 일부 지갑이 니모닉 생성 시 유사난수 알고리즘을 사용하여 엔트로피가 심각하게 부족했고, 해커들이 무차별 대입 공격으로 쉽게 해독한 사례가 있다. 2015년 블록체인 해커 조직 Blockchain Bandit은결함 있는 난수 생성기와 코드 취약점을 이용해 보안이 약한 개인키를 체계적으로 탐색, 70만 개 이상의 취약한 지갑 주소를 스캔해내고, 그중 5만 개 이상의 ETH를 탈취했다.
물론 일부 매니아들은 주사위(주사위 자체도 충분히 균일해야 함)를 굴려 무작위 숫자를 얻은 후 BIP39 단어장에 매핑하는 방식으로 수동으로 안전하게 생성하기도 한다. 그러나 대부분的人来说(여기서는 한국어로 자연스럽게 수정 필요), 굳이 이렇게 복잡하게 할 필요 없으며, 차라리 실수할 가능성이 더 크다.
3. V신이나 거대 고래들의 지갑을 무차별 대입으로 맞출 수 있을까?
나 역시 예전에 이런 상상을 해본 적 있다. 어느 날 지갑 주소를 생성했는데, 우연히 그 안에 수십만 개의 ETH가 들어 있어 순간적으로 부자가 되고, 누구의 지갑을 훔치는 것이다.
솔직히 말해, 상상만으로도 매우 매력적이다.하지만 현실은: 확률이 거의 제로다.
왜냐하면 니모닉 조합의 가능한 수치 자체가 인간의 상상을 초월할 정도로 엄청나기 때문이다:
-
12개 단어: 유효 조합 수 약 2¹²⁸ ≈ 3.4 × 10³⁸
-
24개 단어: 유효 조합 수 약 2²⁵⁶ ≈ 1.16 × 10⁷⁷
이 수치가 의미하는 바는 무엇인가?
지구상의 모래알이 무수히 많다는 것은 모두가 아는 사실이지만, 과학자들은 그 수를 추정한 바 있다. 지구의 모든 해변과 사막을 합쳐도 모래의 총량은 약 7.5×10¹⁸개 정도로 추정된다. 이는 즉,
-
12개 단어의 유효 조합 수는 지구의 모든 모래알 총량의 4.5 × 10¹⁹배
-
24개 단어의 유효 조합 수는 지구의 모든 모래알 총량의 1.5 × 10&sup58배
즉, 마치지구의 각 모래알 하나하나가 새로운 '지구'가 되고, 각 새로운 지구에는 또 해변과 모래알이 있으며, 당신이 미리 표시해둔 하나의 모래알을 그 모든 모래 중에서 단번에 무작위로 찾아내야 하는 상황과 같다.
이것은 이미 인간이 상상할 수 있는 범위를 훨씬 초월한다.

따라서 지갑을 무차별 대입으로 해킹할 확률은 '매우 낮음'이 아니라, 알려진 물리학 및 계산 능력 하에서 사실상 제로다.'무차별 대입 공격'으로 부를 얻으려는 것보다 로또를 사는 것이 훨씬 당첨 확률이 높다.
다시 영화 설정으로 돌아가보면, 정말 누군가 니모닉 단어 하나만 모른다면, 무차별 대입을 통해 시도해볼 가능성은 분명히 존재한다.
마지막으로 지갑/니모닉/개인키 관련 몇 가지 보안 팁:
-
시간과 시장 검증을 거친 오픈소스 코드 감사를 받은 논커스터디얼 지갑(MetaMask, Trust Wallet, SafePal 등)을 우선적으로 사용하고, 가능하면 하드웨어 지갑을 사용하라;
-
니모닉과 개인키는 절대 스크린샷 찍지 말고, 클라우드 저장 금지, 복사-붙여넣기 금지, 타인에게 전송 금지;
-
가급적 종이에 필기하거나 스테인리스 니모닉판(방습, 방화, 부식 방지용)을 사용해 안전한 장소에 보관하고, 2~3곳에 중복 백업하라;
-
공개키/주소는 자유롭게 공개 가능하며, 이는 본인의 주소(문짝 번호)이지만 피싱 링크는 주의 깊게 확인하라;
-
깨끗한 기기로 지갑을 관리하고, 출처 불명의 플러그인이나 앱은 함부로 설치하지 마라;
-
한 가지 명심하라:누구든 당신의 니모닉을 요구한다면, 100% 사기꾼이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News










