세밀하게 분산된 상태로 확장 가능한 UTXO 스마트 계약

세밀하게 분산된 상태로 확장 가능한 UTXO 스마트 계약
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 UTXO 기반 블록체인에서 계약 상태를 여러 UTXO에 세분화하여 거래 크기를 줄이고, 멀티코어 환경에서 병렬 검증을 가능하게 하는 하이브리드 hUTXO 모델과 고수준 계약 언어 hURF를 제안한다. 구현 및 실험을 통해 상태 분산이 거래 비용과 공간을 선형적으로 절감하고, 검증 속도가 코어 수에 비례해 향상됨을 입증한다.

상세 분석

UTXO 기반 스마트 계약은 전통적으로 계약 로직과 현재 상태를 하나의 출력에 모두 포함시킨다. 이 설계는 상태가 커질수록 거래에 전체 상태를 복제해야 하므로 수수료가 급증하고, 동일 출력에 대한 동시 접근이 불가능해 병렬 검증이 사실상 불가능해지는 구조적 한계를 가진다. 논문은 이러한 문제를 “상태 분산(state distribution)”이라는 개념으로 해결한다. 구체적으로, 계약이 보유한 변수·맵·리스트 등을 개별 키‑값 쌍으로 분해하고, 각 쌍을 별도의 UTXO에 저장한다. 이렇게 하면 트랜잭션은 자신이 수정하려는 몇 개의 UTXO만을 입력으로 사용하면 되므로, 거래 크기가 O(1) 수준으로 제한되고, 동시에 여러 사용자가 서로 다른 키에 접근할 경우 충돌이 발생하지 않는다.

상태 분산을 구현하기 위해 저자는 계약 식별자(contract ID)를 도입한다. 동일 계약에 속하는 모든 UTXO는 같은 ID를 공유하며, 새로운 UTXO를 생성할 때는 기존 계약 UTXO의 스크립트가 검증을 수행하도록 설계한다. 이는 악의적인 사용자가 임의의 UTXO를 만들어 계약 상태를 위조하는 “포저리 공격”을 방지한다. 또한, 계약 잔액은 전통적인 UTXO 방식이 아닌 계정 기반 모델로 관리한다. 즉, 계약의 토큰 잔액은 별도의 계정에 기록되며, 이 계정은 잔액이 충분한 한 언제든지 동시 출금이 가능하도록 설계돼 있다. 이 하이브리드 구조를 hUTXO( hybrid UTXO)라 명명한다.

프로그래밍 측면에서는 hURF(high‑level UTXO Rule Format)라는 선언형 언어를 제시한다. hURF는 “조건‑읽기‑쓰기‑전송” 형태의 규칙을 기술하며, 컴파일러는 이러한 규칙을 자동으로 hUTXO 트랜잭션과 스크립트로 변환한다. 컴파일러는 상태 업데이트와 잔액 이동이 정확히 규칙에 맞게 이루어지도록 보증함으로써 개발자가 저수준 스크립트 오류에 빠질 위험을 크게 감소시킨다.

병렬 검증 알고리즘은 전통적인 Bernstein 조건을 그대로 적용한다. 각 트랜잭션이 소비·생성하는 UTXO 집합이 서로 겹치지 않으면 독립적으로 검증할 수 있다. 구현에서는 입력‑출력 의존성을 그래프 형태로 표현하고, 토폴로지 정렬 후 작업 큐에 넣어 멀티스레드 워커가 동시에 처리하도록 설계했다. 실험 결과, 트랜잭션당 평균 2~3개의 UTXO만을 다루는 경우 코어 수에 비례한 속도 향상이 관측되었다.

전체 시스템은 Cardano의 eUTXO 모델을 기반으로 구현됐으며, 크라우드펀드, 레지스트리, 멀티시그 지갑 등 실제 사용 사례를 모방한 벤치마크를 통해 다음과 같은 주요 성과를 보였다. 첫째, 상태가 커질수록 중앙집중형 구현은 O(N²) 수준의 블록체인 공간을 차지하지만, 분산형은 O(N)으로 선형 감소한다. 둘째, 거래 크기가 고정(≈16 KB)이므로 거래 크기 제한에 걸리지 않아 대규모 동적 상태를 지원한다. 셋째, 병렬 검증 시 평균 0.9 × 코어 수에 해당하는 스루풋 향상을 달성했다. 마지막으로, 모든 실험 코드는 Docker 이미지와 함께 공개돼 재현성을 확보했다.

이러한 설계는 UTXO 기반 블록체인의 핵심 장점인 병렬 처리 가능성을 유지하면서, 동적이고 대규모 상태를 효율적으로 관리할 수 있는 새로운 패러다임을 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기