지난 글에서 제이드 지갑을 주문했고, 이번에는 니모닉을 직접 만들어보았다. 찾아보니 여러 가지 방법이 있었는데, 그중에서도 최대한 컴퓨터나 온라인 도구를 사용하지 않고 오프라인으로 만드는 방법을 선택했다. 물론 좀 더 귀찮긴 하다.
참고한 블로그는 아래의 블로그인데 설명이 정말 잘 되어 있어서 참고해서 따라 해 보았다.
0. 니모닉 코드란?
니모닉은 12개 혹은 24개의 영어 단어로 이루어진 코드이다. 하지만 아무 영어 단어나 쓰는 게 아니라, BIP39라는 규칙에 따라 지정된 2048개의 단어 중에 12개 혹은 24개를 골라 사용하는 것이다. 그리고 이것을 무작위로 만들기 위해 동전이나 주사위를 이용한다.
1. 주사위/동전 던져 무작위로 2진수 만들기
첫 번째 글에서 SHA256 해시값, 16진수 등의 내용은 어려워서 사실 이해하지 못했다. 어쨌든 마지막 단어를 만드는데 필요한 내용인 것 같았는데, 이는 두 번째 글로 대체 가능하기에 첫 번째 글에서는 주사위나 동전을 통해 어떻게 이진수를 만드는지를 참고했다.
위의 글에서는 주사위 또는 동전을 256번 던져 종이에 그 숫자를 기록하라고 되어있다. 나는 동전 여러 개를 던져 무작위로 숫자를 적었다.
- 12자리 니모닉을 만들고 싶다면 128번
- 24자리 니모닉을 만들고 싶다면 256번을 던지면 된다.
규칙은 자기 마음대로 하면 된다. 동전을 던져서 숫자가 나오면 1, 그림이 나오면 0을 적거나, 혹은 그 반대로 해도 상관없다. 위 블로그에서는 주사위를 던져서 1,2,3이 나오면 0을 적고, 4,5,6이 나오면 1을 적으셨다. 결과 값을 적는 것도 당연히 태블릿이나 휴대폰에 적는 것이 아니라 종이에 연필로 하나씩 적었다.
✅ TIP!
- 위 블로그처럼 처음부터 11개씩 끊어서 적어두면 나중에 계산하기 편하다.
- 마지막 줄이 11개가 안되는데 그건 나중에 지갑에서 해결할 수 있다.
2. 2진수 숫자를 10진수로 바꾸기
2진수 숫자는 맨 오른쪽부터 읽는 게 좀 더 이해하기 편하다. 맨 오른쪽 숫자는 2의 0제곱인 1, 그 왼쪽이 2의 1제곱인 2, 그 왼쪽이 2의 2제곱인 4 이런 식으로 넘어간다.
1 = 2의 0제곱 = 1
10 = 2의 1제곱 = 2
100 = 2의 2제곱 = 4
1000 = 2의 3제곱 = 8
1111 = 8+4+2+1=15
1110 = 8+4+2=14
1101 = 8+4+1=13
아무튼 이제 방금 만든 2진수 숫자들을 10진수로 바꿔야 한다. 이것도 온라인 변환기를 사용하지 않고, 오프라인 계산기로 하나하나 다 더해서 십진수를 도출해 냈다.
계산할 때는 가장 왼쪽부터 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1을 적어놓고, 1인 숫자만 골라서 더하면 된다. 참고로 맨 왼쪽이 2의 10제곱(=1024), 그 옆이 2의 9제곱(=512) 이런 식이다. 아래 그림에 예시를 적어보았다.
3. BIP39 단어 목록에서 찾기
위와 같이 변환이 끝나면 24개의 니모닉은 23개, 12개의 니모닉은 11개의 10진수를 만들 수 있다. 이제 🔗BIP39 단어 목록에서 그 숫자에 해당하는 단어를 찾으면 된다. 마지막 단어는 지갑을 통해 만들거라 우선 11개 혹은 23개의 단어만 먼저 찾는다.
📌 이때 주의할 점은, +1을 해준 숫자로 단어를 찾아야 한다는 점이다.
예를 들어 내가 계산해서 나온 숫자가 902 라면, +1을 해서 903에 해당하는 영어 단어를 찾아야 한다. 즉, 902는 903인 ignore이고, 1181은 1182인 neck이다.
1을 더하는 사유는, 위의 방법대로 했을 때 나올 수 있는 십진수의 최솟값이 0인데 (11자리가 전부 0일 경우) BIP39는 1부터 시작하기 때문이다. 최댓값도 2047인데(11자리가 전부 1일 경우) BIP39의 마지막은 2048이다. 따라서 정확하게 맞추려면 1을 더해서 찾아야 한다.
※ 참고) 계산된 숫자가 같으면 당연히 단어도 중복될 수 있다.
4. 제이드를 이용해 마지막 단어 계산하기
여기까지 한 뒤에 위의 네이버 블로그 중에 2번째 글을 참고해서 제이드 월렛으로 마지막 단어를 만들었다.
🔗 (네이버 블로그) Jade 월렛으로 니모닉 코드 최종 단어 계산해 보기
아래 순서가 내가 마지막 단어를 만들때 진행한 순서이다. 위 블로그에 나오는 펌웨어 버전과 현재 내 버전이 달라서 살짝 다르긴 한데, 궁극적으로는 같은 방법이다. 12개 니모닉 코드이든, 24개 니모닉 코드이든 상관없이 가능하다.
1) 제이드를 켠다.
2) Options에 들어간다.
3) Temporary Signer로 들어간다.
4) 본인이 만들고자 했던 단어 개수를 선택한다.
5) 위에서 만들었던 단어를 하나씩 입력해 준다.
6) 11번째 혹은 23번째 단어까지 입력하고 나면 'Existing'과 'Calculate' 중에 선택하는 화면이 나온다. 여기서 'Calculate'를 선택한다.
7) 제이드가 계산한 단어 몇 개 중에 하나를 선택한다.
이렇게 하면 니모닉 코드 만들기가 완료된다. 이제 이 12개 혹은 24개의 니모닉 코드를 어딘가에 잘 적어두고, 머릿속으로도 외우면 된다. 절대 휴대폰에 적어두거나, 사진을 찍어두어서는 안 된다.
일일이 동전을 던지고 숫자를 계산하는게 귀찮긴 한데, 막상 해보면 할만 했다. 컴퓨터나 폰 없이 오프라인에서 만들 수 있어서 좋았다. 다음 글에서는 블루월렛에서 Watch-only 지갑을 만들고, 바이낸스에서 지갑으로 비트코인을 옮기는 방법을 적어볼 예정이다.
'비트코인 공부' 카테고리의 다른 글
바이낸스에서 지갑으로 비트코인 보내는 방법-2 (스트라이크 활용, 수수료 절약 가능) (0) | 2025.05.29 |
---|---|
바이낸스에서 지갑으로 비트코인 보내는 방법-1 (블루월렛 이용) (0) | 2025.05.27 |
블루월렛에 Watch-only(보기 전용) 지갑 만드는 방법 (0) | 2025.05.25 |
비트코인 지갑 추천 제이드(Jade) 구매 방법 및 할인 코드 (0) | 2025.05.17 |