비트코인 원시 트랜잭션 디코더

원시 트랜잭션 hex 또는 PSBT를 붙여넣으세요. 모든 output은 주소와 금액으로 변환되고, input 주소는 잠금 해제 데이터에서 도출되며, txid, vsize, weight는 로컬에서 계산됩니다.

서명 여부와 무관하게 가능합니다. 디코딩은 브라우저에서 실행되며 아무것도 외부로 전송되지 않으므로, 서명을 앞둔 미서명 트랜잭션에도 안전합니다.
예시:

브라우저에서 JavaScript로 디코딩됩니다. 주소는 절대 업로드되거나 저장되지 않습니다.

원시 비트코인 트랜잭션이란 무엇인가요?

원시 비트코인 트랜잭션은 version, input(이전 txid와 output index, scriptSig, sequence), output(사토시 단위 value와 scriptPubKey), 선택적 SegWit witness 데이터, locktime을 hex로 직렬화한 것입니다. txid는 witness 데이터를 제외한 직렬화의 이중 SHA-256이며, PSBT(BIP-174)는 미서명 트랜잭션을 서명자에게 필요한 메타데이터와 함께 감쌉니다.

결과 읽기

Output 스크립트 유형

유형scriptPubKey 패턴주소지출 데이터
P2PKHOP_DUP OP_HASH160 <20 bytes> OP_EQUALVERIFY OP_CHECKSIG1…scriptSig: 서명 + 공개키
P2SHOP_HASH160 <20 bytes> OP_EQUAL3…scriptSig가 redeem script로 끝남
P2WPKHOP_0 <20 bytes>bc1q… (42자)witness: 서명, 공개키
P2WSHOP_0 <32 bytes>bc1q… (62자)witness가 witness script로 끝남
P2TROP_1 <32 bytes>bc1p…witness: 64바이트 서명 (key path)
OP_RETURNOP_RETURN <data>없음, 지출 불가해당 없음

예시: weight와 vsize

P2WPKH input 1개와 P2WPKH output 2개로 된 트랜잭션은 113바이트의 비 witness 데이터(version, input, output 2개, locktime)와 약 110바이트의 witness 데이터(marker, flag, 72바이트 서명, 33바이트 공개키)를 갖습니다. Weight = 113 × 4 + 110 = 562 weight unit이므로 vsize = ⌈562 ÷ 4⌉ = 141 vbyte입니다. 10 sat/vB에서 수수료는 1,410 sat입니다. 레거시 P2PKH input으로 같은 결제를 하면 약 226바이트가 모두 전체 weight로 계산되어 226 vbyte가 됩니다.

원시 hex를 얻는 곳

Bitcoin Core: getrawtransaction <txid> 또는 createrawtransaction. Electrum과 Sparrow: 트랜잭션을 hex로 내보내기. 익스플로러: mempool.space와 blockstream.info는 /api/tx/<txid>/hex를 제공합니다. 하드웨어 지갑은 서명을 요청받는 PSBT를 보여줍니다.

주소만 따로 검증하려면 비트코인 주소 검증기를, bech32 문자열을 살펴보려면 bech32 디코더를 이용하세요.

자주 묻는 질문

txid는 어떻게 계산되나요?

SegWit marker와 witness 데이터를 제외하고 직렬화한 트랜잭션의 이중 SHA-256을 바이트 역순으로 표시한 것입니다. wtxid는 witness를 포함한 전체 직렬화를 해시합니다. 둘 다 노드에 접속하지 않고 이 페이지에서 계산됩니다.

input 주소가 누락된 이유는 무엇인가요?

Taproot key-path 지출은 witness에 서명만 담고 있습니다. 공개키는 지출되는 output에 있으며, 이는 이 트랜잭션의 일부가 아닙니다. 비표준 스크립트도 원시 hex로 남습니다. 그 외의 일반적인 유형(P2PKH, P2SH로 감싼 SegWit, 네이티브 SegWit, multisig redeem script)은 모두 도출됩니다.

vsize란 무엇이고 왜 중요한가요?

Virtual size는 weight ÷ 4를 올림한 값이며, 수수료는 virtual byte당으로 책정됩니다. witness 바이트는 4분의 1로 계산되기 때문에 SegWit 트랜잭션이 같은 바이트 길이의 레거시 트랜잭션보다 저렴합니다.

PSBT를 디코딩할 수 있나요?

네. 디코더는 PSBT(version 0)의 global map을 읽어 미서명 트랜잭션을 추출하고 디코딩합니다. 부분 서명과 기타 input별 데이터는 해석하지 않습니다.

RBF란 무엇이고 디코더는 이를 어떻게 감지하나요?

Replace-by-fee(BIP-125)는 발신자가 미확인 트랜잭션을 더 높은 수수료로 다시 브로드캐스트할 수 있게 합니다. input 중 하나라도 sequence 번호가 0xfffffffe 미만이면 트랜잭션이 이를 신호합니다. 디코더는 모든 input의 sequence를 읽어 신호를 표시합니다.

라이트코인이나 테스트넷도 지원하나요?

드롭다운에서 네트워크를 선택하세요. 주소 접두사만 바뀝니다(1/3/bc1 → L/M/ltc1 또는 m/n/2/tb1). 트랜잭션 형식은 동일합니다.