파생 경로
블록체인과 하드웨어 지갑 사용 시, 파생 경로는 지갑이 생성하는 주소를 결정하고 주소가 지갑 간에 왜 다르게 나타나는지를 설명하는 중요한 개념입니다.
하드웨어 지갑 초보자의 경우, 생성된 주소 형식은 다양한 지갑의 기본 설정에 따라 달라질 수 있습니다. 사용자는 적절한 파생 경로와 주소 형식을 선택함으로써 최적의 거래 효율성과 호환성을 달성할 수 있습니다.
파생 경로란 무엇인가요?
파생 경로는 블록체인 주소가 생성되는 방식을 정의하는 규칙입니다. 특정 경로를 통해 지갑 소프트웨어(하드웨어 지갑 등)는 시드를 기반으로 다양한 주소를 생성할 수 있습니다.
파생 경로의 기본 형식은 다음과 같습니다:
m / purpose' / coin_type' / account' / change / address_index
각 부분은 특정한 의미를 가집니다:
- m: 마스터 경로(마스터 키)를 나타냅니다.
- purpose': 지갑의 목적을 정의하며, 일반적인 값으로는 다음이 포함됩니다:
- 44': 전통적인 비트코인 주소(레거시)에 사용됩니다.
- 49': 중첩된 세그윗 주소에 사용됩니다.
- 84': 네이티브 세그윗 주소에 사용됩니다.
- coin_type': 비트코인과 라이트코인을 구분하며, 비트코인은 0, 라이트코인은 2입니다.
- account': 다양한 사용자 계정을 구분하는 데 사용됩니다.
- change: 0은 외부 주소를 나타내고, 1은 내부 주소(일반적으로 거스름돈)를 나타냅니다.
- address_index: 주소의 인덱스 번호로, 여러 주소를 생성하는 데 사용됩니다.
왜 하드웨어 지갑마다 주소가 다르게 나타나나요?
동일한 시드 문구를 여러 하드웨어 지갑에 가져오지만 생성된 주소가 다를 경우, 이는 보통 파생 경로가 다르기 때문입니다. 여기 몇 가지 일반적인 하드웨어 지갑 브랜드와 그 파생 경로(비트코인용)를 소개합니다.
하드웨어 지갑 | 일반 파생 경로 | 주소 유형 |
---|---|---|
Ledger | m/44'/0'/0'/0/0 | Legacy |
Trezor | m/49'/0'/0'/0/0 | Nested SegWit |
Ledger (SegWit) | m/84'/0'/0'/0/0 | Native SegWit |
서로 다른 지갑은 기본 파생 경로가 다를 수 있으므로, 시드 문구가 동일하더라도 생성된 주소가 다를 수 있습니다. 예를 들어, 레저는 네이티브 세그윗 주소를 생성하기 위해 기본적으로 84'를 사용하며, 트레저는 중첩 세그윗 주소 생성을 위해 기본적으로 49'를 사용할 수 있습니다.
하드웨어 지갑을 사용할 때 적절한 파생 경로를 선택하는 것이 매우 중요하며, 특히 서로 다른 주소 형식 간 전환 시 더욱 그렇습니다.
비트코인을 예로 들면, 원키 하드웨어 지갑과 원키 앱은 레거시, 중첩 세그윗, 네이티브 세그윗, 그리고 탭루트의 파생 경로를 지원하여 암호화폐 여정을 도와줍니다.
레거시, 중첩 세그윗, 네이티브 세그윗
비트코인을 예로 들면, 비트코인 주소는 각기 다른 형식으로 제공되며, 각 형식은 독특한 외관과 기능을 가지고 있습니다:
주소 유형 | 프리픽스 | 파생 경로 | 설명 |
---|---|---|---|
Legacy | 1xxx | m/44'/0'/0'/0/0 | 이는 비트코인의 원래 주소 형식이며 거래 수수료가 더 높습니다. |
Nested SegWit | 3xxx | m/49'/0'/0'/0/0 | P2SH에 중첩된 SegWit 주소는 이전 비트코인 지갑과도 호환됩니다. |
Native SegWit | bc1xxx | m/84'/0'/0'/0/0 | 최신 하드웨어 지갑에 널리 사용되는, 거래 수수료가 낮은 새로운 비트코인 주소 형식입니다. |
다양한 형식과의 호환성을 위해 BIP(Bitcoin Improvement Proposal)는 파생 경로에 대한 다양한 규칙을 도입합니다. 이러한 다양한 주소 형식은 본질적으로 소프트 포크의 결과입니다. 비트코인 네트워크는 소프트 포크를 통해 SegWit 기능을 도입하여 확장성과 거래 효율성을 향상시켰습니다.
분기된 주소는 BIP 프레임워크를 따르나요?
비트코인 및 기타 많은 블록체인 프로젝트에서 사용되는 BIP 프레임워크는 일관성 및 호환성 문제를 해결하는 것을 목표로 합니다. 소프트 포크 이후에도 새로 도입된 주소 형식(예: SegWit)은 다음을 보장하기 위해 BIP 프레임워크 내에서 계속 작동해야 합니다.
- 이전 버전과의 호환성: 이전 지갑은 여전히 새로운 주소 형식을 인식할 수 있습니다.
- 표준화: 서로 다른 지갑이 동일한 규칙을 사용하여 주소를 생성할 수 있습니다.
이러한 방식으로 주소 형식이 변경되었음에도 불구하고(예: 1xxx에서 bc1xxx로) 여전히 BIP 프레임워크의 파생 경로 표준을 따릅니다. 이는 새 지갑과 기존 지갑 간의 호환성을 보장하고 서로 다른 지갑이 주소를 올바르게 생성하고 관리할 수 있도록 보장합니다.