核心概念
UTXO 기반 스마트 계약 플랫폼은 계약 상태 전체를 트랜잭션에 포함해야 하는 효율성 문제에 직면한다. 이 문제를 해결하기 위해 계약 상태를 다수의 UTXO에 분산하여 저장하는 기법을 제안한다.
要約
이 논문은 UTXO 기반 블록체인에서 스마트 계약의 성능과 확장성을 향상시키는 기법을 제안한다.
현재 UTXO 기반 스마트 계약 플랫폼은 다음과 같은 문제에 직면한다:
- 계약 상태 전체를 트랜잭션에 포함해야 하므로 트랜잭션 크기가 커지고 수수료가 증가한다.
- 계약 상태가 단일 UTXO에 저장되어 있어 병렬 검증이 어렵다.
이를 해결하기 위해 저자들은 계약 상태를 다수의 UTXO에 분산하여 저장하는 기법을 제안한다. 이를 통해 트랜잭션은 필요한 부분의 상태만 포함하면 되므로 크기와 수수료가 감소한다. 또한 상태가 분산되어 있어 병렬 검증이 가능해진다.
저자들은 이를 위해 하이브리드 UTXO(hUTXO) 모델을 제안한다. hUTXO는 UTXO 모델에 계약 ID, 계약 상태 분산 기능 등을 추가한다. 또한 계약 잔액을 별도의 계정에 저장하여 상태 분산에 따른 문제를 해결한다.
이와 함께 hURF라는 고수준 계약 언어와 hURF를 hUTXO 트랜잭션으로 컴파일하는 기법을 제안한다. hURF는 계약 로직을 규칙 기반으로 표현하여 개발자가 저수준 hUTXO 트랜잭션 스크립트를 직접 작성할 필요가 없도록 한다.
마지막으로 저자들은 hUTXO 모델의 병렬 검증 알고리즘을 제안하고, 이를 구현하여 실험적으로 평가한다. 실험 결과, 병렬 검증기가 사용 가능한 스레드 수에 근접한 성능 향상을 보였으며, 계약 상태 분산으로 인해 시간과 공간 복잡도가 선형적으로 개선되었음을 확인했다.
統計
트랜잭션 크기가 증가하면 수수료도 증가한다.
계약 상태가 단일 UTXO에 저장되어 있어 병렬 검증이 어렵다.
계약 상태를 다수의 UTXO에 분산 저장하면 트랜잭션 크기와 수수료가 감소하고 병렬 검증이 가능해진다.
hUTXO 모델은 계약 ID, 계약 상태 분산, 계약 잔액 별도 저장 등의 기능을 제공한다.
hURF 언어와 컴파일러를 통해 개발자가 저수준 hUTXO 트랜잭션 스크립트를 직접 작성할 필요가 없다.
병렬 검증기 실험 결과, 사용 가능한 스레드 수에 근접한 성능 향상과 선형적인 시간/공간 복잡도 개선을 확인했다.
引用
"현재 UTXO 모델의 스마트 계약 플랫폼은 계약 상태 전체를 트랜잭션에 포함해야 하므로 성능과 확장성 문제에 직면한다."
"계약 상태를 다수의 UTXO에 분산하여 저장하면 트랜잭션 크기와 수수료가 감소하고 병렬 검증이 가능해진다."
"hUTXO 모델은 계약 ID, 계약 상태 분산, 계약 잔액 별도 저장 등의 기능을 제공한다."
"hURF 언어와 컴파일러를 통해 개발자가 저수준 hUTXO 트랜잭션 스크립트를 직접 작성할 필요가 없다."