지갑을 복원할 때 니모닉을 사용할 때는 매우 낮은 확률로 단어를 잘못 입력할 수 있지만 블록체인 지갑을 사용하여 여전히 복원할 수 있습니다.
이 매우 드문 시나리오의 예와 설명을 여기에 제시합니다.
먼저, 니모닉을 구성하는 과정을 이해해야만 잘못 입력된 니모닉을 사용할 수 있는 이유를 이해할 수 있습니다.
니모닉 생성:
지갑은 BIP-39에서 설명한 정규화 절차를 사용하여 니모닉을 자동으로 생성합니다. 지갑은 엔트로피 소스로 시작하여 무작위 숫자를 단어 목록에 매핑하기 전에 체크섬을 추가합니다:
1. 128~256비트의 무작위 숫자를 생성합니다.
2. 이 무작위 숫자의 체크섬을 SHA256 해시의 처음 몇 비트로 사용합니다 (첫 네 비트는 12비트의 보조 비트에서 가져옵니다).
3. 무작위 시퀀스 끝에 체크섬을 추가합니다.
4. 시퀀스를 11비트 단위로 분리합니다.
5. 11비트 구성요소를 갖는 각 숫자는 이미 2048개의 단어를 갖는 사전에 해당합니다.
6. 니모닉은 결과 시퀀스입니다.
잘못된 단어가 입력된 경우, 다음 예제와 같이 (첫 번째 위치만 잘못 입력된 경우).
지갑은 다음과 같이 니모닉을 생성합니다:ribbon voice frame black oppose galaxy divide either tube maximum tired obvious
SHA256의 해시: 00101011 11111111
인위적으로 잘못 입력된 니모닉은:rib voice frame black oppose galaxy divide either tube maximum tired obvious
SHA256의 해시:00101011 11101010
각 SHA256 쌍의 처음 네 비트가 동일하므로 체크섬도 동일합니다.
두 니모닉 쌍 모두 BIP39를 준수하기 때문에 블록체인 지갑을 사용하여 둘 다 복원할 수 있습니다.
확률적으로 간단히 설명하면: 마지막 니모닉 단어로 무작위 단어를 선택하고, 니모닉 단어가 12비트인 경우, 11개의 다른 니모닉 단어를 무작위로 선택할 때 올바른 것을 16번 찾을 수 있으며, 24비트의 보조 단어는 256번 찾을 수 있습니다.
따라서 "잘못된 단어를 입력하고 작동하는 니모닉을 받는" 것은 일반적이지만, 이는 니모닉 보안이 부정확하다는 것을 의미하지는 않습니다.
니모닉은 때로는 "뇌 지갑"과 혼동되기도 하지만, 둘은 같은 것이 아닙니다.
주요 차이점은 뇌 지갑이 사용자가 선택한 단어로 구성되는 반면, 니모닉은 무작위로 생성되어 사용자에게 제시됩니다.
두 가지 중요한 차이점 중 하나는 니모닉을 더 안전하게 만드는 측면입니다; 결국 인간은 무작위 숫자를 생성하는 능력이 제한되어 있습니다.
이는 BIP39를 준수하는 니모닉이 인위적으로 테스트되었다고 해서 지갑에서 생성된 니모닉을 사용하는 것이 불안전하다는 것을 의미하지 않습니다; 두 유형의 니모닉은 보안 측면에서 다르며, 지갑에서 생성된 니모닉은 더 무작위로 (즉, 더 안전하게) 생성되지만, 잘못된 니모닉을 사용하는 뇌 지갑은 무작위로 생성되고 사용될 가능성이 적습니다.
지갑은 암호학적으로 안전한 방법(예: 하드웨어 TRNG)을 사용하여 완전히 무작위 숫자를 생성하므로 사용자의 일반적인 니모닉 선택으로는 무작위성의 품질을 보장할 수 없습니다.