BIP-32, BIP-39, BIP-44, BIP-49 알아보기

BIP-32

  • BIP32는 Bitcoin Improvement Proposal의 약자로, Bitcoin 지갑 소프트웨어가 계층적 결정론적 지갑(Hierarchical Deterministic Wallet)을 구현하는 데 사용하는 기술적 표준
  • 계층적 결정론적 지갑(Hierarchical Deterministic Wallet)은 마스터 비밀키(master private key)를 가지고 여러 개의 자식 비밀키(child private key)를 생성하는 방식으로 작동
  • 이 방식으로 생성된 지갑은 계층 구조를 가지며, 하나의 마스터 비밀키로 여러 개의 지갑 주소를 생성할 수 있음
  • 마스터 키 생성

BIP32는 마스터 키를 생성하는 데 사용하는 표준 방식을 제공합니다. 마스터 키는 무작위 엔트로피(entropy)를 사용하여 생성됩니다. 마스터 키는 256비트의 엔트로피를 입력으로 사용하여 생성되며, 이는 24개의 단어로 이루어진 니모닉(mnemonic) 문구로 표시될 수 있습니다.

  • 계층 구조

BIP32는 하나의 마스터 키로부터 생성된 자식 키를 위한 계층 구조를 제공합니다. 각 계층은 인덱스(index) 값을 가지며, 하나의 마스터 키에서 무한히 많은 계층을 생성할 수 있습니다.

  • 확장 키(Extended Key)

BIP32는 확장 키(Extended Key)라는 개념을 도입합니다. 확장 키는 계층 구조를 포함하는 키로, 이전 계층의 상태를 보존하면서 다음 계층을 계산하는 데 사용됩니다.

  • 계층 결정론적 지갑(Hierarchical Deterministic Wallet)

BIP32는 계층 결정론적 지갑(Hierarchical Deterministic Wallet)을 지원합니다. 계층 결정론적 지갑은 하나의 마스터 키를 사용하여 무수히 많은 지갑 주소를 생성할 수 있습니다. 이 방식으로 생성된 지갑은 백업이 간편하고 보안성이 높습니다.


BIP-39

  • 지갑 소프트웨어가 사용자가 기억하기 쉬운 니모닉(mnemonic) 문구를 사용하여 마스터 키(master key)를 생성하는 데 사용하는 기술적 표준
  • BIP39는 다음과 같은 핵심 요소를 정의
  • 니모닉(mnemonic) 생성

BIP39는 무작위 엔트로피(entropy)를 입력으로 사용하여 12~24개의 단어로 이루어진 니모닉 문구를 생성하는 표준 방식을 제공합니다. 니모닉 문구는 비밀번호와 같은 역할을 합니다. 이 문구를 사용하여 지갑을 복원할 수 있습니다.

  • 엔트로피(entropy)

BIP39는 무작위 엔트로피를 사용하여 니모닉 문구를 생성합니다. 엔트로피는 안전하게 무작위로 생성해야 하며, 이를 위해 컴퓨터의 난수 생성기를 사용하거나 하드웨어 장비를 사용할 수 있습니다.

  • 체크섬(checksum)

BIP39는 니모닉 문구에 대한 체크섬을 생성합니다. 체크섬은 니모닉 문구에 대한 오류 검사를 수행합니다.

  • 니모닉 문구의 이용

BIP39는 니모닉 문구를 사용하여 마스터 키를 생성하는 방식을 제공합니다. 니모닉 문구를 사용하여 마스터 키를 생성하면, 계층 결정론적 지갑(Hierarchical Deterministic Wallet)을 생성할 수 있습니다.

  • 따라서, BIP39는 사용자가 기억하기 쉬운 니모닉 문구를 사용하여 안전하고 쉽게 마스터 키를 생성하는 표준
  • BIP39는 Bitcoin 지갑 소프트웨어에서 많이 사용되며, 사용자의 편의성을 높이는 데 기여
  • 니모닉 문구를 사용하면, 사용자는 마스터 키를 안전하게 백업하고 복원할 수 있음

BIP-44

  • BIP44는 비트코인과 비트코인 기반의 알트코인에서 사용되는 계층 결정 지갑(Hierarchical Deterministic Wallet, HD Wallet) 구조의 표준을 정의한 비트코인 개선 제안서(BIP-32의 개선버전)
  • BIP44는 지갑 소유자가 하나의 시드 문구(seed phrase)를 생성하여 다수의 지갑 주소를 생성할 수 있도록 하는 HD 지갑 구조를 정의
  • 이 구조에서는 마스터 키(Master Key)에서 파생된 계정(Account), 각 계정에서 파생된 외부(External) 및 내부(Internal) 체인, 그리고 각 체인에서 파생된 주소(Address)를 사용하여 지갑 주소를 생성
  • BIP44에서는파생 경로(derivation path)를 사용하여 지갑 주소를 생성
m / purpose' / coin_type' / account' / change / address_index
  • m: 마스터 키(Master Key)

  • purpose': 고정값 44로 설정

  • coin_type': 코인 타입(예: 비트코인, 이더리움 등)에 해당하는 고유한 값으로 설정

  • account': 계정(Account) 번호

  • change: 외부(External) 및 내부(Internal) 체인 중 하나를 선택(0:외부 체인, 1:내부 체인)

  • address_index: 체인에서 파생된 지갑 주소의 인덱스

  • 다수의 코인 타입을 지원하므로, 다양한 종류의 암호화폐를 지원하는 지갑을 구현하기에 용이


