HD 서명 장치
HD 서명 장치는 하나의 씨앗에서 여러 열쇠와 주소를 계층적으로 만들어 관리합니다. HD는 계층적 결정성(Hierarchical Deterministic)을 뜻하며, 이 키 파생 구조는 BIP32에 설명되어 있습니다. 서명 장치는 개인키로 거래에 서명하는 도구입니다. 같은 씨앗과 같은 파생 경로를 사용하면 같은 열쇠와 주소를 다시 만들어 낼 수 있습니다.
주소가 계속 바뀌는 이유
서명 장치에서 받을 주소를 열 때마다 어제와 다른 주소가 나타날 수 있습니다. 처음에는 예전 주소가 사라졌거나 기존 자금을 잃은 것처럼 보이지만, 새 주소가 생겼다고 해서 예전 주소가 없어지는 것은 아닙니다. 예전 주소로 들어온 돈도 그대로 사용할 수 있습니다.
주소를 하나만 계속 사용하면 거래 내역이 한 줄로 이어집니다. 누가 언제 얼마를 보냈는지 주소만으로 연결해 보기 쉬워지므로, 거래를 구분하고 프라이버시를 보호하기 위해 새 주소를 사용하는 경우가 많습니다.
씨앗 하나에서 여러 열쇠가 나오는 구조
주소를 새로 만들 때마다 열쇠도 하나씩 필요합니다. 예전에는 열쇠가 늘어날 때마다 따로 백업해야 했고, 백업을 빠뜨리면 그 주소의 자금을 잃을 수 있었습니다.
BIP39 복구 문구를 사용하는 HD 서명 장치에서는 문구와 선택적으로 사용하는 패스프레이즈로 씨앗을 얻고, 씨앗에서 첫 열쇠를 계산합니다. 여기에 번호를 붙여 다음 열쇠를 계산하고, 같은 과정을 반복해 여러 열쇠를 만들어 냅니다.
씨앗 하나에서 나무가 자라 가지와 잎이 뻗어 나오는 모습으로 생각할 수 있습니다. 잎을 하나하나 따로 챙기는 대신 씨앗을 보관하면, 같은 씨앗으로 같은 나무를 다시 만들 수 있습니다.
파생 경로와 결정성
각 열쇠가 열쇠 나무의 어느 자리에 있는지는 숫자를 빗금으로 이어 적은 파생 경로로 나타냅니다. BIP44 형식의 경로에는 용도, 자산 종류를 식별하는 번호, 계정 번호 같은 정보가 차례로 들어갑니다. 다른 기기에서 키를 복원할 때는 씨앗뿐 아니라 사용하는 파생 경로도 맞아야 합니다.
같은 씨앗에 같은 파생 경로를 넣으면 언제나 같은 열쇠가 나옵니다. 이 성질을 결정성이라고 합니다. 결과가 무작위처럼 보여도 같은 입력으로 다시 만들 수 있기 때문에, 열쇠를 하나씩 백업하지 않고 복구 문구를 중심으로 백업할 수 있습니다.
잔돈 주소도 같은 서명 장치에 속합니다
비트코인을 보낼 때 입력 금액이 보내는 금액과 수수료의 합보다 크면 남는 금액이 생깁니다. 이 잔돈은 새 주소로 돌아올 수 있으며, 그 주소를 잔돈 주소라고 부릅니다. 사용되지 않은 거래 출력과 잔돈에 관한 설명은 비트코인 개발자 문서에서 확인할 수 있습니다.
잔돈 주소는 낯선 새 주소처럼 보이지만, 내 열쇠 나무의 다른 가지에 있는 주소일 수 있습니다. 앱은 여러 주소의 잔액을 모아 보여 주므로, 화면에서 특정 주소의 금액이 사라진 것처럼 보여도 실제 자금이 사라진 것은 아닐 수 있습니다.
주소를 잃어버린 것은 아닙니다
새 주소가 나와도 예전 주소가 무효가 되는 것은 아닙니다. 같은 씨앗에서 나온 가지라면 예전 주소로 들어온 돈도 기존처럼 사용할 수 있습니다.
주소가 수십 개로 늘어나면 각각의 잔액을 직접 관리해야 할 것 같지만, 서명 장치 앱은 여러 주소를 훑어 합산해 보여 줍니다. 사용자가 보는 것은 하나의 잔액이고, 내부에서는 여러 주소와 열쇠가 함께 관리됩니다.
공개 정보만 넘겨주는 방식
열쇠의 공개된 부분만 따로 넘겨 잔액과 거래 내역을 확인하게 할 수도 있습니다. 이 경우 공개된 주소와 잔액은 볼 수 있지만, 개인키가 없으므로 거래에 서명할 수 없습니다.
따라서 회계나 감시처럼 확인만 필요한 용도로 활용할 수 있습니다. 개인키를 넘기지 않고 잔액과 거래 내역만 보여 주는 방식입니다.
다른 서명 장치로 옮길 때 확인할 점
다른 앱이나 기기에서 키와 주소를 복원했는데 잔액이 비어 보인다면, 자금이 사라졌다고 바로 단정하지 않아야 합니다. 새 서명 장치가 원래 서명 장치와 다른 파생 경로를 보고 있을 수 있습니다.
옮기기 전에 사용하던 서명 장치의 파생 경로를 확인하고, 새 서명 장치에서 같은 경로를 선택합니다. 주소 몇 개가 예전과 같은지 대조하면 올바른 가지를 보고 있는지 확인하는 데 도움이 됩니다. 잔액이 보이지 않는다고 복구 문구를 여러 곳에 다시 입력하는 일은 피해야 합니다.
HD 서명 장치는 씨앗 하나에서 열쇠와 주소를 계속 만들어 내는 구조입니다. 같은 씨앗과 같은 파생 경로라면 같은 열쇠가 다시 나오므로, 주소가 바뀌어도 예전 주소와 자금은 사라지지 않습니다.
관련 개념은 니모닉에서 확인할 수 있습니다.