BIP32 편집하기
최신판 | 당신의 편집 | ||
89번째 줄: | 89번째 줄: | ||
==직렬화 형식== | ==직렬화 형식== | ||
− | 확장 공개 키와 비공개 키는, 다음과 같이 | + | 확장 공개 키와 비공개 키는, 다음과 같이 직렬화됩니다. |
*4 바이트 : 버전 바이트 (mainnet : 0x0488B21E public, 0x0488ADE4 private, testnet : 0x043587CF public, 0x04358394 private) | *4 바이트 : 버전 바이트 (mainnet : 0x0488B21E public, 0x0488ADE4 private, testnet : 0x043587CF public, 0x04358394 private) | ||
97번째 줄: | 97번째 줄: | ||
*32 바이트 : 체인 코드 | *32 바이트 : 체인 코드 | ||
*33 바이트 : 공개 키 또는 개인 키 데이터 (공개 키의 경우 ser P (K), 개인 키의 경우 0x00 || ser 256 (k)) | *33 바이트 : 공개 키 또는 개인 키 데이터 (공개 키의 경우 ser P (K), 개인 키의 경우 0x00 || ser 256 (k)) | ||
− | 이 78 바이트 구조는 처음에 32 개의 체크섬 비트 (이중 SHA-256 체크섬에서 파생 됨)를 추가 한 다음 Base58 표현으로 변환하여 Base58의 다른 Bitcoin 데이터와 같이 인코딩 할 수 | + | 이 78 바이트 구조는 처음에 32 개의 체크섬 비트 (이중 SHA-256 체크섬에서 파생 됨)를 추가 한 다음 Base58 표현으로 변환하여 Base58의 다른 Bitcoin 데이터와 같이 인코딩 할 수 있습니다. 그 결과 Base58로 인코딩 된 최대 112 자의 문자열이 생성됩니다. 버전 바이트를 선택했기 때문에 Basenet은 testnet의 메인 트루넷 "xprv"또는 "xpub", "tprv"또는 "tpub"로 시작합니다. |
− | 부모의 지문은 소프트웨어에서 부모 노드와 자식 노드를 빠르게 탐지하는 역할을하며 소프트웨어는 충돌을 | + | 부모의 지문은 소프트웨어에서 부모 노드와 자식 노드를 빠르게 탐지하는 역할을하며 소프트웨어는 충돌을 처리해야합니다. 내부적으로 전체 160 비트 식별자를 사용할 수 있습니다. |
− | |||
+ | 직렬화 된 확장 공개 키를 임포트 할 때, 구현은 공개 키 데이터의 X 좌표가 곡선상의 한 점과 일치하는지 여부를 검증해야합니다. 그렇지 않은 경우 확장 공개 키가 유효하지 않습니다. | ||
==마스터 키 생성== | ==마스터 키 생성== | ||
가능한 확장 된 키 쌍의 총 수는 거의 2 512 이지만 생성 된 키의 길이는 256 비트에 불과하며 보안 측면에서 약 절반을 제공합니다. 따라서 마스터 키는 직접 생성되지 않고 잠재적으로 짧은 시드 값에서 생성된다. | 가능한 확장 된 키 쌍의 총 수는 거의 2 512 이지만 생성 된 키의 길이는 256 비트에 불과하며 보안 측면에서 약 절반을 제공합니다. 따라서 마스터 키는 직접 생성되지 않고 잠재적으로 짧은 시드 값에서 생성된다. |