eUTXO가 동시성에 유리한 구조적 이유
2026년 7월 8일
현금이냐 통장이냐 — 두 원장 모델의 근본적인 차이
원장 모델의 차이를 이해하는 가장 쉬운 방법은 현금과 은행 통장을 떠올리는 것입니다. 비트코인이 창안한 UTXO(Unspent Transaction Output, 미사용 트랜잭션 출력) 모델은 현금과 비슷합니다. 지갑에는 정해진 "잔액"이라는 숫자가 저장되어 있지 않습니다. 대신 여러 장의 지폐처럼 개별적인 트랜잭션 출력값들이 흩어져 있고, 새 거래를 만들 때는 이 중 일부를 입력값으로 소비하고 새로운 출력값을 생성합니다. 한 번 소비된 UTXO는 다시 쓸 수 없으며, 전체 네트워크의 "상태"란 결국 현재 소비되지 않은 UTXO들의 총집합입니다.
반면 이더리움이 채택한 계정 기반(account-based) 모델은 은행 통장에 가깝습니다. 모든 주소는 하나의 잔액을 가지고 있으며, 트랜잭션은 발신자 계좌에서 차감하고 수신자 계좌에 더하는 방식으로 전역 상태(global state)를 갱신합니다. 이 구조는 사람이 직관적으로 이해하기 쉽고, 스마트 컨트랙트가 복잡한 상태를 저장하고 조작하기에도 유리해 이더리움이 "프로그래머블 머니"라는 비전을 구현하는 토대가 되었습니다.
카르다노의 eUTXO는 이 두 모델의 장점을 절충하려는 시도입니다. IOG(Input Output Global)가 처음 제안한 이 모델은 UTXO에 임의의 데이터(Datum)를 담을 수 있도록 확장하여, 기존 UTXO의 결정론적 특성을 유지하면서도 범용 상태 머신을 표현할 수 있게 했습니다. IOG의 관련 연구에 따르면, eUTXO는 기존 UTXO 모델보다 훨씬 표현력이 풍부한 검증 스크립트를 지원하면서도, 트랜잭션 체인 전반에 걸친 불변식(invariant)을 강제할 수 있는 상태 머신 구현을 가능케 합니다. 즉 “현금처럼 단순하지만, 계약처럼 똑똑하게” 동작하도록 설계된 것입니다.
이 절충은 단순한 기술적 취향의 문제가 아닙니다. 다음 장에서 살펴보듯, 트랜잭션이 전역 상태가 아니라 개별 UTXO 단위로 국소적(local)으로 검증된다는 사실은 병렬 처리와 샤딩(sharding)이라는 확장성의 핵심 과제에 직접적인 영향을 미칩니다.
줄을 서지 않아도 되는 블록체인 — eUTXO가 동시성에 유리한 구조적 이유
계정 기반 모델에서 트랜잭션을 검증하려면 발신자 계좌의 “현재” 잔액을 조회해야 합니다. 문제는 같은 시점에 같은 계좌를 건드리는 트랜잭션이 여러 개 존재할 수 있다는 점입니다. 이 경우 어떤 순서로 처리하느냐에 따라 결과가 달라지므로, 노드는 트랜잭션을 원칙적으로 순차 처리하거나, 병렬로 처리하더라도 충돌 여부를 매번 전역 상태와 대조해 확인해야 합니다. 상태가 하나의 거대한 데이터베이스로 존재하는 한, 이 조율 비용은 구조적으로 피하기 어렵습니다.
eUTXO 모델은 이 문제에 다르게 접근합니다. 각 트랜잭션은 자신이 소비할 특정 UTXO들을 명시적으로 지정하며, 그 결과값(출력)도 트랜잭션 자체에 이미 결정되어 있습니다. 다시 말해 트랜잭션의 유효성은 그 트랜잭션이 참조하는 UTXO들에만 의존할 뿐, 네트워크 전체의 최신 상태를 알아야 검증할 수 있는 것이 아닙니다. 서로 다른 UTXO를 소비하는 트랜잭션들은 애초에 서로 간섭하지 않으므로, 이론적으로 완전히 독립적으로, 동시에 검증할 수 있습니다.
IOG는 Leios 설계 관련 글에서 이러한 특성을 카르다노 차세대 합의 프로토콜의 핵심 근거로 명시하고 있습니다. 대부분의 진행 중인 트랜잭션이 서로 독립적이라는 낙관적 가정 아래, 여러 블록의 트랜잭션을 동시에 병렬 처리하고 이후 이를 하나의 선형적 순서로 결합하는 방식이 eUTXO 원장에 특히 적합하다는 것입니다. 계정 기반 모델과 달리 eUTXO는 트랜잭션의 결과를 사전에 정확히 예측할 수 있는 결정론적 특성을 가지므로, 의존 관계만 충족되면 트랜잭션들을 독립적으로 검증할 수 있어 확장성과 병렬 처리에 이상적이라는 설명입니다.
물론 소수의 트랜잭션은 같은 UTXO를 두고 경쟁(충돌)할 수 있습니다. Leios의 설계는 이 경우 먼저 처리된 트랜잭션을 유효한 것으로 인정하고, 이후 충돌하는 트랜잭션은 폐기하는 방식으로 이러한 예외를 처리합니다. 전체 트랜잭션 중 극히 일부에서만 발생하는 이 조율 비용을 감수하는 대신, 나머지 대다수 트랜잭션은 병렬로 처리해 처리량을 끌어올리는 것이 Leios의 기본 전략입니다.