핵심 개념
대규모 언어 모델(LLM)을 활용하여 솔리디티 스마트 컨트랙트를 무브 프로그래밍 언어로 번역하는 새로운 접근법을 제시한다. 이를 통해 자동화된 코드 번역과 버그 완화를 달성할 수 있다.
초록
이 연구는 대규모 언어 모델(LLM)을 활용하여 솔리디티 스마트 컨트랙트를 무브 프로그래밍 언어로 번역하는 SolMover 프레임워크를 소개한다. 주요 내용은 다음과 같다:
-
코드 이해: 솔리디티 파일을 분석하여 함수와 주석을 추출하고, 이를 바탕으로 초기 작업 프롬프트를 생성한다.
-
개념 마이닝: 검색 기반 기법을 활용하여 무브 프로그래밍 관련 자료에서 개념을 추출하고, 이를 세부 작업으로 변환한다.
-
코드 생성: 세부 작업을 바탕으로 전용 LLM(Sol-Mover)이 무브 코드를 생성한다. 컴파일 오류 피드백을 통해 코드 품질을 향상시킨다.
-
코드 검증: 생성된 무브 코드를 Move Prover를 통해 검증하여 안전성을 확인한다. 검증 실패 시 피드백 루프를 통해 코드를 수정한다.
실험 결과, SolMover 프레임워크는 기존 LLM 모델 대비 더 나은 성능을 보였으며, 특히 컴파일 가능한 코드 생성과 버그 완화 측면에서 우수한 결과를 달성했다. 이는 LLM이 저자원 언어에 대한 코드 번역 능력을 갖출 수 있음을 시사한다.
통계
2021년 유니스왑 스마트 컨트랙트의 평균 일일 거래 규모는 약 71억 7천만 달러였다.
솔리디티 스마트 컨트랙트 734개를 대상으로 실험을 진행했다.
SolMover 모델은 초기 313개의 컴파일 가능한 코드를 생성했으며, 오류 피드백 후 397개, Move Prover 피드백 후 401개로 성능이 향상되었다.
gpt-3.5-turbo-1106 모델은 초기 204개의 컴파일 가능한 코드를 생성했으며, 오류 피드백 후 229개로 증가했지만 이후 변화가 없었다.
인용구
"대규모 언어 모델(LLM)의 등장은 인공지능 분야에서 중요한 이정표를 마련했으며, 다양한 영역에서 인간 전문가 수준의 성과를 보이고 있다."
"스마트 컨트랙트 번역, 특히 LLM이 이전에 접하지 않은 언어로의 번역은 여전히 크게 탐구되지 않은 영역이다."
"SolMover는 두 개의 상이한 LLM을 통합한 선구적인 접근법으로, 코딩 원리를 파악하고 이를 활용하여 익숙하지 않은 언어로의 코드 번역을 수행한다."