블록체인
Unspent Transaction OutputUTXO
UTXO(Unspent Transaction Output, 미사용 트랜잭션 출력)는 Bitcoin이 잔액을 추적하는 방식이다. 이더리움의 계좌 모델(Account Model)과 달리, 비트코인은 "아직 사용하지 않은 트랜잭션 출력" 목록으로 잔액을 관리한다.
UTXO vs 계좌 모델
| 항목 | UTXO (Bitcoin) | 계좌 모델 (Ethereum) |
|---|---|---|
| 잔액 관리 | UTXO 집합 | 주소별 잔액 |
| 프라이버시 | 높음 (매번 다른 출력) | 낮음 (주소 재사용) |
| 병렬 처리 | 용이 | 어려움 |
| 스마트 컨트랙트 | 제한적 | 자연스러움 |
UTXO 거래 예시
UTXO의 특성
- •쪼개지지 않는 코인: UTXO 전체가 입력으로 사용, 거스름돈은 새 UTXO로 생성
- •이중 지불 방지: 같은 UTXO를 두 번 사용하면 노드가 거부
- •해시 체인: 각 UTXO는 이전 TX의 해시로 참조됨
- •프라이버시: 매 거래마다 다른 출력 주소 사용 가능
UTXO Set
현재 블록체인에 존재하는 모든 미사용 UTXO의 집합. 노드는 이 Set을 RAM에 유지해 유효성 검증 속도를 높인다.
프라이버시 특성
UTXO 모델은 거래마다 새로운 출력값이 생성되어 계정 모델보다 추적이 어렵다. 사용자는 매 거래마다 새 주소로 잔돈을 받으면 프라이버시를 강화할 수 있다.
더스트 공격(Dust Attack): 소액(더스트)의 UTXO를 대량 전송해 수신자 지갑이 그 UTXO를 소비할 때 다른 UTXO와 연결되어 지갑 주소를 추적하는 공격 기법.
관련 개념
- •Bitcoin — UTXO 모델을 사용하는 대표 블록체인
- •해시 — UTXO가 이전 트랜잭션을 참조하는 방식
- •PoW (작업증명) — Bitcoin 네트워크 보안
참고문헌
- •Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System
- •Bitcoin Developer Guide - UTXO