HD Wallet

Younghwan Cha·2022년 10월 11일
0

blockchain

목록 보기
3/18

Hierarchical Deterministic (HD) wallet
'계층적 결정론적' 지갑이다.
...역시 사전적 의미로는 이해가 가지 않는다.

HD 지갑은 특정 seed 만으로 public 과 private key 들을 생성하고 저장 할 수 있는 지갑을 말한다. 이는 BIP32 기준으로 작성되었다.

BIP32?

Bitcoin Improvement Proposal, BIP는 HD 지갑과 비트코인의 extended key 들의 기준을 제시하였다.
이는 비트코인 wallet의 발전에 여러 기여를 하였는데

  • HD 지갑은 하나의 extended private key(xprv) 만으로 key 들을 옮길 수 있게 되었기 때문에 wallet 의 상호운용성 측면에서 큰 발전을 이루었다
  • 같은 맥락으로, seed 만으로 전체 지갑의 복구도 가능해졌다.
  • 마지막으로, 유저가 private key 를 사용하지 않고도 새로운 주소를 생성해 트랜잭션을 발생시킬 수 있는 watch-only wallet 을 가능하게 해서 유저의 보안에 큰 기여를 했다.

HD 지갑 이전에 있던 JBOK(Just-a-Bunch-of-Keys)의 경우
생성되는 모든 키들을 저장해야했기 때문에 매우 비효율적이었다.
하지만, HD 지갑은 64bytes 의 seed 를 저장하는 것 만으로 모든 키들을 저장 할 수 있는 것이다.
이를 보면 동일한 seed 입력에 항상 같은 결과를 내놓는 tree 구조 wallet, Hierarchical Deterministic wallet 라고 이름지은 것이 이해가 간다.

아래 그림으로 보면 이해가 조금 더 쉽다.

이처럼, seed 를 통해서 Master Extended Key(m) 가
생성되게 되고 이후 여기서 파생된 키도 동일하게 child key 들을 파생할 수 있게 된다.
이는 depth 와 index 에 따라서
depth=2, child index=1 이라면 m/0/1/ 과 같이 표현된다.
또한 유저는 extended public key(xpub) 를 통해서 private key 로의 접근 없이 새로운 address 를 생성 할 수 있기 때문에 안전하다.

[ref]
https://river.com/learn/terms/h/hd-wallet/
https://river.com/learn/terms/b/bip-32/

profile
개발 기록

0개의 댓글