Move 소개
A Gentle Introduction to Move Language
💡 핵심 용어 미리보기
- Move: 자산 중심의 블록체인 스마트 컨트랙트 언어
- 리소스(Resource): 복사/삭제가 불가능하고 이동만 가능한 값
- 모듈(Module): Move 코드의 기본 단위 (함수와 타입 포함)
1. Move란?
Move는 블록체인 자산을 안전하게 다루기 위해 설계된 프로그래밍 언어입니다. 2018년 Facebook의 Libra 프로젝트에서 시작되어 현재는 Sui, Aptos 등 다양한 블록체인에서 사용되고 있습니다. 이름은 “값을 복사하지 않고 옮기는(move)” 동작에서 유래되었으며, Move의 자산 모델을 상징합니다.
2. Move의 핵심 가치
핵심 가치 | 설명 |
---|---|
🧩 보안성 | 자산이 복사·삭제되지 않도록 언어 차원에서 보장 |
⚙️ 표현력 | 자산 로직을 언어 구조로 명확히 정의 가능 |
🚀 직관성 | 스마트 컨트랙트뿐 아니라 일반 애플리케이션에도 쉽게 적용 가능 |
3. Move의 주요 특징
특징 | 설명 |
---|---|
리소스 타입 (Resource Types) | 디지털 자산은 복사/삭제 불가하며 반드시 이동해야 함 |
Ability 시스템 (Ability System) | 값의 생성, 저장, 이동 방식을 엄격히 제어 |
모듈 시스템 (Module System) | 코드의 재사용성과 캡슐화를 지원 |
PTB (Programmable Transaction Block) | 여러 작업을 한 번에 묶어 하나의 트랜잭션으로 실행 가능 |
4. Sui에서의 Move
Sui는 Move 언어를 기반으로 하되, 오브젝트(Object) 중심 모델을 추가하여 자산 단위의 트랜잭션을 가능하게 합니다.
개념 | 설명 |
---|---|
오브젝트 중심 모델 | 모든 자산이 오브젝트로 표현되고 관리됨 |
고유한 Object ID | 각 오브젝트는 전역적으로 유일한 식별자를 가짐 |
병렬 실행 (Parallel Execution) | 충돌 없는 트랜잭션은 동시에 실행 가능 |
Entry 함수 (Entry Function) | 누구나 호출할 수 있는 특별한 진입점 함수 |
5. Move와 PTB의 관계
PTB(Programmable Transaction Block)는 여러 Move 모듈의 함수를 연결하여 하나의 트랜잭션으로 실행하는 트랜잭션 조립 방식입니다. Sui는 이를 통해 여러 Move 호출을 한 번에 처리하며, 개발자는 시각적으로 트랜잭션을 설계할 수 있습니다.
💡 다음 장에서는 개발 환경을 구성하고, CLI 및 VS Code Extension에서 Move를 실행하는 방법을 배워봅니다.