Core Concepts
다양한 블록체인 플랫폼에서 사용되는 주요 스마트 계약 언어들의 특징, 장단점, 보안성 및 사용성을 비교 분석하여 각 언어의 핵심적인 설계 원칙과 개발 실무에 미치는 영향을 제시한다.
Abstract
이 논문은 이더리움, 솔라나, 카르다노, 알고랜드, 아프토스, 테조스 등 6개의 주요 블록체인 플랫폼에서 사용되는 스마트 계약 언어들을 비교 분석한다.
먼저 블록체인 플랫폼의 합의 계층과 계약 계층의 구조적 특징을 개괄하고, 이러한 특징이 스마트 계약 언어의 설계에 미치는 영향을 설명한다. 계정 기반 모델과 UTXO 모델의 차이점을 예시를 통해 비교한다.
이어서 각 언어의 주요 특징을 소개한다. 솔리디티는 절차적 스타일의 계정 기반 언어로, 계약 간 상호작용이 복잡하고 보안 이슈가 있다. 러스트는 절차적 스타일이지만 계정 소유권 및 권한 관리 등 추가적인 검사가 필요하다. 아이켄은 승인 기반의 UTXO 언어로, 기존 언어와 다른 패러다임을 요구한다. PyTEAL은 절차적 스타일과 승인 기반 스타일을 혼합한다. 무브는 선형 타입 시스템을 사용하여 토큰 복제 및 손실을 방지한다. 스마트파이는 파이썬 기반의 메타프로그래밍 언어이다.
이를 바탕으로 각 언어의 프로그래밍 스타일, 가독성, 보안성, 도구 지원, 온-오프체인 통합 등을 비교 분석한다. 또한 수수료 모델과 플랫폼 기능 지원이 스마트 계약 개발에 미치는 영향을 논의한다.
Stats
블록체인 플랫폼은 거래 순서에 대한 보장이 없어 순서 의존성 공격에 취약하다.
솔라나 트랜잭션은 병렬 처리가 가능하도록 모든 접근 계정을 명시해야 한다.
아프토스 계약은 상태 변수를 가질 수 없으며, 모든 관련 데이터를 사용자 정의 구조체로 저장해야 한다.
Quotes
"스마트 계약 언어 설계에 있어 자산 관리 및 교환, 계약 간 상호작용, 수수료 등에 대한 적절한 언어 지원이 중요하다."
"선형 타입 시스템은 토큰 복제 및 손실을 방지하는 데 도움이 된다."
"계약 간 상호작용 방식의 차이로 인해 솔리디티와 스마트파이의 프로그래밍 스타일이 다르다."