"BIP84"의 두 판 사이의 차이
yueun970422 (토론 | 기여) (→확장 키 버전) |
잔글 |
||
(다른 사용자 한 명의 중간 판 하나는 보이지 않습니다) | |||
7번째 줄: | 7번째 줄: | ||
P2WPKH 트랜잭션을 사용하면 공통 파생 체계가 필요하다. 사용자는 동일 마스터 시드(masterseed) 및 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만 계정을 감지하고 적절하게 처리할 수 있도록 전용 분리 감시 데이터베이스를 만들어야 한다. 우리는 BIP 49의 고려사항 섹션에서 설명한 것과 동일한 근거를 사용한다.<ref name = "깃허브"></ref> | P2WPKH 트랜잭션을 사용하면 공통 파생 체계가 필요하다. 사용자는 동일 마스터 시드(masterseed) 및 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만 계정을 감지하고 적절하게 처리할 수 있도록 전용 분리 감시 데이터베이스를 만들어야 한다. 우리는 BIP 49의 고려사항 섹션에서 설명한 것과 동일한 근거를 사용한다.<ref name = "깃허브"></ref> | ||
− | == 사양 == | + | ==사양== |
BIP84는 BIP32 루트 계정을 기반으로 여러 결정적 주소를 유도하기 위해 필요한 두 단계를 정의한다.<ref name = "깃허브"></ref> | BIP84는 BIP32 루트 계정을 기반으로 여러 결정적 주소를 유도하기 위해 필요한 두 단계를 정의한다.<ref name = "깃허브"></ref> | ||
− | + | * '''공개키 파생''' | |
− | 루트 계정에서 공개 키를 파생시키기 위해 BIP84는 BIP44 및 BIP49에 정의된 것과 동일한 계정 구조를 사용하지만 다른 용도의 값만 사용하여 다른 트랜잭션 직렬화 방법을 나타낸다. 예를 들어 purpose'는 84'로 사용하고, 나머지 레벨은 BIP44 또는 BIP49에 정의된 대로 사용된다. <ref name = "깃허브"></ref> | + | : 루트 계정에서 공개 키를 파생시키기 위해 BIP84는 BIP44 및 BIP49에 정의된 것과 동일한 계정 구조를 사용하지만 다른 용도의 값만 사용하여 다른 트랜잭션 직렬화 방법을 나타낸다. 예를 들어 purpose'는 84'로 사용하고, 나머지 레벨은 BIP44 또는 BIP49에 정의된 대로 사용된다. <ref name = "깃허브"></ref> |
m / purpose' / coin_type' / account' / change / address_index | m / purpose' / coin_type' / account' / change / address_index | ||
− | + | * '''주소 유도''' | |
− | 위의 계산 된 공개 키에서 P2WPKH 주소를 유도하기 위해 BIP141에 정의된 캡슐화를 사용한다.<ref name = "깃허브"></ref> | + | : 위의 계산 된 공개 키에서 P2WPKH 주소를 유도하기 위해 BIP141에 정의된 캡슐화를 사용한다.<ref name = "깃허브"></ref> |
witness: <signature> <pubkey> | witness: <signature> <pubkey> | ||
scriptSig: (empty) | scriptSig: (empty) | ||
21번째 줄: | 21번째 줄: | ||
(0x0014{20-byte-key-hash}) | (0x0014{20-byte-key-hash}) | ||
− | + | * '''확장 키 버전''' | |
− | 확장 키를 직렬화할 때 이 체계는 대체 버전 바이트를 사용한다. 확장 공용 키는 0x04b24746을 사용하여 "zpub" 접두사를 만들고, 개인 키는 0x04b2430c를 사용하여 "zprv" 접두사를 만든다. 테스트 넷은 0x045f1cf6 "vpub"와 0x045f18bc "vprv"를 사용한다. 추가 등록된 버전 바이트는 SLIP-0132에 나열되어 있다.<ref name = "깃허브"></ref> | + | : 확장 키를 직렬화할 때 이 체계는 대체 버전 바이트를 사용한다. 확장 공용 키는 0x04b24746을 사용하여 "zpub" 접두사를 만들고, 개인 키는 0x04b2430c를 사용하여 "zprv" 접두사를 만든다. 테스트 넷은 0x045f1cf6 "vpub"와 0x045f18bc "vprv"를 사용한다. 추가 등록된 버전 바이트는 SLIP-0132에 나열되어 있다.<ref name = "깃허브"></ref> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{각주}} | {{각주}} | ||
40번째 줄: | 28번째 줄: | ||
== 참고자료 == | == 참고자료 == | ||
* 〈[https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki BIP84 깃허브]〉, 《깃허브》 | * 〈[https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki BIP84 깃허브]〉, 《깃허브》 | ||
+ | |||
+ | == 같이 보기 == | ||
+ | * [[BIP]] | ||
{{블록체인 기술|검토 필요}} | {{블록체인 기술|검토 필요}} |
2019년 7월 28일 (일) 21:55 기준 최신판
BIP84는 기본 SegWit P2WPKH 주소 (예 : Bitcoin의 bc1- 주소)에 대한 HD 지갑의 구현을 정의한다. 주소 유형을 제외하면 BIP44와 유사하다.[1]
개요[편집]
BIP84는 분리된 감시 트랜잭션에 P2WPKH ( BIP 173 ) 직렬화 형식을 사용하여 HD 지갑의 파생 체계를 정의한다.[1]
배경[편집]
P2WPKH 트랜잭션을 사용하면 공통 파생 체계가 필요하다. 사용자는 동일 마스터 시드(masterseed) 및 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만 계정을 감지하고 적절하게 처리할 수 있도록 전용 분리 감시 데이터베이스를 만들어야 한다. 우리는 BIP 49의 고려사항 섹션에서 설명한 것과 동일한 근거를 사용한다.[1]
사양[편집]
BIP84는 BIP32 루트 계정을 기반으로 여러 결정적 주소를 유도하기 위해 필요한 두 단계를 정의한다.[1]
- 공개키 파생
- 루트 계정에서 공개 키를 파생시키기 위해 BIP84는 BIP44 및 BIP49에 정의된 것과 동일한 계정 구조를 사용하지만 다른 용도의 값만 사용하여 다른 트랜잭션 직렬화 방법을 나타낸다. 예를 들어 purpose'는 84'로 사용하고, 나머지 레벨은 BIP44 또는 BIP49에 정의된 대로 사용된다. [1]
m / purpose' / coin_type' / account' / change / address_index
- 주소 유도
- 위의 계산 된 공개 키에서 P2WPKH 주소를 유도하기 위해 BIP141에 정의된 캡슐화를 사용한다.[1]
witness: <signature> <pubkey> scriptSig: (empty) scriptPubKey: 0 <20-byte-key-hash> (0x0014{20-byte-key-hash})
- 확장 키 버전
- 확장 키를 직렬화할 때 이 체계는 대체 버전 바이트를 사용한다. 확장 공용 키는 0x04b24746을 사용하여 "zpub" 접두사를 만들고, 개인 키는 0x04b2430c를 사용하여 "zprv" 접두사를 만든다. 테스트 넷은 0x045f1cf6 "vpub"와 0x045f18bc "vprv"를 사용한다. 추가 등록된 버전 바이트는 SLIP-0132에 나열되어 있다.[1]
각주[편집]
참고자료[편집]
- 〈BIP84 깃허브〉, 《깃허브》
같이 보기[편집]