본문으로 건너뛰기
buybitcoinsmart

용어집 / 주소와 키

키 인덱스

키 인덱스란 무엇입니까?
키 인덱스는 HD 파생의 각 단계에서 0부터 4,294,967,295까지의 범위에서 선택되어, 상위 키의 어떤 하위 키에 도달하는지를 결정하는 숫자입니다.

BIP-32에 명시되어 있습니다.

인덱스는 지갑이 세는 방식입니다. 트리의 각 계층은 32비트 숫자를 사용하므로, 하나의 상위 키에는 가능한 하위 키가 4,294,967,296개 있고, 그 범위의 상위 절반 전체는 2,147,483,648부터 강화 파생에 예약되어 있습니다. 일상적으로는 경로의 마지막 인덱스만 접하게 됩니다. 수신 버튼을 누를 때마다 올라가는 인덱스입니다.

작동 방식

인덱스는 한 하위 키와 그 다음 하위 키 사이에서 유일하게 다른 요소입니다. 파생 과정에서 인덱스는 4바이트 빅엔디언 숫자로 직렬화되어 해시 계산 전에 상위 키 자료에 덧붙여지므로, 인덱스 0과 인덱스 1은 서로 눈에 보이는 관계가 없는 결과를 만들어냅니다. 그 단계에서 다른 것은 달라지지 않습니다.

범위는 2,147,483,648에서 둘로 나뉩니다. 그 선 아래에서는 파생이 일반 방식이며, 상위 확장 공개 키만으로 어떤 비밀도 없이 하위 공개 키를 계산할 수 있습니다. 그 선과 같거나 위에서는 파생이 강화 방식이므로 상위 개인 키가 반드시 참여해야 하며, 공개 자료만으로는 아무것도 얻을 수 없습니다. 표기법은 그 산술을 감춥니다. 84' 또는 84h라고 쓰는 것은 인덱스 2,147,483,732를 뜻하며, 이는 84에 강화 오프셋을 더한 값입니다.

같은 대상을 가리키는 두 표기법은 필요 이상으로 혼란을 일으킵니다. 오래된 문서와 대부분의 지갑 화면은 m/84'/0'/0'처럼 아포스트로피를 사용하는 반면, Bitcoin Core가 출력하는 디스크립터는 m/84h/0h/0h를 선호합니다. 둘은 동일합니다. 문자 형태가 존재하는 이유는 셸 인수 안의 아포스트로피가 따옴표 처리상의 위험이기 때문이며, 그것을 bitcoin-cli에 붙여 넣으면 디버깅하기 번거로운 방식으로 깨집니다.

확인할 수 있는 곳

경로의 마지막 숫자가 매일 접하는 인덱스입니다. m/84h/0h/0h/0/7에서 0은 수신 체인을 선택하고 7은 지갑이 내어 준 여덟 번째 주소를 표시하며, 0부터 셉니다. 잔돈은 체인 1에 자체 카운터가 있으므로, 새로 만든 지갑의 첫 번째 잔돈 출력은 m/84h/0h/0h/1/0에 위치하며, 두 카운터는 독립적으로 진행됩니다.

순차적으로 세는 방식은 복구를 가능하게 만들고, 동시에 복구를 실패하게 만드는 원인이기도 합니다. BIP-44는 복구하는 지갑에게 미사용 주소 20개를 연속으로 앞으로 파생한 뒤 탐색을 멈추라고 지시하므로, 그 앞에 긴 공백 구간이 있는 인덱스 45에서 받은 코인은 갭 한도를 직접 올리기 전까지 잔액 0으로 표시됩니다. Bitcoin Core는 미리 파생해 둔 키 풀을 유지하여, 기본값으로 1,000개를 두고 소비되는 대로 채워 넣음으로써 이 문제를 피합니다.

탐색은 한 계층 위에서도 같은 방식으로 작동합니다. 복구하는 지갑은 계정 0'를 확인하고 거래 내역을 발견하면 계정 1'로 넘어가며, 거래가 전혀 없는 첫 계정에서 멈춥니다. 따라서 계정 5'를 만들고 그 아래 계정들을 비워 두면, 나중의 복구가 사용자의 코인을 놓치게 만드는 확실한 방법이 됩니다.

키 인덱스 vs 파생 경로

인덱스는 숫자 하나이고, 경로는 그 숫자들의 순서 있는 목록입니다. m/84h/0h/0h/0/7에는 인덱스 다섯 개가 들어 있으며, 일반적인 사용에서는 마지막 하나만 움직입니다. 목적, 코인 유형, 계정, 체인은 지갑이 존재하는 동안 고정되어 있기 때문입니다. 이 구분은 지원 문서가 파생 경로를 확인하라고 안내할 때 중요합니다. 그것은 주소 카운터가 아니라 고정된 접두사를 뜻하며, 접두사가 잘못되어 사라진 잔액은 수신 버튼을 아무리 눌러도 되살릴 수 없습니다.

혼동하기 쉬운 용어

자주 묻는 질문

숫자 뒤의 아포스트로피는 무슨 뜻입니까?

그 인덱스가 강화 방식임을 표시하며, 인덱스에 2,147,483,648을 더합니다. 따라서 0'는 인덱스 2,147,483,648이고 84'는 인덱스 2,147,483,732입니다. 일부 소프트웨어는 아포스트로피 대신 h를 쓰며, 두 형태는 정확히 같은 것을 뜻합니다.

복구한 지갑이 이전보다 적은 주소를 표시하는 이유는 무엇입니까?

복구 소프트웨어는 미사용 주소가 20개 연속으로 나올 때까지 앞으로 파생한 뒤 멈춥니다. 주소를 사용하지 않고 많이 생성했다면 지갑 설정에서 갭 한도를 올리고 다시 스캔하여 해당 분기 더 앞까지 탐색하게 하십시오.

관련 용어

주소와 키 분야의 다른 용어

이 페이지를 영어로 읽기