"BIP44"의 두 판 사이의 차이
yueun970422 (토론 | 기여) (→관련 BIP) |
(→BIP44의 트리 레벨 구조) |
||
(사용자 2명의 중간 판 16개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | ''' | + | '''BIP44'''(Bitcoin Improvement Proposal 44)는 복수화폐(multicurrency) 및 복수계정(multiaccount) 지갑을 설명하는 일반적인 산업 표준이다. |
− | == | + | == BIP44의 트리 레벨 구조 == |
− | BIP44는 [[BIP43]]의 스펙을 확장하여 '목적'번호를 44'로 설정하여 | + | BIP44는 [[BIP43]]의 스펙을 확장하여 '목적'번호를 44'로 설정하여 복수 화폐 복수 계정 구조를 제안한다. BIP44의 구조를 따르는 모든 HD 지갑 구조는 하나의 트리 분기(m/44'/*)만 사용하여 식별된다. BIP44는 미리 정의된 다섯 가지 트리 레벨로 구성된 구조를 지정한다. |
+ | |||
+ | m / purpose' / coin_type' / account' / change / address_index | ||
− | + | * '''레벨-1''' (purpose, 목적) : 첫번째 레벨인 목적(purpose)은 항상 44로 설정한다. | |
− | HD | + | * '''레벨-2''' (coin_type, 코인 종류) : 두번째 레벨인 코인 종류(coin_type)은 암호화폐의 유형을 지정한다. 각 통화가 두 번째 레벨 아래에 자체 하위 트리를 갖는 화폐 HD 지갑을 허용한다는 의미이다. SLIP0044라는 표준 문서에는 여러 화폐가 정의되어 있다. 예를 들어 이더리움은 m/44'/60'이다. 모든 화폐의 테스트넷은 m/44'/1'이다. |
+ | * '''레벨-3''' (account, 계정) : 트리의 세번째 레벨은 계정(account)이다. 사용자는 지갑을 회계 또는 조직 목적을 위한 별도의 논리적 하위 계좌로 세분화할 수 있다. 예를 들어, m/44'/0'/0', m/44'/0'/1'처럼 HD 지갑에는 2개의 비트코인 계정을 포함할 수 있다. 각 계정은 자체 하위 트리의 루트다. | ||
+ | * '''레벨-4''' (change, 잔돈 계정 여부) : 트리의 네번째 레벨은 잔돈 계정 여부(change)이다. BIP44는 원래 비트코인을 위해 제작되었기 때문에 이더리움 세계와 관련이 없는 '특이점'(quirk)이 포함되었다. HD 지갑에는 2개의 하위 트리가 있는데 하나는 입금 주소 작성용이고 다른 하나는 잔액 주소 작성용이다. 이더리움은 비트코인에 있는 잔액 주소가 필요 없으므로 단지 '입금' 경로만 사용하여 항상 0이다. 이전 레벨은 강화파생만 사용했지만 이 레벨은 비보안 환경에서 사용할 수 있도록 확장된 [[공개키]]를 트리의 계정 수준에서 내보낼 수 있게 하기 위해서 일반 파생을 사용한다. <ref name="책">안드레아스 M 외 2인, 〈지갑-지갑의 모범 사례〉, 《Mastering Ethereum》, 제이펍, 2019-05-23</ref> | ||
+ | * '''레벨-5''' (address_index, 사용 가능한 주소 인덱스) :트리의 다섯번째 레벨은 사용 가능한 주소 인덱스로 만드는 것이다. 예를 들어 주 메인 계정에서 이더리움 지급을 위한 세 번째 입금 주소는 M/44'/60'/0'/0/2가 될 것이다.<ref name=" 마스터링이더리움">박성훈, 류길성, 강동욱, ''Mastering Ethereum'', ''J-Pub'', 2019, p107</ref> 이것은 HD 지갑에서 파생된 level-4의 자식이다. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
M/44'/60'/0'/0/2 : 메인 이더리움 계정에 대한 세 번째 수신 공개키 | M/44'/60'/0'/0/2 : 메인 이더리움 계정에 대한 세 번째 수신 공개키 | ||
M/44'/0'/3'/1/14 : 4번째 비트코인 계정의 15번째 주소 변경 공개키 | M/44'/0'/3'/1/14 : 4번째 비트코인 계정의 15번째 주소 변경 공개키 | ||
m/44'/2'/0'/0/1 : 트랜잭션 서명을 위한 라이트코인 메인 계정의 두 번째 개인 키 | m/44'/2'/0'/0/1 : 트랜잭션 서명을 위한 라이트코인 메인 계정의 두 번째 개인 키 | ||
− | == | + | :{|border=2 width=600 |
− | + | |+<big>BIP44 HD 지갑 구조 예</big> | |
− | + | !align=center|HD 경로 | |
− | + | !align=center|키 설명 | |
− | + | |- | |
− | + | |align=center|M/44'/60'/0'/0/2 | |
− | + | |align=center|메인 이더리움 계정에 대한 세 번째 수신 공개키 | |
− | + | |- | |
− | + | |align=center|M/44'/0'/3'/1/14 | |
− | + | |align=center|4번째 비트코인 계정의 15번째 주소 변경 공개키 | |
− | + | |- | |
+ | |align=center|m/44'/2'/0'/0/1 | ||
+ | |align=center|트랜잭션 서명을 위한 라이트코인 메인 계정의 두 번째 개인 키 | ||
+ | |} | ||
+ | |||
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
− | * 안드레아스 | + | * 박성훈, 류길성, 강동욱, ''Mastering Ethereum'', ''J-Pub'', 2019, p.107 |
− | * 〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉 , | + | * 안드레아스 M 외 2인, 〈지갑-지갑의 모범 사례〉, 《Mastering Ethereum》, 제이펍, 2019-05-23 |
+ | * 〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉 , 《트레저위키》 | ||
== 같이 보기 == | == 같이 보기 == |
2022년 1월 14일 (금) 14:33 기준 최신판
BIP44(Bitcoin Improvement Proposal 44)는 복수화폐(multicurrency) 및 복수계정(multiaccount) 지갑을 설명하는 일반적인 산업 표준이다.
BIP44의 트리 레벨 구조[편집]
BIP44는 BIP43의 스펙을 확장하여 '목적'번호를 44'로 설정하여 복수 화폐 복수 계정 구조를 제안한다. BIP44의 구조를 따르는 모든 HD 지갑 구조는 하나의 트리 분기(m/44'/*)만 사용하여 식별된다. BIP44는 미리 정의된 다섯 가지 트리 레벨로 구성된 구조를 지정한다.
m / purpose' / coin_type' / account' / change / address_index
- 레벨-1 (purpose, 목적) : 첫번째 레벨인 목적(purpose)은 항상 44로 설정한다.
- 레벨-2 (coin_type, 코인 종류) : 두번째 레벨인 코인 종류(coin_type)은 암호화폐의 유형을 지정한다. 각 통화가 두 번째 레벨 아래에 자체 하위 트리를 갖는 화폐 HD 지갑을 허용한다는 의미이다. SLIP0044라는 표준 문서에는 여러 화폐가 정의되어 있다. 예를 들어 이더리움은 m/44'/60'이다. 모든 화폐의 테스트넷은 m/44'/1'이다.
- 레벨-3 (account, 계정) : 트리의 세번째 레벨은 계정(account)이다. 사용자는 지갑을 회계 또는 조직 목적을 위한 별도의 논리적 하위 계좌로 세분화할 수 있다. 예를 들어, m/44'/0'/0', m/44'/0'/1'처럼 HD 지갑에는 2개의 비트코인 계정을 포함할 수 있다. 각 계정은 자체 하위 트리의 루트다.
- 레벨-4 (change, 잔돈 계정 여부) : 트리의 네번째 레벨은 잔돈 계정 여부(change)이다. BIP44는 원래 비트코인을 위해 제작되었기 때문에 이더리움 세계와 관련이 없는 '특이점'(quirk)이 포함되었다. HD 지갑에는 2개의 하위 트리가 있는데 하나는 입금 주소 작성용이고 다른 하나는 잔액 주소 작성용이다. 이더리움은 비트코인에 있는 잔액 주소가 필요 없으므로 단지 '입금' 경로만 사용하여 항상 0이다. 이전 레벨은 강화파생만 사용했지만 이 레벨은 비보안 환경에서 사용할 수 있도록 확장된 공개키를 트리의 계정 수준에서 내보낼 수 있게 하기 위해서 일반 파생을 사용한다. [1]
- 레벨-5 (address_index, 사용 가능한 주소 인덱스) :트리의 다섯번째 레벨은 사용 가능한 주소 인덱스로 만드는 것이다. 예를 들어 주 메인 계정에서 이더리움 지급을 위한 세 번째 입금 주소는 M/44'/60'/0'/0/2가 될 것이다.[2] 이것은 HD 지갑에서 파생된 level-4의 자식이다.
M/44'/60'/0'/0/2 : 메인 이더리움 계정에 대한 세 번째 수신 공개키 M/44'/0'/3'/1/14 : 4번째 비트코인 계정의 15번째 주소 변경 공개키 m/44'/2'/0'/0/1 : 트랜잭션 서명을 위한 라이트코인 메인 계정의 두 번째 개인 키
BIP44 HD 지갑 구조 예 HD 경로 키 설명 M/44'/60'/0'/0/2 메인 이더리움 계정에 대한 세 번째 수신 공개키 M/44'/0'/3'/1/14 4번째 비트코인 계정의 15번째 주소 변경 공개키 m/44'/2'/0'/0/1 트랜잭션 서명을 위한 라이트코인 메인 계정의 두 번째 개인 키
각주[편집]
참고자료[편집]
- 박성훈, 류길성, 강동욱, Mastering Ethereum, J-Pub, 2019, p.107
- 안드레아스 M 외 2인, 〈지갑-지갑의 모범 사례〉, 《Mastering Ethereum》, 제이펍, 2019-05-23
- 〈Cryptocurrency 표준〉 , 《트레저위키》
같이 보기[편집]