본문으로 건너뛰기
buybitcoinsmart

용어집 / 주소와 키

키 지문

키 지문이란 무엇입니까?
키 지문은 공개 키의 Hash160 가운데 처음 32비트를 여덟 자리 십육진수로 표기한 것으로, 지갑은 이를 이용해 파생 경로가 어느 키에서 시작하는지 표시합니다.

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

지문은 키에 붙는 고정 폭 라벨이며, 그 폭은 표시상의 선택이 아니라 형식의 일부입니다. BIP-380은 디스크립터의 대괄호 안에 정확히 8자리의 16진수를 요구하며, 자체 테스트 벡터에서는 7자리 지문, 9자리 지문, 16진수 범위 밖의 글자가 들어간 지문을 모두 거부합니다. 지갑이 디스크립터 가져오기를 거부할 때는 먼저 그 필드의 글자 수를 세어 보십시오.

작동 방식

BIP-32는 확장 키에 길이가 다른 두 가지 신원을 부여하며, 지문은 그중 짧은 쪽입니다. 식별자는 직렬화된 공개 키의 Hash160, 즉 SHA-256에 대한 RIPEMD-160이며 체인 코드는 무시하고, 그 식별자의 처음 32비트만을 지문이라고 부릅니다. 나머지 128비트를 버리는 것은 아닙니다. BIP-32에 따르면 160비트 전체 식별자는 내부적으로 사용할 수 있지만 짧은 형태는 부모 노드와 자식 노드를 빠르게 판별하는 용도로만 쓰이므로, 소프트웨어는 충돌을 감당할 준비가 되어 있어야 합니다.

지문 필드와 그 주변의 키가 일치하는 것은 관례가 아니라 유효성 규칙입니다. 마스터 키는 부모가 없으므로 부모 지문 필드에 0x00000000을 기록하며, 유효하지 않은 것으로 인식되어야 하는 키를 모은 BIP-32의 다섯 번째 테스트 벡터에는 깊이가 0인데 부모 지문은 0이 아닌 xprv와 xpub이 모두 들어 있습니다. 이 두 문자열을 아무 문제 없이 가져오는 소프트웨어는 명세를 따르지 않는 것이므로, 복구를 맡기기 전에 알아 둘 만합니다.

확인할 수 있는 곳

키 지문은 무엇보다 두 가지 기계 판독 형식, 즉 출력 스크립트 디스크립터와 부분 서명된 비트코인 트랜잭션에 나타나며, 두 형식 모두에서 파생 경로 바로 앞에 위치합니다.

BIP-380은 키 앞의 대괄호에 키 기원 정보를 넣고 폭에 엄격합니다. 정확히 8자리의 16진수에 이어 경화된 단계와 경화되지 않은 단계가 옵니다. 잘못된 표현 목록에는 바로 그 필드의 실패 세 가지가 이름으로 올라 있습니다. 7자리인 deadbef, 9자리인 deadbeeef, 그리고 16진수가 아닌 글자로 시작하는 gaaaaaaa입니다. 셋 모두 즉시 거부되므로, 지문을 잘못 입력하면 지갑이 조용히 엉뚱한 가지를 지켜보는 것이 아니라 가져오기 오류가 발생합니다.

BIP-174는 4바이트 지문에 32비트 리틀 엔디언 정수로 표기한 경로를 짝지으며, 전역 확장 공개 키 항목에서는 그 정수의 개수가 xpub 자체가 선언한 깊이와 일치해야 합니다. 이 개수 덕분에 서명자는 제시된 라벨을 그대로 믿지 않고 제시된 경로를 받은 키와 대조할 수 있습니다.

기기 화면에서 같은 8자리는 한 가지 질문에 답합니다. 어느 시드인가 하는 것입니다. 잘린 해시는 키나 주소로 되돌릴 수 없으므로 지출에 쓸 수 있는 것은 아무것도 드러나지 않습니다. 그래도 식별자이므로, 같은 8자리를 담은 두 디스크립터는 그 두 키 분기 사이의 눈에 보이는 연결 고리입니다.

키 지문 vs 비트코인 주소

키 지문과 비트코인 주소는 같은 해시에서 시작하지만 그 직후부터 비교 대상이 되지 않습니다. BIP-32는 확장 키의 식별자가 기존 비트코인 주소에 쓰이는 데이터와 정확히 대응한다고 밝힌 뒤, 그 식별자를 base58로 쓰는 것은 권하지 않습니다. 주소로 읽힐 수 있고, 지갑 소프트웨어는 체인 키 자체로의 결제를 받아들일 의무가 없기 때문입니다. 지문은 식별자의 20바이트 가운데 4바이트만 유지하고 일반 16진수로 표기하므로, 우연히라도 결제 목적지로 오인되기에는 너무 짧습니다. 디스크립터의 8자리 16진수는 경로가 어느 키에서 시작했는지 말하고, 주소는 코인이 어디로 갈 수 있는지 말합니다.

혼동하기 쉬운 용어

자주 묻는 질문

지갑 지문은 비밀입니까?

아닙니다. 지문은 공개 키에서 파생되며, 누구에게도 지출하거나 주소를 파생할 수 있는 능력을 주지 않습니다. 그래도 식별자이므로, 두 디스크립터에서 같은 8자리를 보는 사람은 그 두 키 분기 사이의 연결을 보게 됩니다.

서로 다른 두 키가 같은 지문을 가질 수 있습니까?

그렇습니다. 지문은 32비트에 불과하므로 BIP-32는 소프트웨어가 충돌을 감당할 준비가 되어 있어야 한다고 밝히며, 고유성이 중요한 곳에서는 160비트 전체 식별자를 사용할 수 있다고 밝힙니다. 자금을 보내기 전에 지문만이 아니라 수신 주소가 일치하는지 확인하십시오.

다음에 읽을 글

관련 용어

주소와 키 분야의 다른 용어

이 페이지를 영어로 읽기