HD Wallet을 알기전 간단한 개요에 대한 설명

https://velog.io/@holim0/5.-지갑 추가 참고자료 니모닉 시드(BIP 39, BIP 32) 구현 참고자료 : https://sourcegraph.com/github.com/conseweb/coinutil/-/blob/bip44/bip44.go HD Wallet 핵심 원리 참고자료 : https://huangwenwei.com/blogs/bip32-bip39-and-hd-wallet

HD 지갑과 니모닉(mnemonic) 코드

본 글은 암호화폐 지갑의 키 관리에 사용되는 니모닉(mnemonic) 코드에 대한 글 입니다.

제가 앞서 작성한 두 개의 글을 읽어보시면 도움이 됩니다.

(1) 비트코인에서 개인키, 공개키, 주소를 생성하는 방식

(2) 지갑(Wallet)에 대한 고찰

니모닉(mnemonic) 코드에 앞서 결정성이 있는 지갑(Deterministic Wallet)과 시드의 관계를 되짚어봅시다.

시드(seed)

결정성이 있는 지갑(Deterministic wallet)은 마스터 시드(Master Seed)로부터 개인키를 계층적으로 생성합니다. 그렇기 때문에 지갑 내의 모든 키를 기억할 필요가 없이 마스터 시드만 기억(혹은 기록)하고 있으면 모든 하위 키들을 재생성하여 지갑 전체를 복원할 수 있습니다. 그런데 아래와 같이 32자리의 16진수로 표현되는 시드를 잘 기억(혹은 기록)할 수 있을까요?

0C1E24E5917779D297E14D45F14E1A1A

니모닉 (Mnemonic) 코드

32자리의 16진수로 표현되는 시드는 기억(혹은 기록)하기 쉬운 형태가 아니기 때문에 비트코인 개발자들은 그것을 생성하는 기억(혹은 기록)하기 쉬운 무언가를 만들기로 제안합니다. 그것이 바로 BIP-0039입니다.

BIP: 39
  Layer: Applications
  Title: Mnemonic code for generating deterministic keys
  Author: Marek Palatinus <[email protected]>
          Pavol Rusnak <[email protected]>
          Aaron Voisine <[email protected]>
          Sean Bowe <[email protected]>
  Comments-Summary: Unanimously Discourage for implementation
  Comments-URI: <https://github.com/bitcoin/bips/wiki/Comments:BIP-0039>
  Status: Proposed
  Type: Standards Track
  Created: 2013-09-10

니모닉 코드는 사람이 읽을 수 있는 텍스트로 표현됩니다. 사용자는 이것을 쉽게 기록하고 지갑을 복원하는데 사용할 수 있습니다. 이러한 특성으로 비트코인 지갑 뿐만아니라 현재 거의 모든 암호화폐의 지갑들 중 대다수가 이것을 사용할 수 있는 기능을 지원하고 있습니다.

니모닉 코드 생성하기

니모닉 코드 생성은 임의의 값을 선택하는 것에서부터 시작합니다.