Blockchain, Crypto/Tech & Theory

UTXO 모델, Account/Balance 모델

hyuga_ 2025. 7. 3. 11:49

UTXO(Unspent Transaction Output) 모델과 계정/잔액(Account/Balance) 모델은 블록체인 네트워크에서 자산의 소유 및 이동을 기록하는 두 가지 주요 데이터 저장 방식이다.



1. UTXO (Unspent Transaction Output) 모델

 

대표 사례: 비트코인, 카르다노

UTXO 는 각 트랜잭션의 output을 담은 객체라고 생각하면 된다. 이 UTXO 내용을 추적하여 특정 계좌의 잔액을 계산한다.
각 트랜잭션은 입력(Input)과 출력(Output)으로 구성되며, 새로운 잔액은 이전 거래의 UTXO 를 고려하여 새로 계산된다.

 

출처: https://steemit.com/kr/@brownbears/utxo

 

 

위 그림에서 F 는 A, B 로부터 각각 BTC 를 받아 3 BTC를 보유하고 있다.

  • 그러나 F 계좌에 3 BTC가 있다고 저장하지 않고, 그냥 [A --(1 BTC)--> F ], [B --(2 BTC)--> F ] 라는 기록들을 그대로 객체로서 저장한다.
  • 이 객체가 UTXO 이며, F는 2개의 UTXO 를 담고 있다고 볼 수 있다.

 

G의 경우, 초기에 3개의 UTXO 정보를 가지고 있으며, 이를 추적해보면 총 17 BTC 를 보유하고 있음을 알 수 있다.

  • 3BTC, 4BTC, 10BTC

이때, G 가 H 에게 9개의 BTC 를 보내는 트랜잭션이 발생한다면 다음과 같은 순서로 저장될 것이다.

  1. G가 가진 3개의 UTXO 중 10BTC짜리를 선택
    • 이유: 9BTC 이상이 필요하므로, 가장 적합한 단일 입력값
  2. 트랜잭션 입력 (input):
    • 10 BTC (G의 UTXO)
  3. 트랜잭션 출력 (output):
    • 9BTC → H (수신자)
    • 1BTC → G (잔돈 change UTXO)
  4. 이로 인해 기존 10BTC UTXO는 소멸되며, 새로 2개의 UTXO 가 생성된다.
    • H의 지갑에 9BTC UTXO (1개)
    • G의 지갑에 1BTC UTXO (1개)



특징

  • 거래가 일회성 지불 증거 형태로 구성
  • 체계적으로 추적 가능 (출처 추적에 유리)
  • 병렬 처리에 강함 (독립적인 UTXO끼리 동시에 처리 가능)

 

장점

  • 높은 보안성: 더 쉽게 이중 지불(double spending) 방지
  • 프라이버시 향상: 여러 주소 사용 가능 (익명성 증가)
  • 병렬 처리 가능성: 여러 UTXO를 동시에 사용 가능

 

단점

  • 복잡한 구조: 모든 트랜잭션마다 잔돈 처리 필요 (Change address)
  • 개발 난이도 높음: 상태 추적이 어렵고 상태 기반 로직이 복잡

 


2. Account/Balance 모델

UTXO 방식은 가치 전송에 있어서 좋은 구조를 지녔지만,

이더리움은 스마트컨트랙트로 보다 복잡한 로직을 구현해야 하기 때문에 기존 은행 시스템과 유사한 방식인 Account/Balance 모델을 채택했다.

 

대표 사례: 이더리움, 솔라나, BNB 체인

 

출처: https://xangle.io/research/detail/657

 

사용자의 주소(Account)에 잔액(balance) 값이 직접 저장된다. 트랜잭션 내용에 따라, from 계정의 잔액을 줄이고 to 계정의 잔액을 증가시킨다.

계정 단위의 상태(state)를 직접 저장하며, 스마트 컨트랙트와 호환성이 뛰어난 것이 특징이다.

장점

  • 개발이 간단: 상태를 직접 조회 및 수정 가능
  • 스마트 컨트랙트 친화적: 다양한 상태 기반 로직에 적합


단점

  • 병렬 처리에 제약: 동일 계정의 상태를 동시에 업데이트하는 게 어려움 (낙관적 동시성 제어 필요)
  • 추적 어려움: 자산의 흐름이 블록체인상에서 단절되어 보일 수 있음

 


출처:

블록체인 기록 보관 방식의 차이점: 비트코인(UTXO) vs. 이더리움(계좌/잔고)

UTXO가 무엇인가요?

UTXO란? : 비트코인 송금방식, 개념 정리