1 minute read

What is UTXO?

Unspent Transaction Output(아직쓰지않은 디지털 화폐의 조각)의 약자

블록체인 시스템에서 소유권과 거래를 관리하는 방식

비트코인에서는 은행계좌처럼 잔액을 하나로 저장하지 않음

사용자의 모든UTXO를 합산해서 잔액을 계산함.

각 UTXO는, 특정 비트코인 금액(BTC)을 가짐 사용자의 공개키(public key)에 연결됨 사용자만 사용할 수 있음(private key로 서명)

예시)

현금 지갑:

  • 친구가 10달러 지폐를 줬습니다 → 이게 당신의 UTXO
  • 6달러짜리 커피를 사고
  • 4달러 거스름돈을 받습니다

이 경우:

  • 10달러는 “소비”된 것이고
  • 커피숍에 6달러를 보내고
  • 4달러는 새로운 UTXO로 남습니다

비트코인 거래 당신이 받은 것:

  • 0.3 BTC (Alice로부터)
  • 0.2 BTC (Bob으로부터)
    → 당신 지갑 총액: 0.5 BTC (UTXO 두 개)

당신이 송금:

  • 0.4 BTC를 Charlie에게 전송

당신의 지갑은:

  • 두 개의 UTXO를 Input으로 사용하고
  • 새로운 UTXO를 Output으로 생성합니다:
    • 0.4 BTC는 Charlie에게
    • 0.1 BTC는 당신에게 잔돈(change) 으로 반환

왜 UTXO가 중요할까?

기능 이점
🔐 불변성 모든 UTXO는 디지털 서명으로 보호됩니다
빠른 검증 UTXO만 있으면 트랜잭션 유효성 확인 가능
🚫 이중 지불 방지 사용된 UTXO는 다시 사용할 수 없음
🔏 개인정보 강화 Input/Output을 다양하게 구성해 추적을 어렵게 함

UTXO 모델 🆚 계정(Account) 모델

항목 UTXO (비트코인) 계정 모델 (이더리움)
잔액 저장 여러 개의 UTXO 합산 하나의 총합 잔액
사용 방식 UTXO를 소모하고 새로운 UTXO 생성 계좌 잔액을 직접 수정
개인정보성 상대적으로 높음 추적이 쉬움
유연성 복잡하지만 견고함 스마트컨트랙트에 적합

UTXO 모델에서 주의할 점

  • UTXO는 부분 사용이 불가능합니다 → 항상 전액 사용 후, 필요한 경우 잔돈을 새로 받습니다.
  • UTXO 개수가 많을수록 트랜잭션 크기가 커지고 수수료도 올라갈 수 있습니다.