암호화폐 주소 유형 완전 정리: 레거시, 세그윗, 탭루트
비트코인을 조금이라도 사용해봤다면 "1"로 시작하는 주소, "3"로 시작하는 주소, 그리고 "bc1q" 또는 "bc1p"로 시작하는 주소를 본 적이 있을 것입니다. 이는 단순한 모양 차이가 아닙니다. 각각은 자금을 잠그고(락) 풀어(언락) 쓰는 방식이 근본적으로 다르며, 그 차이는 수수료, 프라이버시, 기능에 큰 영향을 줍니다.
이 가이드는 주요 비트코인 주소 유형을 모두 설명합니다. 기술적으로 어떻게 동작하는지, 장단점은 무엇인지, 상황에 따라 어떤 주소를 선택해야 하는지까지 다룹니다. 또한 이더리움과 기타 주요 블록체인의 주소 형식도 함께 설명합니다.
비트코인 주소 유형
레거시 주소(P2PKH) — "1"로 시작
정식 명칭: Pay-to-Public-Key-Hash
예시: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
파생 경로: m/44'/0'/0' (BIP-44)
레거시 주소는 초기 비트코인 프로토콜에서 정의된, 가장 오래된 비트코인 주소 형식입니다. 주소는 공개키의 해시를 Base58Check로 인코딩한 값입니다:
Address = Base58Check(0x00 || RIPEMD160(SHA256(public_key)))
메인넷에서 0x00 버전 바이트는 "1"로 시작하는 주소를 만듭니다.
지출(스펜딩) 방식(스크립트):
ScriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
ScriptSig: <signature> <publicKey>
레거시 주소에서 자금을 지출하려면, 송신자는 공개키와 유효한 서명을 제공합니다. 네트워크는 공개키를 해시했을 때 주소와 일치하는지, 그리고 서명이 해당 공개키에 대해 유효한지 검증합니다.
장점:
- 최대 호환성: 2009년 이후 모든 비트코인 지갑, 거래소, 서비스에서 지원.
- 단순하고 널리 검증된 방식.
단점:
- 트랜잭션 크기가 가장 큼(수수료가 가장 비쌈).
- 세그윗 혜택 없음(위트니스 할인 없음).
- Base58Check는 대소문자를 구분하며, 전사(필사) 오류가 발생하기 쉬움.
- 체크섬 외 추가 오류 검출이 없음(무작위 오류는 잡지만 모든 치환 오류를 잡지는 못함).
P2SH 주소 — "3"로 시작
정식 명칭: Pay-to-Script-Hash
예시: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
파생 경로: m/49'/0'/0' (SegWit 래핑용 BIP-49)
P2SH는 더 복잡한 지출 조건을 가능하게 하기 위해 BIP-16(2012)에서 도입되었습니다. 공개키 해시에 지불하는 대신, 스크립트의 해시에 지불합니다. 이 스크립트는 멀티시그, 타임락, 해시락 등 임의의 지출 조건을 구현할 수 있으며, 오늘날 가장 흔한 용도는 세그윗 출력(output)을 감싸는 것입니다.
P2SH-P2WPKH(세그윗 호환):
현재 P2SH 주소의 가장 일반적인 사용 방식입니다. 세그윗(P2WPKH) 출력을 P2SH 스크립트 안에 감싸, P2SH만 이해하는 구형 소프트웨어와의 하위 호환성을 유지하면서 세그윗의 장점을 얻습니다.
RedeemScript: 0x0014 <20-byte-pubkey-hash> (a P2WPKH script)
ScriptPubKey: OP_HASH160 <hash-of-redeemScript> OP_EQUAL
장점:
- 하위 호환성을 유지하면서 세그윗 혜택(수수료 절감, 가변성 문제 해결)을 얻음.
- 사실상 모든 현대 지갑/거래소에서 지원.
- 복잡한 스크립트(멀티시그, 타임락) 가능.
단점:
- 네이티브 세그윗보다 수수료가 높음(래퍼 스크립트 오버헤드).
- 모호함: "3" 주소는 일반 멀티시그일 수도, 래핑된 세그윗일 수도, 다른 P2SH 스크립트일 수도 있습니다. 주소만으로는 구분할 수 없습니다.
네이티브 세그윗 주소(P2WPKH) — "bc1q"로 시작
정식 명칭: Pay-to-Witness-Public-Key-Hash (Bech32 인코딩)
예시: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
파생 경로: m/84'/0'/0' (BIP-84)
네이티브 세그윗 주소는 BIP-141/BIP-143(2017년 8월 활성화)로 도입되었고, BIP-173에 정의된 Bech32 인코딩을 사용합니다. Base58Check를 쓰지 않고, 다음 특징을 가진 새로운 인코딩을 사용합니다:
- 소문자만 사용: 대소문자 구분 이슈 제거.
- BCH 오류 정정: 최대 4개 문자 오류를 검출하고 일부 오류는 자동으로 정정 가능.
- 가독성 접두어(HRP): 비트코인 메인넷은
bc, 테스트넷은tb.
지출 방식:
ScriptPubKey: 0 <20-byte-pubkey-hash>
Witness: <signature> <publicKey>
서명과 공개키가 트랜잭션의 "witness" 영역으로 이동하며, 이 영역은 트랜잭션 가중치(수수료)에 대해 75% 할인(위트니스 할인)을 받습니다.
장점:
- 탭루트 이전 주소 유형 중 가장 낮은 수수료(위트니스 할인).
- 가변성(malleability) 문제 해결: 라이트닝 네트워크 같은 레이어2 프로토콜을 가능하게 함.
- 더 나은 오류 검출: Bech32는 Base58Check보다 오류를 더 잘 잡음.
- 더 단순한 스크립트: P2SH 래퍼 오버헤드 없음.
단점:
- 일부 구형 지갑/거래소는 bc1q 주소로 전송할 수 없음(2025년 기준으로는 점점 드문 편).
- 레거시/P2SH보다 주소 문자열이 약간 더 김.
탭루트 주소(P2TR) — "bc1p"로 시작
정식 명칭: Pay-to-Taproot (Bech32m 인코딩)
예시: bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297
파생 경로: m/86'/0'/0' (BIP-86)
탭루트는 2021년 11월 비트코인에 활성화되었습니다(BIP-340, BIP-341, BIP-342). 세그윗 이후 비트코인 스크립팅 기능의 가장 중요한 업그레이드로 평가됩니다.
탭루트는 ECDSA 대신 슈노르(Schnorr) 서명을 사용하며, 키 경로/스크립트 경로 지출 모델을 도입합니다:
- 키 경로 지출(Key path spend): 가장 일반적인 케이스. 단일 서명으로 지출이 승인되며, 온체인에서는 다른 탭루트 트랜잭션과 구분되지 않습니다.
- 스크립트 경로 지출(Script path spend): 복잡한 조건(멀티시그, 타임락, 해시락 등)을 머클 트리로 커밋해두고, 실제로 필요할 때만 해당 분기만 공개합니다.
지출 방식:
ScriptPubKey: 1 <32-byte-tweaked-public-key>
Witness: <signature> (key path, most common)
— or —
Witness: <script> <control-block> <arguments> (script path)
장점:
- 프라이버시: 키 경로를 사용하면, 멀티시그든 단일 서명이든 온체인에서는 모두 동일한 형태로 보입니다. 멀티시그 트랜잭션이 단일 서명 트랜잭션과 구분되지 않습니다.
- 효율성: 슈노르 서명은 ECDSA보다 작습니다. 키 집계(MuSig2)를 통해 멀티시그도 단일 결합 서명 하나로 표현할 수 있습니다.
- 스크립팅 유연성: MAST(Merkelized Alternative Script Trees)로 사용되지 않은 분기는 공개하지 않고도 복잡한 조건을 구현할 수 있습니다.
- 낮은 수수료: 키 경로 지출의 경우 네이티브 세그윗과 비슷하거나 더 낮을 수 있습니다.
단점:
- 아직 채택이 진행 중: 일부 지갑/거래소는 탭루트 주소로의 입출금을 완전히 지원하지 않습니다.
- 구현이 복잡해 지갑 버그 리스크가 커질 수 있음(다만 성숙한 구현도 존재).
- Bech32m 인코딩(Bech32와 다름): 지갑 소프트웨어가 둘 다 지원해야 함.
주소 유형 비교
| 기능 | 레거시(1...) | P2SH(3...) | 네이티브 세그윗(bc1q...) | 탭루트(bc1p...) |
|---|---|---|---|---|
| BIP | Original | BIP-16 | BIP-141/BIP-173 | BIP-341/BIP-350 |
| 파생 | m/44'/0'/0' | m/49'/0'/0' | m/84'/0'/0' | m/86'/0'/0' |
| 인코딩 | Base58Check | Base58Check | Bech32 | Bech32m |
| 서명 | ECDSA | ECDSA | ECDSA | Schnorr |
| 수수료 | 가장 높음 | 중간 | 낮음 | 가장 낮음(키 경로) |
| 프라이버시 | 낮음 | 중간 | 중간 | 높음 |
| 오류 검출 | 기본 체크섬 | 기본 체크섬 | BCH 코드 | BCH 코드 |
| 호환성 | 범용 | 준-범용 | 대부분 지갑 | 확대 중 |
어떤 비트코인 주소를 써야 할까?
2025년 이후 대부분의 사용자: 기본값으로 네이티브 세그윗(bc1q)을 사용하세요. 낮은 수수료, 높은 호환성, 성숙한 지원의 균형이 가장 좋습니다.
최대 프라이버시와 최저 수수료: 지갑과 사용하는 서비스가 탭루트 주소로의 전송을 지원한다면 탭루트(bc1p)를 사용하세요.
구형 서비스 호환: bc1q 또는 bc1p로 전송하지 못하는 서비스에서 입금받아야 한다면 P2SH(3...)를 사용하세요.
새 지갑에서는 레거시(1...)는 피하세요(특별한 호환성 요구가 있는 경우만 예외).
이더리움 주소 형식
이더리움은 단일 주소 형식을 사용합니다:
0x742d35Cc6634C0532925a3b844Bc9e7595f2bD38
0x로 시작하는 20바이트(40개의 16진수 문자).- 공개키의 Keccak-256 해시 마지막 20바이트에서 파생됨.
- EIP-55 대소문자 혼합 체크섬: 대문자/소문자 패턴 자체가 체크섬 역할을 합니다. 어떤 글자의 대소문자를 바꾸면 체크섬이 실패합니다.
- 동일한 주소 형식이 모든 EVM 호환 체인(Ethereum, Polygon, Arbitrum, Optimism, BSC)에서 사용됩니다.
중요: 같은 주소로 잘못된 네트워크(예: ETH 메인넷 vs Polygon)로 토큰을 보내더라도 자금이 “사라지지는” 않습니다(주소는 모든 EVM 체인에 존재). 다만 해당 자산에 접근하려면 올바른 네트워크로 전환해야 할 수 있습니다.
ENS(Ethereum Name Service)
ENS는 이더리움 주소를 사람이 읽기 쉬운 이름으로 제공합니다:
vitalik.eth → 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
전송 전에 항상 해석(resolution)된 주소를 확인하세요. ENS 이름은 양도될 수 있으므로, 이름 뒤에 매핑된 주소가 바뀔 수 있습니다.
기타 블록체인 주소 형식
비트코인 캐시(BCH)
비트코인 캐시는 비트코인 주소와 구분하기 위해 CashAddr 형식을 사용합니다:
bitcoincash:qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a
bitcoincash: 접두어는 비트코인 주소로의 실수 전송을 방지합니다.
라이트코인(LTC)
라이트코인은 비트코인과 유사한 주소 유형을 사용합니다:
- 레거시:
L또는M으로 시작 - P2SH:
M또는3으로 시작 - 네이티브 세그윗:
ltc1q로 시작
솔라나(SOL)
솔라나는 Base58로 인코딩된 Ed25519 공개키를 사용합니다:
7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV
32바이트, Base58 인코딩, 보통 32~44자입니다.
카르다노(ADA)
카르다노는 addr 접두어를 가진 Bech32 인코딩 주소를 사용합니다:
addr1qx2fxv2umyhttkxyxp8x0dlpdt3k6cwng5pxj3jhsydzer3jcu5d8ps7zex2k2xt3uqxgjqnnj83ws8lhrn648jjxtwq2ytjqp
카르다노 주소는 결제 자격(payment credentials)과 스테이킹 자격(staking credentials)을 함께 인코딩하기 때문에 비트코인 주소보다 눈에 띄게 더 깁니다.
트론(TRX)
트론은 T로 시작하는 Base58Check 인코딩 주소를 사용합니다:
TJYeasTPa6gpB9Ut5HALR2twMHU3gYpML8
코스모스(ATOM)
코스모스는 체인별 접두어가 있는 Bech32 인코딩을 사용합니다:
cosmos1qypqxpq9qcrsszg2pvxq6rs0zqg3yyc5lzv7xu
각 Cosmos SDK 체인은 서로 다른 접두어를 사용합니다(예: Osmosis는 osmo, Juno는 juno).
**SafeSeed 주소 생성기**를 사용하면 하나의 시드 구문으로부터 여러 블록체인과 주소 유형의 주소를 파생할 수 있습니다. 동일한 시드가 비트코인 레거시, 세그윗, 탭루트, 이더리움 등에서 어떻게 서로 다른 주소를 만드는지 확인하세요. 모든 처리는 브라우저에서 로컬로 이루어집니다.
주소 검증과 안전
체크섬 검증
자금을 보내기 전에는 항상 주소를 검증하세요:
- 비트코인 레거시/P2SH: Base58Check에 4바이트 체크섬이 포함되어 있으며, 대부분의 지갑이 자동으로 검증합니다.
- 비트코인 세그윗/탭루트: Bech32/Bech32m은 강력한 오류 검출(BCH 코드)을 가진 6문자 체크섬을 포함합니다.
- 이더리움: EIP-55 대소문자 혼합 체크섬. 지갑이 EIP-55를 구현하지 않았다면 어떤 대소문자든 받아들이는데, 이는 경고 신호입니다.
주소 재사용
프라이버시를 위해 비트코인 주소 재사용을 피하세요. 각 트랜잭션마다 새로운 주소를 사용해야 합니다. HD 지갑(BIP-44)은 자동으로 새 주소를 생성합니다.
이더리움 주소는 일반적으로 재사용됩니다(계정 기반 모델). 다만 여러 계정을 사용하면 프라이버시를 개선할 수 있습니다.
클립보드 하이재킹
악성코드는 클립보드를 모니터링하다가 암호화폐 주소를 공격자의 주소로 바꿔치기할 수 있습니다. 붙여넣은 뒤 최소한 주소의 처음과 끝 6자를 시각적으로 확인하고, 가능하다면 전체 주소를 확인하세요. 일부 지갑은 더 쉽게 검증할 수 있도록 주소의 시각적 해시(identicon)를 표시합니다.
QR 코드 검증
QR 코드를 스캔해 주소를 얻을 때는, 디코딩된 주소가 기대한 값과 일치하는지 확인하세요. 악성 QR 코드는 공격자가 통제하는 주소를 인코딩할 수 있습니다.
주소 유형 간 변환
각 주소 유형은 서로 다른 파생 경로를 사용하고, 서로 다른 키 집합을 만들기 때문에(예: 레거시를 세그윗으로) 주소를 “변환”할 수는 없습니다. 하지만 다음은 가능합니다:
- 같은 시드 구문에서 여러 주소 유형을 생성하기: 시드 구문은 서로 다른 파생 경로를 통해 모든 주소 유형의 키를 동시에 파생할 수 있습니다.
- 한 주소 유형에서 다른 주소 유형으로 송금하기: 예를 들어 레거시 주소에서 세그윗 주소로 트랜잭션을 보내면 됩니다. 이는 일반적인 비트코인 트랜잭션입니다.
세그윗 주소로 보낸 자금은 레거시 파생 경로로는 접근할 수 없습니다. 서로 다른 개인키를 사용하기 때문입니다.
FAQ
레거시 주소와 세그윗 주소의 차이는 무엇인가요?
레거시 주소("1"로 시작)는 초기 비트코인 트랜잭션 형식을 사용합니다. 세그윗 주소("bc1q"로 시작)는 Segregated Witness를 사용해 서명 데이터를 트랜잭션 데이터에서 분리합니다. 그 결과 트랜잭션이 더 작아지고 수수료가 낮아지며, 트랜잭션 가변성 문제가 해결됩니다. 세그윗은 모든 신규 지갑에 권장됩니다.
레거시 주소에서 세그윗 주소로 비트코인을 보낼 수 있나요?
네. 네트워크 수준에서 모든 비트코인 주소 유형은 상호 운용됩니다. 어떤 주소 유형에서든 다른 주소 유형으로 보낼 수 있습니다. 유일한 호환성 이슈는 지갑 소프트웨어에 있는데, 일부 구형 지갑은 bc1q 또는 bc1p 주소로 보내는 트랜잭션을 만들지 못할 수 있습니다.
왜 지갑은 매번 다른 주소를 보여주나요?
BIP-44을 사용하는 HD 지갑에서는 정상적인 동작입니다. 프라이버시를 개선하기 위해 각 트랜잭션마다 새 주소를 생성합니다. 모든 주소는 같은 시드 구문에서 파생되며 복구할 수 있습니다. 이전에 사용한 주소도 계속 유효하며 여전히 입금받을 수 있습니다.
Bech32 인코딩이란 무엇인가요?
Bech32는 BIP-173에 규정된 주소 인코딩 형식으로, 네이티브 세그윗(bc1q) 주소에 사용됩니다. 소문자 영숫자(1, b, i, o 제외)를 사용하고, BCH 오류 정정 체크섬을 포함하며, 사람이 읽기 쉬운 접두어(HRP, 비트코인 메인넷은 bc)를 갖습니다. Bech32m(BIP-350)은 탭루트(bc1p) 주소에 사용되는 수정 버전입니다.
어떤 비트코인 주소 유형이 수수료가 가장 낮나요?
탭루트(bc1p)는 슈노르 서명의 효율성 덕분에 키 경로 지출에서 일반적으로 수수료가 가장 낮습니다. 네이티브 세그윗(bc1q)이 그다음으로 가깝습니다. P2SH로 감싼 세그윗(3...)은 더 비싸고, 레거시(1...)는 트랜잭션 크기가 커서 가장 비쌉니다.
비트코인과 비트코인 캐시에 같은 주소를 사용할 수 있나요?
아니요. 레거시 비트코인 주소와 비트코인 캐시 주소는 겉보기에는 비슷할 수 있지만(둘 다 "1"로 시작할 수 있음), 비트코인을 비트코인 캐시 주소로(또는 그 반대로) 보내면 잘못된 체인으로 전송될 수 있습니다. 비트코인 캐시는 이를 방지하기 위해 CashAddr 형식(bitcoincash:로 시작)을 사용합니다.
잘못된 네트워크에서 잘못된 주소 유형으로 보내면 어떻게 되나요?
EVM 체인(Ethereum, Polygon, BSC 등)은 같은 주소가 모든 체인에 존재하므로 자금이 사라지지는 않습니다. 다만 올바른 네트워크에서 접근해야 합니다. 주소 형식이 다른 비-EVM 체인에서는 보통 지갑이 유효하지 않은 주소로의 전송을 막습니다. 만약 어떤 방식으로든 존재하지 않는 주소 형식으로 전송되면, 자금은 영구적으로 손실될 수 있습니다.
모든 이더리움 주소는 같은 형식인가요?
네. 이더리움은 단일 주소 형식(0x + 40자 16진수)을 모든 용도로 사용합니다: ETH 수신, ERC-20 토큰, NFT, 스마트 컨트랙트 상호작용. 동일한 주소는 모든 EVM 호환 체인에서 유효합니다.