부모 키 (Parent Key)
부모 키(Parent Key)는 HD 지갑(계층적 결정적 지갑)에서 자식 키를 파생시키는 데 사용되는 키입니다. 하나의 부모 키에서 매우 많은 수의 자식 키를 차례로 만들 수 있고, 각 자식 키는 다시 자신의 자식 키를 만드는 부모 키가 될 수 있습니다. 트리의 맨 위에 있는 부모 키가 마스터 개인 키입니다.
작동 방식
BIP32 규격에서 자식 키는 부모 키, 부모의 체인 코드, 자식 번호(인덱스)를 HMAC-SHA512에 넣어 계산합니다. 같은 부모 키와 체인 코드, 같은 인덱스를 쓰면 언제나 같은 자식 키가 나오므로, 부모 확장 키(키와 체인 코드를 합친 것)만 있으면 그 아래의 모든 자식 키를 다시 만들 수 있습니다. 반대로 자식 키만으로는 부모 키를 거꾸로 계산할 수 없습니다(예외는 아래 ‘위임’ 항목 참고).
비유
호텔 객실 금고의 마스터 키를 생각해 보세요. 이 마스터 키로 각 투숙객을 위한 개별 키(자식 키)를 만들 수 있습니다.
- 부모 키는 호텔에서 보관하는 마스터 키입니다.
- 부모 키에서 파생된 각 자식 키는 고유하며 특정 금고만 열 수 있습니다.
HD 지갑에서 각 자식 키는 암호화폐 자금의 일부, 즉 특정 주소에 대한 접근을 제어합니다.
부모 키가 쓰이는 이유
- 질서 있는 관리: 수백 개의 비트코인 주소를 개별 키로 관리하면 백업 부담과 실수 위험이 커집니다. 부모 키를 쓰면 이런 키들을 트리와 같은 하나의 구조로 정리할 수 있습니다.
- 간소화된 백업 및 복구: 부모 확장 키(실제로는 보통 시드 구문)만 백업하면 파생된 모든 자식 키와 관련 자금을 복구할 수 있습니다.
- 향상된 개인 정보 보호: 각 거래에 대해 새로운 자식 키를 생성하여 거래 간의 연결을 줄일 수 있습니다.
- 업무용 활용: 기업은 부모 키에서 고객이나 거래마다 고유한 자식 키를 생성하여 입금 구분과 회계를 쉽게 할 수 있습니다.
- 위임: 특정 자식 키(또는 그 하위 가지)만 공유하면 해당 범위의 자금에만 접근하도록 할 수 있습니다. 다만 비강화 파생에서는 자식 개인 키와 부모 확장 공개 키가 함께 노출되면 부모 개인 키가 계산될 수 있습니다.
단점
- 단일 실패 지점: 백업이 하나로 모인다는 것은 반대로 그 하나가 위험 지점이라는 뜻입니다. 부모 키가 유출되면 연결된 모든 자식 키와 자금이 위험에 처하고, 부모 키와 백업을 모두 잃으면 모든 자식 키의 자금에 접근할 수 없습니다. 따라서 안전하게 보관해야 합니다.
- 복잡성: HD 지갑을 구현하고 관리하려면 기본 암호화 원리에 대한 이해가 필요합니다.
부모 키는 HD 지갑에서 키를 체계적으로 관리하고 백업하는 구조의 기반입니다.
이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.