주사위던지기 비트코인 지갑만들기 – 동일한 값이 다른 니모닉이 나오는 이유

시드사이너, 콜드카드, 키스톤 등 다양한 비트코인 하드웨어 월렛이 있다. 하드웨어 월렛 자체에서도 비트코인 지갑 주소를 생성할 수 있는 기능이 있다. 예를 들면 주사위던지기 만으로 비트코인 비트코인 지갑을 만들어 주는 기능이다.

이언콜먼 사이트 비트코인 지갑 만들기 | 주사위, 동전, 카드 등 BIP39 니모닉 코드 생성 방법

만약 같은 주사위를 던진다면 이언콜먼 사이트에서 나오는 니모닉과 완전히 동일하게 나오는 것이 수학적으로 맞다. 니모닉은 랜덤한 엔트로피 값을 바탕으로 수학적인 공식에 따라 나오게 되는 것이기 때문이다.

그래서 실험을 해봤다. 주사위를 던져서 1이 9번 나오고, 2도 9번 나오고……. 6도 9번 나오는 것을 가정하여 반복하여 99번까지 나왔다고 가정해봤다.

그러니까 엔트로피 값은 아래와 같다.

111111111 222222222 333333333
444444444 555555555 666666666
111111111 222222222 333333333 
444444444 555555555

전 지구상에 인류가 주사위를 던져도 위와 같은 엔트로피가 동일하게 만들어지 확률은 로또 1등에 연속 10번 이상 맞는 확률보다 더 적다.

따라서 주사위를 던져서 만든 지갑주소가 다른 사람의 지갑주소와 동일할 가능성은 거의 없다.

이언콜먼 니모닉 계산

위의 엔트로피 값을 이언콜먼 사이트에 입력해보자. 이언콜먼 사이트에 대한 자세한 내용은 이언콜먼 사이트 비트코인 지갑 만들기 | 주사위, 동전, 카드 등 BIP39 니모닉 코드 생성 방법을 참고 하면 된다.

아래와 같이 위의 엔트로피 값을 입력했다. 24개의 니모닉으로 계산해보았다.

주사위던지기 비트코인지갑 니모닉 만들기

니모닉 결과는 아래와 같다.

test bracket rubber during sentence picture 
ramp only wild valley grid busy 
boat term hero maximum breeze sting 
task relax adjust ancient hunt erupt

키스톤 월렛 – 비트코인 온리 펌웨어 결과

키스톤 월렛은 이언콜먼 사이트와 동일한 니모닉을 생성해준다.

키스톤 월렛 비트코인 온리 펌웨어 니모닉 생성 결과

콜드카드 월렛 / 시드사이너 월렛 결과

콜드카드 월렛과 시드사이너 월렛에 동일한 엔트로피를 넣은 결과는 아래와 같다. 이언콜먼 사이트의 주사위를 던져서 만든것과는 완전히 다르다. 시드사이너는 직접 조립하는 것인데 시드사이너 부품 사서 직접 만드는 방법은 링크를 참고하면 된다.

콜드카드 월렛 니모닉 생성 결과
kit trouble junk bomb plate visual 
crucial planet stick scare glance media 
ramp couch zoo volume bridge song 
negative viable view route fan faint

그런데 이 주소는 이언콜먼 사이트에서 Hex 값으로 엔트로피를 인식한 결과와 동일하다.
이로서 시드사이너는 주사위를 던진 값을 주사위 6진수로 인식하지 않고, Hex 값으로 인식하여 변환한다는 것을 알 수 있다.

이언콜먼 사이트 주사위던지기 Hex 변환 후 니모닉

결론 : 똑같은 주사위 값으로 다른 니모닉 나오는 현상

이렇게 똑같은 주사위 값(=엔트로피)을 넣어도 다른 니모닉이 나오는 것은 주사위 값을 Dice로 변환하느냐 Hex로 변환하느냐에 따른 차이일 뿐 결국 지갑 주소로 나오는 니모닉에는 아무 문제는 없다는 점이다.

니모닉 역시 영어단어로 할 수도 있고, 한글로 만들 수도 있다. 한글 니모닉을 넣는 지갑이 현재 없기 때문에 사용하지 않을 뿐이다. 그럼에도 불구하고 한글 니모닉의 순서로 영어 니모닉 순서를 매핑해서 사용 할 수 있고, 어쩌면 영어 니모닉보다 더 안전하게 니모닉을 관리할 수도 있겠다.

이언콜먼 사이트 비트코인 지갑 만들기 | 주사위, 동전, 카드 등 BIP39 니모닉 코드 생성 방법
니모닉 + 패스프레이즈 | 비트코인 비밀 지갑 만들기 #1
암호화폐 지갑 니모닉 한글로 만들기 wordlist 2048개