주소와 키
주소는 비트코인이 전송되는 곳입니다. 개인 키는 그 비트코인을 다시 사용할 수 있게 하는 것입니다. 이 둘을 혼동하는 것이 비트코인에서 가장 값비싼 실수이므로, 이 분야에서는 둘을 세심하게 구분합니다.
원리는 한 방향으로만 진행됩니다. 개인 키는 매우 큰 난수입니다. 공개 키 암호 방식으로 여기에서 공개 키를 도출하고, 주소는 그 공개 키에서 도출됩니다. 따라서 주소를 공개해도 그 뒤에 있는 키에 관해 쓸모 있는 정보는 세상에 전혀 알려지지 않습니다. 키를 잃어버리면 다른 누구도 사본을 가진 적이 없으므로 어떤 고객 지원 창구도 이를 재생성할 수 없습니다.
현대의 지갑은 키를 하나씩 다루라고 요구하지 않습니다. 계층 구조 결정적(HD) 지갑은 하나의 시드에서 파생 경로를 따라 무한히 뻗는 키의 트리를 만들어 내며, 그래서 열두 단어 또는 스물네 단어짜리 백업 하나로 지갑 전체와 그 지갑이 사용한 모든 주소를 복원할 수 있습니다. 확장 공개 키가 중요한 이유도 여기에 있습니다. 엉뚱한 서비스에 확장 공개 키를 넘기면 코인 한 개도 넘기지 않고 전체 거래 내역을 넘기는 셈입니다.
주소 형식은 해마다 바뀌어 레거시에서 SegWit을 거쳐 Taproot에 이르렀고, 어떤 형식을 쓰는지에 따라 거래 비용이 달라집니다. 이 항목들은 프라이버시를 가장 많이 조용히 유출하는 두 가지 습관인 주소 재사용과 거스름돈 주소와 함께 이곳에 있습니다.
용어 40개. 마지막 검토일은 2026년 10월 29일입니다.
주소와 키 분야의 용어
- 개인 키개인 키는 비트코인 출력에서 자금을 사용할 권한을 부여하는 256비트의 비밀 숫자입니다. 이를 알게 된 사람은 누구든 코인을 옮길 수 있으며, 누구도 이를 다시 발급할 수 없습니다.
- 고유 주소고유 주소는 단 한 건의 결제에만 등장하고 다시는 발급되지 않으며, BIP-32를 기반으로 한 모든 지갑이 기본적으로 이렇게 동작합니다.
- 공개 키공개 키는 개인 키에서 유도된 secp256k1 곡선 위의 점으로서, 위험 없이 공개할 수 있으며, 코인을 사용할 때 서명을 검증하는 기준이 되는 값입니다.
- 레거시 주소별칭: 1 address레거시 주소는 1로 시작하는 Base58Check 문자열로, 최초의 비트코인 주소 형식이며, 이러한 주소에 있는 코인은 이동하는 데 비용이 가장 많이 듭니다.
- 마스터 체인 코드별칭: Master chain code마스터 체인 코드는 시드의 64바이트 해시 오른쪽 절반으로, HD 지갑 트리의 깊이 0에 위치한 마스터 개인 키의 짝입니다.
- 배니티 주소배니티 주소는 주소 자체의 문자로 원하는 단어나 접두사를 구현하며, 무작위 키를 계속 생성해 그중 하나가 해당 패턴을 인코딩할 때까지 탐색하여 찾습니다.
- 비압축 공개 키비압축 공개 키는 타원 곡선 상의 한 점을 이루는 두 좌표를 0x04 접두사 뒤에 그대로 기록하며 65바이트를 차지하고, 오늘날에는 주로 2012년 이전에 생성된 키에서 남아 있습니다.
- 비트코인 주소별칭: Address비트코인 주소는 발신자의 지갑에 코인에 어떤 잠금 조건을 적용할지 알려 주는 짧게 인코딩된 문자열로, 이후에는 본인의 키로만 해당 코인을 사용할 수 있습니다.
- 상위 키별칭: 상위 공개 키, 상위 개인 키, Parent key상위 키는 HD 지갑의 트리에서 다른 키 바로 한 단계 위에 위치하며, 모든 확장 키는 자신의 상위 키를 지문으로 나타내는 4바이트를 함께 담고 있습니다.
- 압축 공개 키압축 공개 키는 곡선 위 점의 x 좌표와 1바이트의 패리티 플래그만 저장하여, 완전한 공개 키를 65바이트 대신 33바이트에 담습니다.
- 자식 키별칭: Child key, 자식 공개 키, 자식 개인 키, Child public key자식 키는 난수 생성기가 아니라 파생 단계에서 나오며, 상위 키가 이 키를 생성할 때 사용한 인덱스로 식별됩니다.
- 잔돈 주소별칭: 잔돈 출력잔돈 주소는 지갑이 사용하지 않은 입력의 나머지 부분을 받는 주소입니다. 비트코인 출력은 통째로 소비되기 때문에 남은 금액은 어딘가로 보내져야 합니다.
- 조회 전용 주소별칭: 조회 전용 지갑조회 전용 주소를 사용하면 소프트웨어가 개인 키를 보유하지 않고도 잔액을 추적할 수 있어서, 들어오는 모든 결제를 볼 수 있지만 사토시 하나도 옮길 수는 없습니다.
- 주소 재사용주소 재사용은 같은 비트코인 주소로 2건 이상의 결제를 받는 것을 뜻하며, 그러면 그 주소로 한 번이라도 결제한 모든 사람 사이의 연결이 영구적으로 공개됩니다.
- 중첩 SegWit별칭: Nested SegWit, Wrapped SegWit, P2SH-P2WPKH, 3 주소중첩 SegWit은 네이티브 SegWit 키 해시를 P2SH 주소 안에 감싸는 방식으로, bc1 문자열을 읽지 못하던 소프트웨어와의 호환성을 얻는 대신 입력당 약 23 vbyte를 더 씁니다.
- 지갑 가져오기 형식(WIF)별칭: WIF지갑 가져오기 형식은 하나의 개인 키를 지갑 간에 옮길 때 쓰는 Base58 인코딩으로, 원시 32바이트를 네트워크 바이트와 체크섬으로 감쌉니다.
- 체인 코드체인 코드는 HD 지갑에서 각 키와 함께 전달되는 32바이트의 추가 엔트로피로, 모든 하위 키 도출에 섞여 들어가 키를 형제 키로부터 추측할 수 없게 합니다.
- 출력 디스크립터별칭: Output descriptor, 디스크립터, Descriptor출력 디스크립터는 지갑이 어떤 스크립트 유형과 어떤 키, 어떤 파생 분기를 사용해야 하는지를 명시한 한 줄의 텍스트이며, 끝에 체크섬이 붙습니다.
- 키 쌍키 쌍은 개인 키 1개와 그 키가 생성하는 단 하나의 공개 키를 함께 부르는 말이며, 모든 비트코인 서명과 모든 다중 서명 정족수를 세는 소유의 단위입니다.
- 키 인덱스키 인덱스는 HD 파생의 각 단계에서 0부터 4,294,967,295까지의 범위에서 선택되어, 상위 키의 어떤 하위 키에 도달하는지를 결정하는 숫자입니다.
- 키 지문키 지문은 공개 키의 Hash160 가운데 처음 32비트를 여덟 자리 십육진수로 표기한 것으로, 지갑은 이를 이용해 파생 경로가 어느 키에서 시작하는지 표시합니다.
- 파생 경로파생 경로는 HD 지갑의 키 트리에서 키를 찾아가는 경로로, m/84h/0h/0h/0/0처럼 표기하며, 시드로부터 수십억 개의 키 가운데 어떤 키를 복구해야 하는지 소프트웨어에 정확히 알려줍니다.
- 하드닝 파생별칭: Hardened derivation, 강화 인덱스하드닝 파생은 모든 자식 키 계산에 부모 개인 키를 입력합니다. 그렇기 때문에 유출된 확장 공개 키가 그 아래의 가지를 풀어낼 수 없습니다.
- 하드닝 파생 vs 비하드닝 파생하드닝 파생과 비하드닝 파생은 BIP-32의 자식 인덱스를 절반으로 나눕니다. 비하드닝 자식은 확장 공개 키로 계산할 수 있지만 하드닝 자식은 계산할 수 없습니다.
- 확장 키별칭: xpub, xprv, 확장 공개 키, 확장 개인 키, Extended key확장 키는 일반 비트코인 키를 32바이트 체인 코드와 결합한 것으로, 이 결합 덕분에 소프트웨어가 그 아래의 전체 키 분기를 파생할 수 있습니다.
- Base58Check별칭: Base58Base58Check는 비트코인의 원래 텍스트 인코딩으로, 이진 데이터를 옮겨 적기 쉬운 58개의 문자로 이루어진 문자열로 바꾸고 오타를 잡아내기 위해 4바이트 체크섬을 덧붙입니다.
- Bech32Bech32는 bc1q로 시작하는 문자열에 쓰이는 주소 인코딩으로, 소문자 base32 형식이며 6자리 체크섬이 최대 4개 문자에 영향을 주는 모든 오류를 검출합니다.
- Bech32mBech32m은 체크섬의 상수 하나를 바꾸어 bech32의 결함을 바로잡은 방식이며, bc1p로 시작하는 모든 Taproot 주소는 원래 인코딩 대신 이를 사용합니다.
- BIP-44 목적 레벨BIP-44 목적 레벨은 HD 파생 경로의 첫 번째 숫자로, 하드닝되어 44'로 고정되며, 그 아래의 하위 트리 전체가 하나의 지갑 표준에 속한다고 선언하는 역할을 합니다.
- BIP-49 파생BIP-49 파생은 중첩 SegWit 계정을 m/49'/0'/0'의 별도 브랜치에 두므로, 이를 읽지 못하는 지갑은 잘못된 잔액 대신 아무것도 표시하지 않습니다.
- BIP-84 파생BIP-84 파생은 BIP-32 경로의 목적 수준을 84'로 정하는 방식으로, 시드 문구 1개로 BIP-141의 P2WPKH 캡슐화를 사용하는 네이티브 SegWit bc1q 주소를 얻을 수 있게 합니다.
- BIP-86 파생BIP-86 파생은 단일 키 Taproot 계정을 m/86'/0'/0'에 두고, 이어서 파생된 각 키를 그 키 자신의 해시로 조정하여 주소가 사용할 수 없는 스크립트 경로를 확정하도록 합니다.
- HD 지갑별칭: HD 프로토콜, 계층적 결정적 지갑, BIP32, HD walletHD 지갑은 앞으로 필요로 할 모든 키를 무작위 시드 하나에서 만들어 내며, 그 키들은 BIP-32가 2012년에 규정한 부모와 자식의 트리 구조로 배열됩니다.
- NUMS 포인트NUMS 포인트는 아무도 개인 키를 보유하지 않는 공개 키로, 협력적 지출 경로가 불가능하도록 의도한 경우 taproot 내부 키로 사용됩니다.
- P2PKH 주소별칭: P2PKH address, Pay-to-Public-Key-HashP2PKH는 공개 키의 20바이트 해시에 코인을 잠그는 출력 유형이므로, 공개 키 자체는 사용하는 순간까지 숨겨진 상태로 남습니다.
- P2SH 멀티시그P2SH 멀티시그는 m-of-n 상환 스크립트를 3 주소 뒤에 숨기며, 스크립트 크기 상한인 520바이트 때문에 공개 키 15개로 제한됩니다.
- P2SH 주소별칭: P2SH address, Pay-to-Script-HashP2SH 주소는 3으로 시작하며 상환 스크립트의 해시를 고정하므로, 누군가 스크립트를 공개하기 전까지 지출 조건은 비밀로 유지됩니다.
- P2TR별칭: Taproot 주소, Pay-to-Taproot, bc1p 주소P2TR은 32바이트 길이의 조정된 공개 키 하나로 지급하므로, 한 사람이 서명했든 복잡한 계약이 협력적으로 정산되었든 키 경로 지출은 온체인에서 동일하게 보입니다.
- P2WPKH별칭: 네이티브 SegWit 주소, Pay-to-Witness-Public-Key-Hash, bc1q 주소P2WPKH는 서명과 공개 키를 입력에서 꺼내 위트니스로 옮기며, 위트니스에서는 각 바이트가 4개의 가중치 단위 대신 1개의 가중치 단위로 계산됩니다.
- P2WSH별칭: Pay-to-Witness-Script-HashP2WSH는 코인을 위트니스 스크립트에 대한 32바이트 SHA-256 커밋먼트에 잠그며, 계약에 P2SH보다 훨씬 많은 공간을 주고 스크립트가 공개될 때 해당 스크립트에 할인을 적용합니다.
나머지 13개 분야
- 기본 용어비트코인이란 무엇인지, 사토시란 무엇인지, 그리고 용어집의 나머지 항목이 기대고 있는 몇 가지 핵심 개념.
- 지갑과 수탁핫월렛, 콜드 스토리지, 수탁형, 멀티시그가 각각 누가 코인을 옮길 수 있는지를 어떻게 바꾸는지.
- 프라이버시와 보안사람들의 비트코인을 노리는 공격과, 이를 막는 습관과 도구.
- 트랜잭션과 수수료비트코인 트랜잭션의 구성 요소, 비용이 그만큼 드는 이유, 멈춘 트랜잭션을 풀어 주는 방법.
- 구매와 거래소주문 유형, 스프레드, 수수료 체계: 거래소가 수수료를 부과할 때 쓰는 용어.
- 시장과 투자시가총액, 변동성, 현물 ETF. 가격 전망은 빼고 가격에 관한 용어만 다룹니다.
- 채굴과 합의새 블록이 만들어지는 방식, 난이도가 조정하는 것, 그리고 관리하는 주체가 없는데도 규칙이 지켜지는 이유.
- 프로토콜과 업그레이드SegWit, Taproot, 소프트 포크, BIP: 비트코인이 어떻게 바뀌고 누가 결정하는지.
- 라이트닝과 레이어 2결제 채널, 인보이스, 라우팅: 블록 공간 비용을 내지 않고 비트코인을 옮기기 위한 방식.
- 규제와 세금KYC, 트래블 룰, MiCA, 양도소득: 본인의 계좌와 세금 신고에 닿는 규칙.
- 문화와 역사Mt. Gox, 제네시스 블록, HODL, 그리고 사람들이 비트코인을 이야기하는 방식을 만든 사건과 은어.
- 노드와 소프트웨어Bitcoin Core, 풀 노드, 프루닝, RPC: 규칙을 집행하는 소프트웨어.
- 개발자 참고 자료P2P 메시지 유형, 옵코드, 스크립트 용어: 비트코인 코드를 읽을 때 만나는 필드 이름.
자주 묻는 질문
주소와 개인 키는 어떻게 다릅니까?
주소는 코인이 전송되는 곳이며 공유해도 안전합니다. 개인 키는 코인을 사용하는 수단이며 공유하면 영구히 잃습니다. 이 분야의 모든 사기는 결국 두 번째 것을 요구하면서 그것을 첫 번째 것이라고 부릅니다.
내 지갑은 왜 매번 다른 주소를 보여 줍니까?
하나의 주소를 재사용하면 영구적으로 공개된 장부에서 모든 결제가 서로 연결되기 때문입니다. 지갑은 같은 시드에서 결제마다 새 주소를 생성하므로, 그 주소들은 모두 여전히 내 것이며 같은 백업으로 복구할 수 있습니다.
복구 문구를 잃어버리면 누군가 도와줄 수 있습니까?
아니요. 재설정도, 고객 지원 창구도, 사기가 아닌 복구 서비스도 없습니다. 문구가 곧 지갑입니다. 종이에 적어 모든 화면과 카메라에서 떨어뜨려 보관하고, 화재가 닿지 않을 곳에 두 번째 사본을 보관하십시오.
파생 경로란 무엇이며 신경 써야 합니까?
시드에서 특정 키 집합에 이르는 경로이며 m/84h/0h/0h 같은 형태로 적습니다. 대부분은 무시해도 됩니다. 다른 지갑으로 복원했는데 잔액이 이상해 보인다면, 경로 불일치가 대개 원인입니다.