"BIP49"의 두 판 사이의 차이
yueun970422 (토론 | 기여) (→개요) |
yueun970422 (토론 | 기여) |
||
1번째 줄: | 1번째 줄: | ||
− | '''BIP49'''는 분리 된 감시 트랜잭션을 위해 P2WPKH-Nested-in-P2SH (BIP 141) 직렬화 형식을 사용하여 HD 지갑의 파생 체계를 정의한다. | + | '''BIP49'''는 분리 된 감시 트랜잭션을 위해 P2WPKH-Nested-in-P2SH (BIP 141) 직렬화 형식을 사용하여 HD 지갑의 파생 체계를 정의한다.<ref name = "깃허브"> 〈https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki#considerations BIP49 깃허브]〉, 《깃허브》</ref> |
== 개요 == | == 개요 == | ||
− | BIP-32의 개념을 구현하여 특정 파생어를 작성하는 몇 가지 표준이 있다. BIP-44 는 Ethereum 및 일반 Bitcoin 주소를 가져 오는 데 사용되며, BIP-49 는 Bitcoin Segwit 호환 주소에 사용되고 BIP-84 는 기본 Bitcoin Segwit 주소에 사용된다. | + | BIP-32의 개념을 구현하여 특정 파생어를 작성하는 몇 가지 표준이 있다. BIP-44 는 Ethereum 및 일반 Bitcoin 주소를 가져 오는 데 사용되며, BIP-49 는 Bitcoin Segwit 호환 주소에 사용되고 BIP-84 는 기본 Bitcoin Segwit 주소에 사용된다.<ref> 탈 Be'ery, 〈https://zengo.com/the-wallet-seed-saviors/ 월렛 씨앗 구원자]〉, 《Zengo》, 2019-01-22</ref> |
== 배경 == | == 배경 == | ||
− | P2WPKH 중첩 P2SH(BIP 141) 트랜잭션의 사용으로 공통 유도 체계를 가질 필요가 있다. 사용자가 동일한 마스터시드 및/또는 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만이 계정을 감지하고 적절하게 처리할 수 있도록 하는 전용 분리 증인 계정을 만들어야 한다. | + | P2WPKH 중첩 P2SH(BIP 141) 트랜잭션의 사용으로 공통 유도 체계를 가질 필요가 있다. 사용자가 동일한 마스터시드 및/또는 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만이 계정을 감지하고 적절하게 처리할 수 있도록 하는 전용 분리 증인 계정을 만들어야 한다.<ref name = "깃허브"></ref> |
− | == | + | == 구현 == |
+ | 이 BIP는 BIP 32 루트 계정을 기반으로 여러 결정적 주소를 유도하기 위해 필요한 두 단계를 정의 합니다.<ref name = "깃허브"></ref> | ||
+ | === 공개키 파생 === | ||
+ | 루트 계정에서 공개 키를 파생시키기 위해이 BIP는 BIP 44에 정의 된 것과 동일한 계정 구조를 사용하지만 다른 용도의 값만 사용하여 다른 트랜잭션 직렬화 방법을 나타냅니다. '목적'경로 레벨의 경우 '49'를 사용합니다. 나머지 레벨은 BIP44에 정의 된대로 사용됩니다. | ||
+ | m / purpose' / coin_type' / account' / change / address_index | ||
+ | |||
+ | === 주소 유도 === | ||
+ | 위의 계산 된 공개 키에서 P2SH 주소를 유도하기 위해 BIP 141에 정의 된 캡슐화를 사용합니다 . | ||
+ | <pubkey> | ||
+ | scriptSig : <0 <20 바이트 키 해시> | ||
+ | (0x160014 {20 바이트 키 해시}) | ||
+ | scriptPubKey : HASH160 <20 바이트 스크립트 해시> EQUAL | ||
+ | (0xA914 { 20 바이트 스크립트 해시} 87) | ||
+ | |||
+ | ==== Nested SegWit ==== | ||
+ | 정식 SegWit구현이 아닌 HD Wallet의 실장에는 BIP49를 사용합니다. 기존 주소를 사용한 HD Wallet 구현은 BIP44을 그대로 사용하지만, P2PKH는 송금 및 수령의 논리가 다르기 때문에 HD Wallet의 경로를 변경합니다. BIP49에서는 P2WPKH nested in P2SH를 대상으로 하고 있습니다.기본적으로는 purpose만 49`가 되는 외에는 p 같습니다.P2WPKH을 P2SH에서 랩 할 뿐이므로, 주소는 3시작 P2SH주소로 됩니다. 주소를 생성할 때는 아래 scriptPubKey에 포함되는 공개키 해시 20바이트를 Bech32의 어드레스 포맷에 따라서 생성합니다. <ref> 코우즈마 토모카즈, 〈[https://tomokazu-kozuma.com/use-bip49-and-bip84-to-handle-bitcoins-segwit-address-in-hd-wallet/ HD Wallet에서 Bitcoin의 SegWit 주소를 처리하려면 BIP49과 BIP84를 사용]〉, 《블록 체인 엔지니어로 사는》, 2019-05-16</ref> | ||
+ | |||
+ | ==== P2WPKH ==== | ||
+ | |||
+ | ==== P2SH ==== | ||
== 관련 BIP == | == 관련 BIP == |
2019년 7월 9일 (화) 14:10 판
BIP49는 분리 된 감시 트랜잭션을 위해 P2WPKH-Nested-in-P2SH (BIP 141) 직렬화 형식을 사용하여 HD 지갑의 파생 체계를 정의한다.[1]
목차
개요
BIP-32의 개념을 구현하여 특정 파생어를 작성하는 몇 가지 표준이 있다. BIP-44 는 Ethereum 및 일반 Bitcoin 주소를 가져 오는 데 사용되며, BIP-49 는 Bitcoin Segwit 호환 주소에 사용되고 BIP-84 는 기본 Bitcoin Segwit 주소에 사용된다.[2]
배경
P2WPKH 중첩 P2SH(BIP 141) 트랜잭션의 사용으로 공통 유도 체계를 가질 필요가 있다. 사용자가 동일한 마스터시드 및/또는 단일 계정으로 서로 다른 HD 지갑을 원활하게 사용할 수 있다. 따라서 사용자는 이 BIP와 호환되는 지갑만이 계정을 감지하고 적절하게 처리할 수 있도록 하는 전용 분리 증인 계정을 만들어야 한다.[1]
구현
이 BIP는 BIP 32 루트 계정을 기반으로 여러 결정적 주소를 유도하기 위해 필요한 두 단계를 정의 합니다.[1]
공개키 파생
루트 계정에서 공개 키를 파생시키기 위해이 BIP는 BIP 44에 정의 된 것과 동일한 계정 구조를 사용하지만 다른 용도의 값만 사용하여 다른 트랜잭션 직렬화 방법을 나타냅니다. '목적'경로 레벨의 경우 '49'를 사용합니다. 나머지 레벨은 BIP44에 정의 된대로 사용됩니다.
m / purpose' / coin_type' / account' / change / address_index
주소 유도
위의 계산 된 공개 키에서 P2SH 주소를 유도하기 위해 BIP 141에 정의 된 캡슐화를 사용합니다 .
<pubkey> scriptSig : <0 <20 바이트 키 해시> (0x160014 {20 바이트 키 해시}) scriptPubKey : HASH160 <20 바이트 스크립트 해시> EQUAL (0xA914 { 20 바이트 스크립트 해시} 87)
Nested SegWit
정식 SegWit구현이 아닌 HD Wallet의 실장에는 BIP49를 사용합니다. 기존 주소를 사용한 HD Wallet 구현은 BIP44을 그대로 사용하지만, P2PKH는 송금 및 수령의 논리가 다르기 때문에 HD Wallet의 경로를 변경합니다. BIP49에서는 P2WPKH nested in P2SH를 대상으로 하고 있습니다.기본적으로는 purpose만 49`가 되는 외에는 p 같습니다.P2WPKH을 P2SH에서 랩 할 뿐이므로, 주소는 3시작 P2SH주소로 됩니다. 주소를 생성할 때는 아래 scriptPubKey에 포함되는 공개키 해시 20바이트를 Bech32의 어드레스 포맷에 따라서 생성합니다. [3]
P2WPKH
P2SH
관련 BIP
- BIP32 : HD 지갑의 일반적인 형식과 HD 지갑을 구축하는 방법을 설명한 문서
- BIP39 : 결정성 열쇠를 파생하기 위한 니모닉 코드(복원 규칙)의 유형 및 BIP32 시드로 전환하는 프로세스
- BIP43 : 트리 구조의 목적을 나타내는 특별한 식별자로써 첫 강화된 자식 인텍스의 자용을 제안
- BIP44 : BIP32 지갑의 특정 형식, 목적을 44로 설정해서 나타나는 다중화폐 다계정 주고를 제안
- BIP47 : 비트코인 개선 제암 및 결제 코드 작성 방법
- BIP49 : P2WPKH가 중첩 된 P2SH 기반 계정의 유도 스키마
- BIP63 : 스텔스 주소
- BIP70 : SSL/TLS 통신을 이용하여 비트코인의 결제를 안전하게 함
- BIP84 : P2WPKH 기반 계정의 유도 스키마
각주
- ↑ 1.0 1.1 1.2 〈https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki#considerations BIP49 깃허브]〉, 《깃허브》
- ↑ 탈 Be'ery, 〈https://zengo.com/the-wallet-seed-saviors/ 월렛 씨앗 구원자]〉, 《Zengo》, 2019-01-22
- ↑ 코우즈마 토모카즈, 〈HD Wallet에서 Bitcoin의 SegWit 주소를 처리하려면 BIP49과 BIP84를 사용〉, 《블록 체인 엔지니어로 사는》, 2019-05-16
참고자료