BIP43
BIP43(Bitcoin Improvement Proposal 43)란 BIP32에 설명 된 알고리즘을 기반으로 결정 성 지갑에 사용하기위한 "Purpose Field"를 소개합니다. BIP44는 BIP32 및 BIP43을 기반으로 한 HD 지갑의 구현을 정의합니다. 특히 P2PKH 주소 (예 : Bitcoin의 1- 주소) 및 지갑 검색 알고리즘에 대한 다중 동전 지갑 구조를 설명한다.
개요
BIP는 HD 지갑 트리의 구조에 대한 표준을 만듦으로서 이러한 잠재적인 복잡성을 관리하는 방법을 제공한다. BIP43은 트리 구조의 '목적'을 나타내는 특별한 식별자로써 첫 강화된 자식 인덱스의 사용을 제안한다. BIP43을 기반으로 한 HD 지갑은 트리구조와 나머지 레벨의 네임스페이스(namespace)를 식별하고, 지갑의 목적을 정의하는 인덱스 번호화 트리레벨 1분기만 사용해야 한다. 예를들어, m/i'/*분기만을 사용하는 HD 지갑은 특정 목적을 나타내기 위한 것이고, 그 목적은 인덱스 번호 i로 식별한다. BIP44는 이 스펙을 확장하여 '목적'번호를 44'로 설정하여 다중 통화 다중계정(복수 화폐 복수계정) 구조를 제안한다. BIP44의 구조를 따르는 모든 HD 지갑 구조는 하나의 트리 분기(브랜치)인 m/44'/* 만 사용하여 식별된다.
배경
HD 지갑 트리 구조는 매우 유연하다. 이것의 반대 부분은 무한한 복잡성을 가능하게 한다. 각 확장된 키는 20억개의 일반 자식과 20억개의 강화된 가식으로 40억 개의 자식을 가지고 있다. 이 자식들은 각각 다른 40억개 자식들을 가진다. 잠재적인 무한한 수의 생성과 함께 원하는 만큼 트리는 깊어질 수 있다. 따라서 이렇게 매우 큰 트리를 탐색하는 것은 꽤 까다롭다.[1] BIP32만 해도 지갑이 어떻게 구현될 수 있는지에 대해 너무 많은 자유도를 제공한다. 따라서 이것이 BIP43이 호출하는 첫 번째 파생 인덱스 'purpose'가 후속 레벨에서 지갑 구조를 설명하는 BIP와 일치해야한다는 규칙을 도입한 이유이다. [2]
BIP44의 트리 레벨 구조
m / purpose' / coin_type' / account' / change / address_index
- level-1 (purpose', 목적') : 항상 44'로 설정한다.
- level-2 (coin_type', 코인 종류') : 암호화폐 동전의 유형을 지정한다. 각 통화가 두 번째 레벨 아래에 자체 하위 트리를 갖는 화폐 HD 지갑을 허용한다는 의미이다.
SLIP0044라는 표준 문서에는 여러 화폐가 정의되어있다. 예를들어 이더리움은 m/44'/60'이다. 모든 화폐의 테스트넷은 m/44'/61'이다.
- level-3 (account', 계정') : 사용자는 지갑을 회계 또는 조직 목적을 위한 별도의 논리적 하위 계좌로 세분화할 수 있다. 예를들어, m/44'/0'/0', m/44'/0'/1'처럼 HD 지갑에는 2개의 비트코인 계정을 포함할 수 있다. 각 계정은 자체 하위 트리의 루트다
각주
- ↑ 안드레아스 M외 2인, 〈지갑-지갑의 모범 사례〉, 《Mastering Ethereum》, 제이펍, 2019-05-23
- ↑ 〈Cryptocurrency 표준〉 , 《trezor WiKi》
참고 자료
- 안드레아스 M외 2인, 〈지갑-지갑의 모범 사례〉, 《Mastering Ethereum》, 제이펍, 2019-05-23
- 〈Cryptocurrency 표준〉 , 《trezor WiKi》