《바람을 잡고 그림자를 쫓다》에서 시작하다: 만조의 암호 자산을 결정짓는 2048개의 단어
저자:Tyler
최근 성룡 형님의 입소문 신작 《바람을 잡고 그림자를 쫓다》를 봤는데, 그 안에 꽤 흥미로운 장면이 있었습니다------수백억 홍콩 달러의 암호 자산이 12개의 단어로 이루어진 니모닉 지갑에 잠겨 있고, 결말에는 마지막 단어만 남아 있었습니다.
영화를 보고 나서 시도해봤는데, 결과적으로 10번째와 12번째 단어가 표준 니모닉 단어 목록에 없다는 것을 발견했습니다. 분명히 각본가는 이렇게 쓰기로 의도했으며, 누군가 줄거리를 따라 지갑을 복원해 사기를 치는 것을 피하기 위해서입니다. 결국 블록체인에서 유사한 사기는 드물지 않으니까요:
사기꾼은 고의로 잔액이 있는 지갑 주소를 유출하고(트론 체인에서 흔히 발생하며, Owner 메커니즘을 이용함), 사람들을 유인하여 Gas를 전송하게 하고, 기다리다가 자금이 전송되면 다시는 돌려받을 수 없게 됩니다.

하지만 여기서 흥미로운 점은, 영화에서는 마지막 단어가 무엇인지 모른다고 했습니다. 그러나 실제 세계에서는 니모닉 단어가 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⁵⁸ 배에 해당합니다.
다시 말해, **















