27 / 691ADDR

비트코인 주소

지급 조건 인코딩

Bitcoin 주소는 지갑이 출력 스크립트나 witness 프로그램을 표현하는 인코딩이지 블록체인 계정이 아니다. prefix·데이터·checksum으로 scriptPubKey를 만들지만 거래에는 표시 문자열이 아닌 지출 조건이 들어간다.

Bitcoin 주소는 네트워크별 checksum이 있는 표준 잠금 스크립트 표현이다. P2PKH/P2SH는 Base58Check, SegWit v0는 Bech32, witness v1–16은 Bech32m을 쓴다. bitcoin을 보관하거나 신원을 증명하지 않으며 UTXO는 스크립트가 잠근다.

출력은 금액과 scriptPubKey bytes를 가지며 주소 문자열은 없다. 지갑은 network/checksum을 검사해 표준 script를 만들고 explorer는 알려진 script만 표시용 주소로 역변환한다. 초기 P2PK나 비표준 script에는 canonical address가 없을 수 있다. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — destination encoders and decoders]

Base58Check는 version과 payload 뒤에 SHA256(SHA256(data)) 앞 4 bytes를 붙여 Base58로 인코딩한다. mainnet 0x00=P2PKH, 0x05=P2SH라 보통 1/3으로 시작하며 testnet은 다르다. 0/O/I/l은 제외된다. 32-bit checksum은 오류 검출이지 서명·인증이 아니다. [Bitcoin Core — Base58Check implementation] [Bitcoin Core — destination encoders and decoders]

Bech32는 HRP bc/tb, 구분자 1, witness version, 5-bit data, 6문자 checksum이다. BIP173은 v0 전용이며 삽입 취약점 뒤 BIP350은 v1–16에 Bech32m을 요구한다. 대소문자 혼용 불가, 최대 90자다. 유효해도 잘못된 network나 미지원 version일 수 있다. [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]

P2PKH/P2WPKH는 key HASH160, P2SH는 redeemScript HASH160, P2WSH는 witnessScript SHA256에 commit한다. BIP141 v0는 20-byte P2WPKH 또는 32-byte P2WSH다. P2TR v1은 32-byte tweaked x-only output key Q이며 script Merkle root도 commit할 수 있다. 전체 policy는 드러나지 않는다. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]

P2PK는 key를 공개했고 P2PKH는 지출까지 미뤘다. BIP13/16은 P2SH, BIP141/173은 witness와 Bech32 v0, BIP341/350은 Taproot v1과 Bech32m을 도입했다. 외형 prefix가 아닌 script/consensus 변화라 수동 ‘변환’은 조건 변경이나 영구 잠금을 만든다. [BIP 13 — Address Format for pay-to-script-hash] [BIP 16 — Pay to Script Hash] [BIP 141 — Segregated Witness consensus layer] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later] [BIP 341 — Taproot validation and output keys]

BIP32는 여러 key를 파생한다. BIP44 purpose 44'=P2PKH, BIP84 84'=P2WPKH, BIP86 86'=P2TR 뒤 account·external/change·index를 나눈다. seed만으로 type/path/account/multisig가 복원되지 않을 수 있다. Output descriptors가 key origin과 script를 더 완전하게 보존하며 복구를 시험해야 한다. [BIP 32 — Hierarchical deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 84 — Derivation for native P2WPKH] [BIP 86 — Derivation for single-key P2TR] [Bitcoin Core — Output descriptors]

P2PKH/P2WPKH는 지출 때 보통 public key, P2SH/P2WSH는 redeemScript/witnessScript를 공개한다. P2TR은 tweaked x-only key를 이미 포함하고 key path는 Schnorr signature, script path는 leaf·control block·Merkle path를 드러내되 미사용 leaf는 숨긴다. 주소가 항상 key를 숨기지는 않는다. [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]

주소 재사용은 입금을 연결하고 clustering을 강화하므로 새 external 주소와 internal change를 쓴다. 주소는 사람이 아니다. 공동 제어·다수 주소·custodian 통합이 있으며 explorer ‘balance’는 해당 script UTXO 합계일 뿐 consensus account가 아니다. common-input/change는 오류 있는 heuristic이다. [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — Output descriptors]

checksum·network·case·v0/Bech32와 v1+/Bech32m 조합을 검사해야 한다. 그래도 clipboard malware나 변조 QR은 다른 유효 주소를 넣을 수 있다. 신뢰할 hardware display에서 전체를 확인하고 필요시 소액 test하라. 앞뒤만 보면 look-alike에 속으며 확정 오송금은 되돌릴 수 없다. [Bitcoin Core — Base58Check implementation] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]

주소는 amount/label/message를 담는 BIP21 bitcoin: URI나 Lightning invoice·offer·Lightning Address가 아니다. BIP322는 정해진 방식의 script control만 증명하며 신원·전체 소유권은 아니다. 복잡한 backup은 descriptor나 wallet export를 쓴다. [BIP 21 — URI scheme] [BIP 322 — Generic signed message format] [Bitcoin Core — Output descriptors]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 개인 키, 지갑, 거스름돈 출력, Bitcoin, SegWit, Taproot. 다음 항목에서도 이 글을 참조합니다 암호학적 해시, SHA-256, Cold Storage, Watch-only Wallet.

01Bitcoin 주소는 계좌 번호인가요?

아닙니다. 지갑은 주소에서 scriptPubKey 같은 출력의 잠금 스크립트를 도출합니다. 하나의 지갑이 많은 주소를 관리할 수 있으며 주소만으로는 신원이나 자금 통제권을 입증하지 못합니다.

02Bitcoin 주소를 안전하게 재사용할 수 있나요?

같은 주소로 추가 결제를 보내는 것은 유효할 수 있지만 수입을 동일한 스크립트에 연결합니다. 받을 때마다 지갑이 생성한 새 주소를 사용하세요. 그래도 익명성이 보장되지는 않습니다. 새 주소가 기존 주소를 무효화하지는 않지만 해당 출력을 사용하려면 여전히 올바른 키와 스크립트 조건 충족이 필요합니다.

DOC · 001Bitcoin whitepaper — Transactions and Privacy1차 출처 ↗DOC · 002Bitcoin Core — Base58Check implementation1차 출처 ↗DOC · 003Bitcoin Core — destination encoders and decoders1차 출처 ↗DOC · 004BIP 13 — Address Format for pay-to-script-hash명세 ↗DOC · 005BIP 16 — Pay to Script Hash명세 ↗DOC · 006BIP 141 — Segregated Witness consensus layer명세 ↗DOC · 007BIP 173 — Base32 address format for native v0 witness outputs명세 ↗DOC · 008BIP 350 — Bech32m format for witness v1 and later명세 ↗DOC · 009BIP 341 — Taproot validation and output keys명세 ↗DOC · 010BIP 32 — Hierarchical deterministic wallets명세 ↗DOC · 011BIP 44 — Multi-account hierarchy명세 ↗DOC · 012BIP 84 — Derivation for native P2WPKH명세 ↗DOC · 013BIP 86 — Derivation for single-key P2TR명세 ↗DOC · 014Bitcoin Core — Output descriptors문서 ↗DOC · 015BIP 21 — URI scheme명세 ↗DOC · 016BIP 322 — Generic signed message format명세 ↗
2026년 8월 1일 검토1차 출처 우선 · 투자 조언이 아닙니다