본문으로 건너뛰기
buybitcoinsmart

용어집 / 주소와 키

비압축 공개 키

비압축 공개 키란 무엇입니까?
비압축 공개 키는 타원 곡선 상의 한 점을 이루는 두 좌표를 0x04 접두사 뒤에 그대로 기록하며 65바이트를 차지하고, 오늘날에는 주로 2012년 이전에 생성된 키에서 남아 있습니다.

비트코인의 초기 소프트웨어는 x와 y 값을 모두 기록했으며, 그래서 2009년과 2010년의 코인은 65바이트 키에서 파생된 주소 뒤에 놓여 있습니다. 이후 SegWit이 이 형식의 문을 닫았는데, BIP-143은 버전 0 위트니스 프로그램에서 비압축 키를 금지하며 bc1q 주소는 비압축 키를 사용할 수 없습니다. 오래된 종이 지갑을 복구하는 중이라면, 자금이 나타나는지를 결정하는 것이 바로 이 세부 사항입니다.

작동 방식

비압축 공개 키는 이름만큼이나 문자 그대로의 구조를 가집니다. 0x04의 접두사 바이트 1개가 형식을 알리고, 그다음 32바이트가 x 좌표를, 다시 32바이트가 y 좌표를 주어 합계 65바이트가 됩니다. 읽는 데 계산이 필요하지 않습니다. 점의 두 부분이 이미 모두 있기 때문이며, 원래 구현이 당시의 하드웨어에서 이 형식을 택한 이유도 바로 이것입니다.

유효성 규칙은 기반 계층에서 이 형식을 따로 취급한 적이 없습니다. 레거시 pay-to-public-key-hash나 pay-to-script-hash 지출을 검증하는 노드는 비압축 키를 문제없이 받아들이며, 2010년에 비압축 키에 잠긴 코인은 기한 없이 계속 지출할 수 있습니다. 달라진 것은 그 위에 쌓인 모든 것입니다. BIP-32 지갑은 압축 키만 파생하므로 시드 문구로는 비압축 키를 만들 수 없고, SegWit은 위트니스 버전 0 지출 안에서 이들을 무효로 만들었습니다.

추가 32바이트의 비용은 지출 시점에 치릅니다. 압축 키를 담은 레거시 입력은 약 148 v바이트이고, 같은 입력에 비압축 키를 담으면 약 180 v바이트로, 동일한 지출에 대해 약 22% 더 큽니다. 수수료가 급등할 때 이런 입력 열두 개를 통합하는 상황에서 그 차이는 더 이상 사소한 것이 아닙니다.

볼 수 있는 곳

여전히 사람에게 비압축 키를 건네는 산출물은 세 가지이며, 셋 모두 같은 시기에서 비롯됩니다.

2011년부터 2013년까지 생성기 사이트가 인쇄한 종이 지갑은 대개 1로 시작하는 주소와 5로 시작하는 Wallet Import Format 문자열을 만들었으며, 이는 이 형식의 비압축 쪽을 나타내는 표시입니다. 2011년과 2013년 사이에 주조된 Casascius 시리즈의 실물 코인은 변조 흔적이 드러나는 홀로그램 아래에 같은 종류의 문자열을 숨겼습니다. 그리고 아주 초기 지갑 소프트웨어에서 내보낸 개인 키는 이 전환 이전의 것입니다.

오래된 키 복구하기

함정은 인코딩이 아니라, 하나의 개인 키가 서로 다른 두 주소를 만든다는 점입니다. 65바이트 키를 해시하면 하나의 레거시 주소가 나오고, 같은 키의 33바이트 압축 버전을 해시하면 전혀 다른 주소가 나옵니다. 압축을 전제하는 최신 소프트웨어에 키를 가져오면 잔액이 0으로 보일 수 있지만, 코인은 다른 주소에 그대로 남아 있습니다.

오래된 자료를 잘 다루는 지갑, 그중에서도 Electrum은 키를 가져오는 대신 스윕할 때 두 가지 파생 결과를 모두 확인합니다. 스윕이 더 안전한 작업이기도 합니다. 코인을 현재 시드 문구가 관리하는 주소로 옮기므로, 서랍에 오래 놓여 있었거나 휴대전화로 촬영되었거나 이전 소유자가 보았던 출력물은 더 이상 아무것도 지출할 수 없게 됩니다. 복구가 실패했다고 판단하기 전에 블록 탐색기에서 두 주소 형식을 모두 확인하십시오.

혼동하기 쉬운 용어

자주 묻는 질문

비압축 공개 키 뒤에 있는 코인은 여전히 지출할 수 있습니까?

예. 레거시 출력은 비압축 키를 만료 없이 받아들이며, 어떤 업그레이드에서도 이를 바꾸지 않았습니다. 유일한 제한은 네이티브 SegWit 지출이 이를 거부한다는 것이므로, 코인은 먼저 레거시 입력을 거쳐야 합니다.

오래된 개인 키가 서로 다른 두 주소를 표시하는 이유는 무엇입니까?

같은 키의 압축 버전과 비압축 버전은 서로 다른 바이트 문자열이고, 각각이 자기 주소로 해시되기 때문입니다. 복구가 실패했다고 결론 내리기 전에 두 주소의 잔액을 모두 확인하십시오.

다음에 읽을 글

관련 용어

주소와 키 분야의 다른 용어

이 페이지를 영어로 읽기