# 아웃포인트 (Outpoint)

아웃포인트(outpoint)는 비트코인 트랜잭션에서 사용할 이전 출력(UTXO)을 가리키는 참조값으로, 32바이트 TXID와 4바이트 출력 인덱스(vout)로 구성됩니다. 새 트랜잭션의 각 입력은 아웃포인트를 통해 "어느 트랜잭션의 몇 번째 출력을 쓰는가"를 정확히 지정합니다.

## 자세히 알아보기

비트코인은 계좌 잔액 대신 UTXO(미사용 트랜잭션 출력) 모델을 씁니다. 코인을 보내려면 내가 받은 과거 출력을 입력으로 '소비'해야 하는데, 그 출력을 식별하는 주소 역할을 하는 것이 아웃포인트입니다.

- TXID(32바이트): 출력을 만든 이전 트랜잭션의 식별자입니다. 직렬화된 트랜잭션에는 내부 바이트 순서(리틀 엔디언)로 들어가며, 블록 탐색기에 표시되는 값과는 바이트 순서가 반대입니다.
- vout(4바이트): 그 트랜잭션의 출력 목록에서 몇 번째인지를 0부터 센 번호입니다.

노드는 입력의 아웃포인트가 현재 UTXO 집합에 존재하는지 확인하고, 사용 후 집합에서 제거합니다. 같은 아웃포인트를 두 번 쓰려는 시도는 이중 지불로 거부됩니다. 코인베이스 트랜잭션은 이전 출력이 없으므로 TXID를 0으로 채우고 vout을 0xFFFFFFFF로 둔 '널' 아웃포인트를 사용합니다.

아웃포인트는 트랜잭션 입력 구조의 첫 부분을 이룹니다. 각 입력은 '아웃포인트(36바이트) + 잠금 해제 스크립트(scriptSig) 또는 증인 데이터 + 시퀀스 번호'로 구성됩니다. 노드는 아웃포인트로 이전 출력을 찾아 그 출력의 잠금 스크립트(scriptPubKey)와 금액을 확인하고, 입력이 제시한 서명이 조건을 만족하는지 검증합니다. 이 때문에 지갑 소프트웨어는 서명 전에 각 아웃포인트가 가리키는 출력의 금액을 알아야 합니다. 세그윗(BIP-143) 서명 해시는 서명하는 입력 자신의 금액을, 탭루트(BIP-341) 서명 해시는 모든 입력의 금액을 포함하므로, 하드웨어 지갑이 수수료를 잘못 알고 서명할 위험이 줄어듭니다.

## 블록체인·암호화폐에서는

비트코인, 라이트코인, 비트코인 캐시 등 UTXO 기반 체인에서 쓰이는 개념입니다. 지갑 개발, 원시 트랜잭션 작성, PSBT 서명, 체인 분석에서 자금 흐름을 추적할 때 기본 단위가 됩니다. 이더리움이나 트론처럼 계정 기반 체인에는 아웃포인트가 없습니다.

블록 탐색기에서는 트랜잭션 입력 옆에 표시된 '이전 출력' 링크가 바로 아웃포인트를 따라가는 기능입니다. 이를 거슬러 올라가면 코인의 이동 경로를 추적할 수 있습니다.

## 쉽게 말하면

"몇 번 영수증의 몇 번째 줄"처럼, 과거 거래의 특정 항목을 정확히 짚어 주는 좌표입니다.

## 예시

`txid:vout` 형식으로 `4a5e1e4b…:0`이라고 쓰면 해당 트랜잭션의 첫 번째 출력을 뜻합니다.

---
출처: https://achivx.kr/glossary/outpoint-%EC%95%84%EC%9B%83%ED%8F%AC%EC%9D%B8%ED%8A%B8/ · ACHIVX 용어 사전 · 수정일 2026-10-20
