Skip to content

Latest commit

 

History

History
85 lines (52 loc) · 3.3 KB

bip-0043.md

File metadata and controls

85 lines (52 loc) · 3.3 KB

BIP-43

📖 원문: BIP-0043

BIP: 43
레이어: 애플리케이션
제목: 결정적 지갑을 위한 목적 필드
작성자: 마렉 팔라티너스(Marek Palatinus, [email protected])
      파볼 루스낙(Pavol Rusnak, [email protected])
의견 요약: 의견 없음
의견 주소: https://github.com/bitcoin/bips/wiki/Comments:BIP-0043
상태: 완결됨
유형: 정보 제공
생성일: 2014년 4월 24일


목차



초록

이 BIP에서는 BIP-32에 설명된 알고리즘을 기반으로 결정적 지갑에서 사용하기 위한 “목적 필드”를 도입한다.


동기

비록 BIP-32에 설명된 계층 결정적 지갑 구조가 암호화폐 지갑의 사용자 경험과 보안에 중요한 부분이긴 하지만, BIP-32에 나온 명세(specification)는 구현자에게 너무 많은 자유도를 제공한다. 여러 구현체들은 BIP-32와 호환되는 것처럼 주장할 수 있지만 실제로는 서로 호환되지 않는 다른 논리적 구조의 지갑을 생성할 수 있다. 이러한 상황은 불행하게도 “BIP-32 호환”이라는 명제를 쓸모 없게 만든다.


목적

이 글에서는 BIP-32 트리 구조의 첫 레벨이 “목적(purpose)”으로 사용될 것을 제안한다. 이 목적은 노드 아래에 있는 추가적인 구조를 결정한다.


m / purpose' / *

위에서 작은 따옴표는 BIP-32의 단절된(hardened) 파생이 발생하였음을 나타낸다.

제안자는 BIP-32 체계에서 중복된 주소가 생성되지 않도록 별도의 BIP 번호를 할당하여 적용하거나, 동일한 목적 필드를 적용하는 방식을 권장한다.

SLIP(SatoshiLabs Improvement Proposals)에는 10001~19999까지의 목적 코드가 지정되어 있다.

BIP-44를 준수하는 지갑은 44’(또는 0x8000002C)를 목적 값으로 사용해야 한다.

BIP-32에서는 m / 0' / *을 사용하고 있다.

모든 지갑이 이러한 BIP들에 설명된 모든 기능과 가능성을 지원하고자 하는 것은 아닐 수 있다. 정의된 기능의 임의적인 하위 집합을 선택하고 스스로를 BIPxx 호환이라고 부르는 대신, 제한된 구조만 필요한 소프트웨어는 다른 BIP에서 해당 구조를 설명하고, 다른 “목적” 값을 사용할 것을 제안한다.


💡 레벨(Level)

트리에서의 레벨은 특정 깊이를 가지는 노드의 집합을 말한다.


노드 직렬화

이 방법은 한 번에 더 많은 암호화폐를 위한 노드를 생성하거나 암호화폐와 전혀 관련이 없는 노드를 생성하는 데 사용할 수 있기 때문에 BIP-32 “직렬화 형식” 장에 설명된 특별한 버전 매직(version magic)을 사용할 필요는 없다. 추가로, 퍼블릭 노드에는 항상 0x0488B21E를, 프라이빗 노드에는 0x0488ADE4를 사용하는 것이 좋다 (각각 접두사 “xpub”, “xprv”를 나타냄).


참고자료

BIP32 - Hierarchical Deterministic Wallets