BIP-49

  • BIP49는 P2WPKH-nested-in-P2SH(Pay-to-Witness-Public-Key-Hash nested in Pay-to-Script-Hash) 출력 스크립트를 사용하여 Segregated Witness(SegWit)를 사용하는 계층 결정 지갑(Hierarchical Deterministic Wallet, HD Wallet)을 위한 파생 경로(Derivation Path)를 정의

  • P2WPKH-nested-in-P2SH 출력 스크립트는 SegWit과 레거시(Legacy) 주소를 모두 지원하면서, SegWit의 장점인 트랜잭션 크기 감소와 수수료 절감을 제공

  • BIP49에서는 이러한 P2WPKH-nested-in-P2SH 출력 스크립트를 사용하여 SegWit 주소를 생성하는 파생 경로를 정의

  • BIP49에서 정의된 파생 경로는 m / 49' / coin_type' / account' / change / address_index

  • 여기서 49는 P2WPKH-nested-in-P2SH 출력 스크립트에 사용되는 데 사용되는 BIP49의 버전 번호

  • coin_type은 코인의 유형을 식별하는 데 사용되는 값, 각 코인에 대해 고유한 값을 갖습니다.

  • account는 지갑 내에서 계정을 식별하는 데 사용되는 값

  • change는 내부(Internal) 및 외부(External) 체인을 식별하는 데 사용되는 값이며, 각각 0과 1 값

  • address_index는 파생된 SegWit 주소의 인덱스를 나타내는 값

  • BIP49를 사용하면 지갑 소유자는 SegWit을 사용하는 지갑을 더 쉽게 관리할 수 있음

  • 또한, SegWit을 사용하는 것으로 인해 트랜잭션 크기가 작아지기 때문에, 수수료를 절감

  • 따라서 BIP49는 비트코인 네트워크에서 보다 효율적이고 안전한 거래를 위한 방법


BIP-32, BIP-44 차이점

  • BIP32와 BIP44 모두 비트코인 및 비트코인 기반의 알트코인에서 사용되는 계층 결정 지갑(Hierarchical Deterministic Wallet, HD Wallet) 구조의 표준을 정의한 비트코인 개선 제안서(BIP)
  • 하지만 BIP32는 마스터 키(Master Key)와 파생된 키(Derived Key)를 생성하는 계층 구조를 정의
  • BIP44는 계정(Account), 체인(Chain), 주소(Address)를 생성하는 파생 경로(Derivation Path)를 정의

BIP32에서는 마스터 키를 생성하고, 이를 사용하여 다수의 파생된 키를 생성할 수 있습니다. 마스터 키는 시드 문구(seed phrase)에서 생성되며, 이를 기반으로 파생된 키들을 생성할 수 있습니다. BIP32에서는 파생된 키를 사용하여 지갑 주소를 생성하는 방식을 사용합니다.

반면, BIP44에서는 파생 경로를 사용하여 지갑 주소를 생성합니다. BIP44에서는 계정(Account), 체인(Chain), 주소(Address)를 생성하는 파생 경로를 정의합니다. 계정(Account)은 마스터 키에서 파생된 첫 번째 레벨의 파생 경로이며, 각 계정에서는 내부(Internal) 및 외부(External) 체인을 생성할 수 있습니다. 내부 체인은 해당 계정에서만 사용되는 주소를 생성하는 데 사용되며, 외부 체인은 해당 계정의 주소를 공유하는 데 사용됩니다. 각 체인에서는 파생된 지갑 주소를 생성하는 데 사용되는 파생 경로가 정의됩니다.

  • 결론적으로 BIP44는 BIP32의 확장된 버전으로, 다양한 코인 타입을 지원하는 지갑을 쉽게 구현할 수 있습니다.
Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

[by @happyberrysboy] BIP-32, BIP-39, BIP-44, BIP-49 알아보기
https://www.steemit.com/@kr-dev.cu4/happyberrysboy-posting-2023-02-27-16-13

@kr-dev.cu4님이 당신을 멘션하였습니다.
멘션을 받고 싶거나 받지 않으시려면 댓글을 남겨주세요. 빠른 시일내에 반영하도록 하겠습니다.

This post has been upvoted by @italygame witness curation trail


If you like our work and want to support us, please consider to approve our witness




CLICK HERE 👇

Come and visit Italy Community



Hi @happyberrysboy,
my name is @ilnegro and I voted your post using steem-fanbase.com.

Come and visit Italy Community

비트코인 스터디 화이팅~!

[Voting Lottery PayBack 4 적립금 304 STEEM] 관심작가(2023-02-28)
https://www.steemit.com/@veryhappyday/voting-lottery-payback-4--304-steem-2023-02-28

@veryhappyday님이 당신을 멘션하였습니다.
멘션을 받고 싶거나 받지 않으시려면 댓글을 남겨주세요. 빠른 시일내에 반영하도록 하겠습니다.

해적 코인(PIR) 재단 재정 상황 3/1 (2023)
https://www.steemit.com/@pircoin/pir-31-2023

@pircoin님이 당신을 멘션하였습니다.
멘션을 받고 싶거나 받지 않으시려면 댓글을 남겨주세요. 빠른 시일내에 반영하도록 하겠습니다.

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.028
BTC 57142.21
ETH 2984.63
USDT 1.00
SBD 2.25