Movement Labs는 Move 프로그래밍 언어를 기반으로 모듈식 블록체인 구축 프레임워크를 개발 중이다. 이 프레임워크는 블록체인 산업의 확장성, 보안성 그리고 상호운용성 문제 해결을 목표로 한다. 이를 통해 Movement는 하나의 고성능 체인을 만드는 것이 아닌, Move 기반 블록체인과 롤업의 네트워크 구축에 중점을 두고 생태계 전반의 가치 창출과 Move 기반 롤업 구축의 표준으로 자리매김하는 것을 목표로 한다
Diem(Libra) 프로젝트에서 처음 개발된 Move 언어는 리소스 중심 프로그래밍과 일급 자산의 개념을 도입했다. Move는 강화된 보안 기능과 Move Prover와 같은 정형 검증(Static Analysis) 도구를 제공해 블록체인 개발에 최적화된 기능을 제공한다
Move 기반 롤업을 위한 런타임 환경인 MoveVM은 Block STM을 통해 병렬 트랜잭션 처리를 구현해 블록체인의 확장성 문제를 해결한다. 또한 MoveVM은 모듈식 설계, 크로스체인 상호작용을 위한 네이티브 브리징 기능, 효율적인 멤풀 동기화 및 블록 생성 프로세스 등을 통해 블록체인 구성 요소의 원활한 통합 기능을 제공한다
Movement 프레임워크는 맞춤형 Move 롤업 생성을 위한 도구와 구성 요소 모음인 Move Stack으로 구성된다. 주요 요소로는 MoveVM과 EVM 바이트코드를 모두 처리하는 Move Executor, M1 공유 시퀀서와 같은 구성 가능한 시퀀싱 옵션, 유연한 데이터 가용성 솔루션, Optimistic, ZK, Fast-finality 등 다양한 정산 메커니즘이 있다.
탈중앙화된 공유 시퀀서 L1 네트워크인 M1은 Movement 생태계를 연결짓는 허브로서 기능하며, 롤업 트랜젝션의 정렬과 크로스체인 상호운용성을 촉진한다. M1은 여러 Move 기반 롤업을 지원하며, 서로 다른 체인 간의 원활한 상호작용과 유동성의 공유를 가능하게 한다
M2는 Move의 장점과 이더리움의 인프라를 결합한 최초의 ZK Move-EVM L2로 제시되었다. M2의 핵심 기능은 EVM 호환성을 유지하면서 초당 30,000 이상의 트랜잭션 처리 능력을 제공하여 Movement 네트워크의 플래그십 체인으로 기능한다
Movement SDK 내의 인터프리터인 Fractal은 MoveVM 환경에서 Solidity 스마트 컨트랙트 실행을 가능하게 한다. Fractal은 Solidity와 Move를 연결해 기존 이더리움 프로젝트의 Move 기반 플랫폼으로의 이전을 용이하게 하며, 반대로 Move 기반 컨트랙트가 이더리움의 구축된 인프라에 접근하는 것을 가능하게 한다
Movement의 생태계는 인프라, 상호운용성, 지갑, DeFi, 게임, 소셜 등 다양한 분야의 프로젝트로 확장되고 있다. 생태계 내의 프로젝트들은 Movement의 프레임워크를 활용해 다양한 애플리케이션과 서비스를 구축하고 있다
블록체인 업계는 지난 2년간 가장 활발한 발전기를 겪었다. 특히 인프라 설계 분야에서 획기적인 진전이 있었다. 과거 사용자들을 괴롭혔던 터무니없이 높은 거래 수수료 문제가 크게 개선됐고, 롤업들이나 Sui, Solana 같은 고성능 체인에서의 거래 속도는 이제 Web2 서비스에 견줄 만한 수준에 도달했다.
이런 발전을 고려하면 또 다른 고성능 블록체인이 과연 필요한지 의문이 들 수 있다. 하지만 Movement를 단순히 하나의 '빠른 체인'으로만 이해한다면 잘못 접근하고 있는 것이다. Movement 프레임워크의 핵심은 Move 언어와 가상 머신(VM)의 우수성을 활용해 블록체인 생태계의 여러 난제들을 해결하는 데 있다.
궁극적으로 Movement Labs는 Move 언어를 기반으로 한 모듈러 블록체인 구축 프레임워크를 제안한다. 이는 Move의 뛰어난 확장성과 보안성을 활용해 현대 블록체인 아키텍처가 직면한 여러 문제에 대한 종합적인 해결책을 제시하는 것이다. Movement는 공유 시퀀서의 효율적인 설계, 이더리움 가상 머신(EVM)의 확장성 및 보안 한계 극복, 다양한 롤업 간 상호운용성 개선, 그리고 개발자 경험 향상을 통한 생태계 확장 가속화 등 다양한 문제를 다룬다. 이를 통해 단순한 고성능 체인을 넘어, 블록체인 디자인의 새로운 패러다임을 제시하고 있다.
1.1.1 개발 언어로 인한 보안 리스크
Source: Hack3d: The Web3 Security Quarterly Report - Q2 + H1 2024
블록체인 업계는 여전히 심각한 보안 문제에 시달리고 있다. 해킹과 취약점 악용이 거의 매달 발생하고 있으며, 그 피해 규모도 상당하다. Certik의 2024년 상반기 보고서에 따르면, 400건이 넘는 온체인 보안 사고로 10억 달러 이상의 손실이 발생했다. 이는 블록체인 애플리케이션 개발에 있어 강력한 보안 조치가 얼마나 중요한지를 여실히 보여준다.
온체인 상에서 발생하는 많은 취약점들은 프로그래밍 언어의 디자인과와가상 머신의 근본적인 한계에서 비롯된다. 기존 개발 환경이 가진 제약 조건 안에서 발생하는 내재적인 문제를 개별 개발자들이 효과적으로 해결하는 것은 매우 까다로울 수 밖에 없다.
스마트 컨트랙트의 일반적인 보안 결함을 분석해보면, 취약점의 원인이 크게 세 가지로 나뉜다. 언어 설계의 문제, 컨트랙트 자체의 버그, 그리고 가상 머신의 한계다. 특히 재진입(reentrancy)이나 delegatecall 삽입과 같은 심각한 취약점들은 언어 설계 문제와 컨트랙트 버그가 복합적으로 작용해 발생한다.
Source: DefiLlama
현재 블록체인 프로그래밍 언어 시장은 Solidity와 Rust가 주도하고 있다. 그러나 두 언어 모두 스마트 컨트랙트 기반 어플리케이션들이 직면한 보안 문제를 해결하기에는 명백한 한계가 있다.
Solidity는 2015년 출시 이후 이더리움과 EVM 호환 플랫폼의 주력 언어로 자리잡았다. 수많은 디앱과 스마트 컨트랙트 개발을 가능케 했지만, 동시에 심각한 취약점으로 인해 막대한 금전적 손실을 초래하기도 했다. 대표적인 예가 재진입 공격이다. 이는 이더리움과 EVM 호환 체인에서 수백만 달러의 손실을 야기했다. 재진입 취약점은 Solidity의 설계에서 비롯된다. Solidity는 컨트랙트가 내부 상태를 갱신하기 전에 외부 호출을 할 수 있게 허용하기 때문이다. 2016년 DAO 해킹 사건에서 약 5천만 달러 상당의 ETH가 도난당한 것도 이 취약점 때문이었다.
가상 머신, 특히 EVM의 설계 또한 보안 취약점의 원인이 된다. EVM은 256비트 워드와 스택 기반 접근 방식을 사용하고 있는데, 이는 대부분의 일반적인 연산에서 비효율을 초래한다. 이러한 아키텍처적 결정으로 인해 특정한 보안 기능이나 최적화를 구현하기 어려워진다.
Source: Move: The Next Step in Smart Contract Programming
한편 Rust는 Mozilla가 처음 개발한 다중 패러다임, 범용 저수준 프로그래밍 언어다. Solana나 NEAR 같은 플랫폼에서 인기를 얻고 있지만, 원래 블록체인을 염두에 두고 설계된 언어는 아니다. Rust의 개발은 2006년에 시작됐는데, 이는 비트코인 백서가 발간되기 보다도 이전이다. 따라서 블록체인이라는 시스템의 특수한 요구사항에 맞는 최적화가 본질적으로 부족할 수 밖에 없다.
현대적인 블록체인에 걸맞지 않은 언어들에 계속 의존하는 것은 수조 달러 규모로 성장한 산업에 적합한지 의문을 제기하게 한다. Solidity는 스마트 컨트랙트와 디앱의 진정한 잠재력이 완전히 이해되기 전에 출시되었다. 그 결과, 많은 설계 요소들이 현대 블록체인 시스템의 복잡하고 중요한 환경에 최적화되어 있지 않을 수 있다.
Rust 또한 블록체인 개발에 적극적으로 사용되며 안전성과 성능 측면에서 많은 이점을 제공하고 있지만, 분산 시스템의 특정 요구 사항을 완전히 충족시키기 위해서는 여전히 상당한 적응이 필요하다.
Solidity, Rust, 그리고 EVM이 블록체인 산업 발전에 중요한 역할을 해왔지만, 지속적인 보안 문제는 새로운 패러다임을 모색할 때가 되었음을 시사한다. 블록체인 시스템의 특정 요구에 맞춰 설계된 언어와 가상 머신을 개발함으로써, 업계는 차세대 디앱과 금융 시스템을 위한 더욱 안전한 기반을 마련할 수 있을 것이다.
1.1.2 실행 레이어의 확장성 한계
블록체인 업계는 많은 발전에도 불구하고 여전히 확장성 문제에 시달리고 있다. 이는 특히 블록체인의 광범위한 도입과 복잡한 디앱 개발을 어렵게 만든다. 블록체인의 여러 요소 중에서도 실행 계층의 처리 능력이 가장 큰 병목 현상을 일으키는 요소 중 하나로 꼽힌다.
Source: Ethereum’s Scalability Crisis: The Execution Layer
실행 계층은 트랜잭션 처리와 블록체인 상태 변경을 담당한다. 구체적으로 서명과 잔액 확인을 통한 트랜잭션 검증, 그리고 네트워크 상태를 업데이트하는 온체인 로직 실행 등이 여기에 포함된다. 새로운 토큰 전송, 스마트 컨트랙트 코드 수정, 데이터 저장 변경 등이 발생하면 풀 노드들이 이를 반영해 자신의 원장을 갱신한다.
"우리는 이더리움의 확장성과 합의 문제를 해결하거나 아니면 이를 시도하다가 죽을 것이다." Vitalik Buterin
다양한 디앱의 기반이 되는 이더리움 메인넷은 오랜 시간 확장성 문제를 해결하고자 씨름해왔다. 스마트 컨트랙트라는 혁신을 가져왔지만, 현재의 구조로는 늘어나는 사용자의 수요를 감당하기 어려웠다. 네트워크가 붐빌 때면 거래 수수료가 치솟고 트랜젝션 확정 시간이 길어져 사용자 경험을 저해하며, 네트워크의 효율을 떨어뜨린다.
이더리움의 확장성 문제를 해결하고자 여러 레이어 2 솔루션이 등장했다. 이들은 메인넷에 집중되는 연산 부담을 줄이기 위해 트랜잭션을 오프체인에서 처리하고 최종 결과만 메인 체인에 기록하는 방식을 택했다.
Source: Rollup.wtf
하지만 단순히 체인 수를 늘리는 것만으로는 근본적인 확장성 문제를 해결할 수 없다. 개별 체인들도 여전히 EVM이 가진 자체적인 한계에 부딪히기 때문이다. 현재 운영 중인 주요 EVM 체인들의 초당 목표 가스량과 블록 생성 시간을 보면 이런 한계가 잘 드러난다.
가장 효율적인 블록체인 솔루션조차 중앙화 시스템의 처리 능력에는 턱없이 부족하다. 예를 들어 EVM 호환 체인 중 가장 빠른 체인에 속하는 opBNB도 초당 약 3,700개의 ERC-20 토큰 전송만을 처리할 수 있다. 이는 이더리움 메인넷에 비하면 큰 발전이지만, 초당 수백만 건의 거래를 처리하는 현대 중앙화 데이터베이스 시스템에 비하면 여전히 한참 모자란다.
Source: X(@WestieCapital)
2024년 초, 네트워크 활동이 증가했을 때 Base는 데이터 게시 비용을 줄이기 위해 도입된 EIP-4844에도 불구하고 사용자와 트랜젝션 수가 급증하면서 높은 수수료 상승 현상을 기록했다. 이는 DA 레이어의 최적화가 이루어졌음에도 실행 계층이 여전히 병목 지점임을 시사한다. 수수료 상승에 대응해 Base는 시퀀서의 L2 블록의 가스 한도를 점진적으로 늘렸다. 하지만 이와 같은 조치는 일시적으로 수요 증가에 대응할 수 있을 뿐, 장기적인 해결책이 되지 못한다는 사실은 분명하다. 아직 블록체인 산업은 많은 이들이 원하는 수준의 대중화에 도달하지 못했다는 점을 고려하면, 현재의 확장성 한계는 앞으로 더 많은 사용자들이 생태계에 참여하는 데 있어 크나 큰 걸림돌이 될 가능성이 높다.
EVM 내에서 이러한 확장성 한계를 해결하기는 쉽지 않다. 주요 구조적 제약은 다음과 같다:
단일 스레드 실행: EVM은 트랜잭션을 순차적으로 처리하며, 현대 하드웨어의 병렬 처리 능력을 활용하지 못한다. 이는 주어진 시간 내에 수행할 수 있는 연산 수를 크게 제한한다.
비효율적인 자원 사용: EVM은 기본 연산 단위로 256비트 워드를 사용하고 레지스터 대신 스택 기반 접근 방식을 채택한다. 이로 인해 많은 일반적인 연산에서 컴퓨팅 자원이 비효율적으로 사용된다.
복잡한 상태 관리: 이더리움의 계정(Account) 기반 모델은 깊게 중첩된 상태 트리(State Tree) 구조를 특징으로 한다. 이로 인해 각 상태 변경마다 여러 번의 데이터베이스 업데이트가 필요하다. 이로 인해 트랜잭션 처리 속도가 느려지며, 네트워크 상태 유지에 더 많은 자원을 필요로 한다.
가스 측정 오버헤드: 가스 측정은 스팸과 무한 루프를 방지하는 데 필수적이지만, EVM에서 실행되는 모든 연산에 상당한 연산 오버헤드를 추가한다.
상태 증가: 트랜잭션 양이 증가함에 따라 블록체인 노드가 보유해야 하는 상태 데이터도 증가한다. 이는 추가 저장 공간을 필요로 할 뿐만 아니라 상태 검증과 접근을 더 시간 소모적으로 만들어 네트워크 성능을 더욱 저하시킨다.
이러한 한계로 인해 수요가 많은 기간에는 네트워크 혼잡으로 인해 트랜잭션 수수료가 급증하여 많은 사용자들이 접근하기 어려워지고 소액 거래가 경제적으로 불가능해진다. 또한 높은 지연 시간과 불확정적인 트랜잭션 검증 시간은 사용자 경험을 저하시켜 온체인 애플리케이션의 광범위한 도입을 크게 제한한다. 전통적인 웹 애플리케이션의 즉각적인 응답성에 익숙한 사용자들은 블록체인에서의 상호작용이 답답하고 충분히 신뢰할 수 없다고 느낄 수 있다.
최근 몇 년간 블록체인 개발 환경은 크게 변화했다. 특히 롤업의 등장은 블록체인 네트워크를 배포하고 확장하는 방식에 큰 변화를 가져왔다. 이제 몇 번의 클릭만으로 자신만의 롤업을 만들 수 있게 되어 웹사이트를 배포하는 것만큼이나 간단해졌다. 롤업은 블록체인 개발을 마치 SaaS 모델처럼 변화시켰다. 개발자들은 기본 네트워크에 수수료를 지불하는 것만으로 블록체인을 구축할 수 있게 된 것이다.
Source: Optimism Collective
롤업은 보안과 검열 저항성을 이더리움 같은 기존의 기반 계층이나 다른 데이터 가용성 솔루션에 위임한다. 이를 통해 레이어 2 네트워크는 분산화와 보안의 요건을 만족하면서도 과감한 성능 최적화를 시도할 수 있게 되는 기반을 제공했다. 이로 인해 네트워크 레벨에서의 빠른 반복과 실험이 가능해졌다
OP Stack이나 Arbitrum Orbit 같은 널리 사용되는 롤업 스택 솔루션은 여러 구현 환경과 실행 환경을 지원할 수 있도록 설계된 범용 프레임워크다. Arbitrum Stylus와 같은 솔루션은 이러한 유연성을 한 단계 더 확장해 개발자들이 Solidity 외의 언어로도 스마트 컨트랙트를 작성할 수 있는 기능 또한 제공하고 있다.
Source: Arbitrum Stylus vs. Solidity: Performance Benchmark
하지만 롤업 기술이 빠르게 채택되고 있음에도 불구하고, 사용 가능한 개발 및 실행환경은 여전히 제한적이다. 이론적으로 롤업 스택 프레임워크들은 다양한 가상 머신의 구현을 허용하지만, 현실적으로 새로운 VM을 개발하고 통합하는 데는 상당한 초기 비용과 시간, 그리고 전문 지식이 필요하다. 대부분의 프로젝트, 특히 개발 부담을 최소화하고 시장 진입 속도를 높이고자 하는 프로젝트에게는 맞춤형 VM이나 실행 환경을 만드는 것이 현실적으로 까다로울 수 밖에 없다.
그 결과, 이러한 프레임워크로 구축된 대다수의 롤업은 EVM을 실행 환경으로 사용한다. 이는 EVM의 기구축된 생태계, 풍부한 개발 지원 도구, 그리고 개발자들의 친숙도 때문이다. 프레임워크 자체에는 대안적인 VM을 구현할 수 있는 유연성이 있음에도 불구하고, 경제적, 실용적 제약으로 인해 많은 프로젝트들이 결국 EVM으로 회귀하게 되고, 이에 따라 EVM의 장단점을 그대로 물려받게 된다.
물론 EVM 기반 체인의 대안도 존재한다. Sui와 Aptos 같은 프로젝트는 Move 프로그래밍 언어를 활용하고 있다. 또한 Eclipse 같은 프로젝트는 이더리움 위에 Solana 가상 머신(SVM)을 구현했다. 하지만 이런 솔루션들은 각자의 체인에서만 배포가 가능할 뿐, 다른 개발자들이 자신만의 맞춤형 체인을 개발하는 데 활용할 수 있는 환경을 제공하지는 않는다.
"’무엇이든 만들 수 있다. 단, EVM만 사용해야 한다’라고 하는 것은 마치 고급 스포츠카를 멋진 바퀴, 좋은 섀시, 비싼 브레이크로 커스터마이징하고는 1970년대의 간신히 작동하는 엔진을 사용하는 것과 같다. 우리는 이 문제를 해결하고 있다. 우리는 모든 롤업을 위한 범용 고성능 엔진을 만들고 있다."
Rushi Manche, Movement 공동 창업자
Movement Labs는 여기서 발생하는 간극을 메우고자 한다. Move 프로그래밍 언어를 다양한 블록체인으로 확장할 수 있는 프레임워크를 만들어, Move 기반의 블록체인과 롤업 네트워크를 구축하는 것을 목표로 내세우고 있다. Movement는 단순히 하나의 빠른 체인을 만드는 것이 아니라, Move 언어와 가상 머신의 우수성을 활용해 모듈식 블록체인을 구축할 수 있는 프레임워크를 제시한다.
롤업의 확산이 필연적이라는 점을 고려해, Movement는 생태계 전반에 걸쳐 가치를 창출할 수 있는 더 넓은 잠재력을 가진 프레임워크를 만드는 데 초점을 맞추고 있다. OP Stack이 롤업 구축을 위한 업계 표준이 된 것처럼, Movement는 Move 생태계에서 유사한 역할을 수행하고자 하고자 하는 것이다.
Source: Movement Whitepaper
Movement의 설계는 M1 공유 시퀀서와 Move 기반 모듈러 프레임워크를 포함해, 롤업 및 구성 요소 간 인센티브의 합치와 상호 운용성을 유지하면서 롤업의 네트워크를 구축하기 위한 현대적인 프레임워크를 제안한다. Movement의 접근 방식은 개발자, 사용자, 그리고 네트워크 자체의 이해관계가 더 밀접하게 연결된 생태계를 만드는 데 중점을 두고 있다.
Movement의 비전은 단순히 개별적인 빠른 체인을 만드는 것을 넘어서, Move를 기반으로 한 체인들의 네트워크를 구축하는 것을 바라보고 있다. 가장 빠르고 안전한 이더리움 L2 환경을 개발하는 동시에 Move 언어를 이더리움과 다른 VM 체인과 연결함으로써, Movement는 블록체인 구축 프레임워크의 최전선에 서고자 한다. Movement가 제안하는 프레임워크는 다양한 블록체인 아키텍처 간의 상호운용성을 증진시킬 뿐만 아니라, 광범위한 사용 사례와 네트워크 구성에 대응할 수 있는 유연성을 제공해 Move 기반 솔루션들이 끊임없이 변화하는 환경에서도 적응하고 성장할 수 있도록 보장한다.
Source: The Evolution of Smart Contract Development
Move 언어의 탄생 배경은 Meta의 Diem(구 Libra) 블록체인 프로젝트에 참여한 Sam Blackshear와 그의 팀이 발견한 중요한 문제에서 시작된다. 그들은 기존 프로그래밍 언어로는 블록체인 개발에 근본적인 한계가 있다는 점을 지적했다.
"컴퓨터에서는 모든 것이 단순히 비트와 바이트일 뿐이며 자유롭게 복사할 수 있습니다. 하지만 우리는 실제 세계처럼 소유권과 희소성에 대한 필요한 추상화를 제공하는 언어가 필요합니다. 기본적인 안전 보장이 필요한 거죠. 그게 바로 Move가 하는 일이고, 우리가 새로운 언어를 만든 이유입니다." Sam Blackshear, Move의 창시자
그의 팀은 Solidity를 포함한 기존 스마트 컨트랙트 언어들이 디지털 자산을 정확하게 표현하는 데 한계가 있음을 발견했다. 이를 해결하기 위해서는 복잡한 우회 방법이 필요했고, 이는 종종 스마트 컨트랙트의 보안 취약점으로 이어졌다. 또한 기존 언어를 차용하게 되면 해당 언어의 한계도 수반하게 되어, 프로젝트의 미래 성장과 적응성을 제한할 수 있다는 점을 인식했다.
이러한 배경에서 등장한 것이 바로 Move 언어이다. Move는 최소한의 기능만을 갖추고, 특정 플랫폼에 종속되지 않으며, 희소성을 프로그래밍하는 개념을 중심으로 설계되었다. Move는 안전한 환경에서 자산을 구조화하여 표현하고, 개발자들이 다양한 블록체인 플랫폼에서 실험할 수 있는 유연성을 제공하는 것을 목표로 했다.
Source: The language of money, Part one: Why build Move?
Move는 아래 세 가지 주요 원칙을 중심으로 플랫폼 독립적인 언어로 발전했다:
2.1.1 리소스 지향 아키텍처 (ROA)
Move의 핵심 혁신은 자원 중심 접근 방식에 있다. 이는 "희소성 프로그래밍"이라는 개념을 구현한 것으로, 블록체인 기술의 근본적인 과제인 디지털 자산 관리의 어려움을 해결하고자 고안되었다. 간단히 말해서, 디지털 자산을 마치 실제 물리적 자산처럼 없애거나 생성할 수 없는 개념으로 치환하는 특징을 가지고 있다.
Move는 '자원(resource)'이라는 개념을 언어의 핵심 요소로 도입했다. Move의 자원은 선형 논리에서 착안한 것으로, 사용자가 정의할 수 있으면서도 희소성을 보장하는 특별한 타입이다. 일반적인 데이터와 달리, Move의 자원은 복사나 암묵적 삭제가 불가능하며, 오직 프로그램 내에서 이동만 할 수 있다. 이는 마치 실제 물건을 한 장소에서 다른 장소로 옮기는 것과 유사한 개념이다.
또한 자원 중심 설계 방식은 Move의 모듈 기반 구조로 확장된다. 각 자원의 속성은 다른 블록체인에서 쓰이는 스마트 컨트랙트와 비슷한 개념에 해당하는 모듈 안에 캡슐화된다. 모듈은 자원을 만들고, 수정하고, 없애는 방법을 정의하며, 중요한 데이터를 추상화하고 신뢰할 수 없는 코드로부터 자원을 보호한다. 이와 같은 구조 덕분에 개발자들은 자신만의 자원 타입을 만들면서도 Move가 제공하는 안전한 관리 방식의 혜택을 누릴 수 있다.
2.1.2 안전성과 검증 가능성(Verifiability)
Source: The Move Prover
Move는 보안을 최우선으로 설계되어 일반적인 취약점들로부터 강력한 보호 기능을 제공한다. Move는 안전성 확보를 위해 두 가지 방식을 사용하는데, 먼저 타입 안전성, 메모리 안전성, 리소스 안전성 같은 기본적인 속성들은 바이트코드 검증기를 통해 온체인 상에서 직접 검증한다. 또한 프로그램별 특정 속성들은 Move Prover라는 정형 검증(Static Verification) 도구를 사용해 오프체인에서 검증한다.
Move의 독특한 점은 바이트코드 중심 접근법이다. 바이트코드는 Move로 작성된 프로그램의 실행 가능한 형태를 뜻하며, 컴파일 후에 모든 필요한 보안 장치가 이 바이트코드에 포함된다. 이를 통해 Move 기반 체인은 컴파일러를 신뢰 체계에서 제외시킴으로써 시스템의 잠재적 취약점을 줄인다. 온체인 바이트코드 검증과 오프체인 정형 증명 도구의 조합을 통해 Move는 온체인 프로그램의 전반적인 신뢰성을 향상시킨다.
2.1.3 유연성 및 플랫폼 호환성
Move는 언어로서는 특이하게 유연성과 플랫폼 독립성을 고려해 설계되었다. Move는 의도적으로 계정이나 특정 암호화 방식 같은 내장 개념을 최소화함으로써, 다양한 블록체인 플랫폼에서 다양하게 활용할 수 있게 했다. 이를 통해 개발자들은 Move를 각 블록체인이 가진 고유한 요구 사항과 특성에 맞게 조정해 사용할 수 있다.
Source: Sui
Move의 이런 유연성은 Aptos와 Sui 같은 프로젝트의 활용 사례에서 잘 드러난다. Diem(Libra) 팀 출신 인력들이 시작한 이 두 프로젝트는 각자의 필요에 맞춰 Move를 발전시켰다. Aptos는 보안을 강화하고 자산 처리 기능을 개선해 더 사용자 친화적인 생태계를 만들었고, Sui는 새로운 합의 방식과 상태 관리 시스템을 지원하도록 Move를 수정해 속도와 유연성을 높였다.
Aptos와 Sui의 Move 활용 사례는 언어가 가진 다재다능한 특성을 잘 보여주고 있다. 이외에도 Starcoin, Celo, Solana 등 다른 프로젝트들도 스마트 컨트랙트 개발에 Move를 채택했다. 이는 Move가 핵심 원칙을 유지하면서도 각 프로젝트의 요구사항에 맞게 조정될 수 있는 특징을 보여준다.
리소스 중심 설계, 강력한 안전성과 검증 가능성, 그리고 유연성을 갖춘 Move는 블록체인 개발의 강력한 도구로 자리잡고 있다. 혁신적인 자산 관리 방식, 강력한 보안, 그리고 다양한 플랫폼 호환성으로 Move는 안전하고 확장 가능하며 유연한 블록체인 앱을 만들려는 개발자들에게 매력적인 선택지가 되고 있다.
Move의 설계 철학은 보안을 핵심으로 두고, 다른 블록체인 프로그래밍 언어들이 겪던 많은 취약점들을 해결하고자 했다. 이러한 보안 우선 접근법은 Move를 기존의 언어들과 구별 짓는 아래 몇몇 주요 특징에서 잘 드러난다:
일급 자산(First Class Asset)
Source: Move Github
Move는 프로그래밍에서의 일급 함수(First Class Function)와 유사한 일급 자산 개념을 도입한다. Move의 일급 자산 원칙은 블록체인의 자산을 언어의 기본 요소로 취급할 수 있으며, 이더리움이 ETH를 다루는 방식과 유사하다고 볼 수 있다. Move의 일급 자산은 임의로 발행되거나 삭제될 수 없어, 이더리움의 ERC-20 같은 토큰 표준보다 더 높은 수준의 보안을 제공한다.
Move에서 개발자들은 이러한 보안 특성을 상속받는 맞춤형 일급 자산을 정의할 수 있다. 해당 자산들은 모듈에서 명시적으로 지정하지 않는 한, 복사되거나 암묵적으로 삭제되지 않고 저장 위치 간에만 이동할 수 있다. 이러한 접근 방식을 통해 개발 언어 차원에서 재진입 공격 같은 많은 보안 취약점을 해결하여, 자산 관리 관련 버그의 위험을 크게 줄인다.
유연성(Flexibility)
Move의 모듈 시스템은 리소스를 관리하는 유연하면서도 안전한 방법을 제공한다. 스마트 컨트랙트와 유사한 개념인 모듈은 리소스가 어떻게 생성, 수정, 삭제되는지를 사전에 정의한다. 이러한 캡슐화는 리소스에 대한 중요한 작업이 해당 모듈 내에서만 수행되도록 보장하여 보안의 강력한 기반을 제공한다. 개발자들은 세밀한 접근 제어 정책을 구현하여 누가 특정 리소스와 상호 작용할 수 있고 어떻게 할 수 있는지 제한할 수 있다.
또한 Move는 트랜잭션 스크립트를 통해 유연성을 더욱 높인다. 각 트랜잭션에는 트랜잭션의 주요 절차 역할을 하는 트랜잭션 스크립트가 포함된다. 이 스크립트는 블록체인의 어떤 모듈에서든 모든 절차를 호출할 수 있어, 트랜잭션 생성자가 다양한 모듈을 조합해 트랜잭션을 맞춤화할 수 있다. 이러한 설계는 개발자들에게 상당한 프로그래밍 유연성을 제공하며, 더 단순하고 잘 검증된 구성 요소들을 조합해 복잡한 트랜잭션을 만들 수 있게 한다.
바이트코드 레벨 안전성
Move는 바이트코드 수준에서 보안을 검증하는 독특한 접근 방식을 취한다. 바이트코드 수준에서 제공하는 안정성은 아래와 같은 이점을 제공한다:
온체인 검증: Move VM은 실행 전에 타입, 메모리, 리소스 안전성을 확인하는 바이트코드 검증기를 포함한다. 이는 악의적으로 조작된 바이트코드조차도 언어의 안전성 보장을 위반할 수 없도록 한다.
가스 측정: 바이트코드 검증기는 가스 측정을 포함하여 모든 Move 프로그램이 종료되도록 보장하고 잠재적인 서비스 거부 공격(DoS)을 방지한다.
제한된 가변성: Move는 스마트 컨트랙트 내 데이터의 가변성을 제한하여 단일 트랜잭션 내에서 참조를 통해서만 변경할 수 있도록 한다. 이러한 설계는 프로그램 동작에 대한 추론을 단순화하고 보안을 강화한다.
동적 디스패치(Dynacmic Dispatch)의 부재: Move는 동적 디스패치를 지원하지 않아, 컴파일 시점에 어떤 메서드가 호출될지 알 수 있다. 정적 디스패치는 검증 도구가 트랜잭션을 분석하고 검증하기 쉽게 만들어, 프로그램의 동작을 더 예측 가능하고 추론하기 쉽게 한다.
2.2.1 Move 검증자(Prover)
Source: Move: Innovations and Opportunities
Move의 가장 강력한 보안 기능 중 하나는 Move Prover라는 정형 검증 도구이다. Move Prover는 Move 코드의 정합성 검증을 위해 고안되어, 개발자들이 스마트 컨트랙트의 정확성과 보안을 수학적으로 증명할 수 있게 해준다. Move Prover의 주요 특징으로는 다음과 같은 것들이 있다:
정형 검증(Static Verification): Move Prover는 수학적 기법을 사용해 코드의 정확성을 증명한다. 이는 전통적인 테스팅 방법보다 더 강력한 보증을 제공한다. 또한 그 철저한 분석에도 불구하고 Move Prover는 놀라울 정도로 효율적이다. 대규모 모듈도 몇 초 만에 검증할 수 있어 개발 과정에서 실용적으로 사용할 수 있다.
명세 언어(Specification Language): 개발자들은 Move 코드 내에서 형식적인 검증 조건을 작성해 더 높은 수준의 확신을 얻을 수 있다. 예를 들어 명세 조건에는 예상되는 동작, 불변 조건, 사전/사후 조건 등을 정의하며, Prover는 이를 실제 코드와 대조해 검증한다.
세밀한 불변 조건 검사: Move Prover는 코드 상에서 명시적으로 가변적이라고 선언되는 경우를 제외하고, 코드의 중요한 속성(불변 조건)이 실행 전반에 걸쳐 유지되는지 확인한다. 이는 일반적인 테스팅으로는 놓치기 쉬운 미묘한 버그를 잡아내는 데 도움이 된다.
Alias-Free 메모리 모델: 검증을 위해 Prover는 복잡한 참조를 제거한 단순화된 메모리 모델을 사용한다. 이 접근 방식은 정확성을 희생하지 않으면서도 검증 과정을 크게 가속화한다.
Source: Formal Verification, the Move Language, and the Move Prover
Move Prover는 코드 동작에 대한 수학적 확실성을 제공함으로써 실제 시스템에서 취약점이 발생할 위험을 크게 줄인다. 이는 버그가 심각한 재정적 손실로 이어질 수 있는 블록체인 환경에서는 특히 중요하다.
Move의 내재된 보안 기능과 강력한 Move Prover의 조합은 안전한 블록체인 애플리케이션 개발을 위한 강력한 프레임워크를 만든다. 이를 통해 개발자는 코드의 정확성과 안전성에 대한 높은 확신을 가지고 작성할 수 있다.
블록체인의 처리량 요구사항이 점점 더 많은 사용자와 복잡한 애플리케이션을 수용하기 위해 확장됨에 따라, 순차적(Sequential) 트랜잭션 처리 방식의 한계가 명확해졌다. 제한적인 확장성으로 인해 수요가 증가하는 시기에 네트워크 혼잡 및 트랜잭션 검증 시간 지연 등으로 이어져 블록체인의 사용자 경험을 크게 저해하게 된다.
블록체인의 제한적인 확정성 문제를 해결하기 위한 방안으로 병렬화(Parallelization)가 대두되고 있다. 병렬화는 트랜잭션을 하나씩 차례대로 처리하는 순차 처리 방식 대신, 여러 트랜잭션을 동시에 처리함으로써 네트워크가 트랜잭션을 처리하는 방식을 근본적으로 바꾼다.
Source: Blockchain & Technology Enabling Parallel Execution
병렬화는 현대의 멀티코어 프로세서 능력을 활용하여 잠재적으로 지연 시간을 줄이고, 전반적인 네트워크 확장성을 높이며, 하드웨어 성능을 최대한으로 활용할 수 있다. 효과적인 병렬화 시스템 구축의 핵심은 트랜잭션 간의 의존성과 충돌을 관리하여 각 블록에서 구한 블록체인의 최종 상태가 일관되고 안전하게 유지되도록 하는 데에 있다.
2.3.1 Block STM
MoveVM의 확장성 해결책의 핵심에는 Block STM이라는 정교한 병렬 실행 엔진이 있다. Block STM은 Diem 프로젝트의 일환으로 개발되어 현재 Aptos에서 사용 중에 있으며, 보안이나 정확성을 저해하지 않으면서 블록체인 기술이 당면한 가장 시급한 과제 중 하나인 대량의 트랜잭션을 빠르게 처리하는 방법을 제시한다.
Block STM의 핵심은 트랜잭션의 병렬 처리 방식에 있다. 기존의 블록체인 시스템은 트랜잭션을 한 번에 하나씩 처리하는데, 이는 사용자의 수요가 몰리는 시기에 상당한 속도 지연과 네트워크 혼잡을 발생시킨다. 반면 Block STM은 여러 트랜잭션을 동시에 처리함으로써 속도와 확장성을 늘렸다.
하지만 단일 상태에 대한 합의를 구축해야 하는 블록체인 환경에서 트랜잭션을 병렬로 처리하는 것은 그리 간단하지 않다. 트랜잭션들은 경우에 따라 서로 의존성을 띌 수 있어, 만약 순서를 무시하고 처리하면 오류가 발생할 수 있다. Block STM은 이 문제를 독특한 정렬 및 검증 시스템으로 해결한다.
Source: Block-STM: Accelerating Smart-Contract Processing
예를 들어, 서로 의존성이 있는 10개의 트랜젝션으로 이루어진 블록이 있다고 가정해보자. Block STM은 이런 의존성을 고려해 여러 스레드에 걸쳐 처리 작업을 조직한다. 의존성이 없는 트랜젝션은 병렬로 처리하면서, 의존성이 있는 트랜젝션은 필요한 데이터를 기다리게 한다.
Block STM의 핵심 메커니즘은 다음과 같이 작동한다:
블록 사전 정렬: 병렬 처리에서 Block-STM은 블록 내의 모든 트랜잭션이 순차적으로 처리된 것과 동일한 결과로 이어지도록 보장한다. 트랜젝션 간의 의존성을 처리하기 위해 설정된 순서를 사용하여 모든 것이 일치하도록 한다.
낙관적(Optimistic) 스케줄링 의존성을 미리 알 수 없을 때, Block-STM은 "추측-검증-재실행" 방식을 사용한다. 먼저 트랜잭션을 낙관적으로 병렬 실행하고, 그 다음 트랜잭션이 올바른 데이터를 읽었는지 확인한다. 그렇지 않은 경우 트랜젝션을 올바르게 다시 실행한다.
Strawmen(S-1) 알고리즘: Block STM의 초기 처리 과정은 두 단계로 구성된다: 먼저 모든 트랜젝션을 병렬로 처리한 다음, 검증에 실패한 트랜잭션을 다시 처리한다. 이 과정은 모든 트랜젝션이 성공적으로 검증될 때까지 계속된다.
Block-STM 알고리즘: Block-STM의 전체 버전은 스트로맨을 개선하여 스레드가 필요에 따라 동적으로 트랜잭션 검증이나 재실행 작업을 수행할 수 있게 한다. 트랜잭션을 다시 실행해야 하는 횟수를 줄이기 위해 간단한 형태의 의존성 추적을 사용한다. 이는 선제적(Preemptive) 실행과 즉각적인 재검증 방식을 통해 이루어진다.
정확성 검증: 먼저, 트랜젝션이 정보를 필요로 할 때마다 항상 사용 가능한 가장 최신 데이터를 검색한다. 이는 마치 대화에 응답하기 전에 항상 최신 업데이트를 확인하는 것과 유사하다. 다음으로 세부 사항이 업데이트되면 후속 트랜젝션은 마지막으로 확인한 이후 아무것도 변경되지 않았는지 다시 확인한다.
Source: Block-STM
Block STM의 효율성은 블록 내 트랜잭션의 미리 설정된 순서를 활용하는 능력에서 비롯된다. 이 순서를 통해 시스템은 실행과 검증에 대해 지능적인 결정을 내릴 수 있어 충돌을 줄이고 병렬 처리를 최대화할 수 있다. 낙관적 실행과 신중한 충돌 관리, 협력적 스케줄링 접근법을 결합함으로써 Block STM은 블록체인 운영에 필요한 일관성 보장을 유지하면서 높은 처리량을 달성했다.
2.3.2 Move VM
MoveVM은 Movement Labs가 개발한 Move 기반 롤업을 위한 실행 환경이다. Block STM을 통한 병렬화 기능 외에도, MoveVM은 기존 모델이 직면한 확장성, 모듈성, 그리고 상호운용성 문제를 해결하기 위해 고안되었다.
모듈성 (Modularity)
기존 블록체인에서 활용되는 VM들은 종종 블록체인의 다른 구성 요소와 통합하는 과정에서 어려움을 겪었다. 이는 멤풀, API, 블록 처리 메커니즘 등을 연결하는 과정에서 큰 비효율을 초래했다. 또한 제한적인 모듈성은 블록체인의 병렬 처리 능력을 제한하여 시스템의 확장성과 처리 속도를 저하시켰다. MoveVM의 모듈식 설계 방식은 이러한 장벽을 해소하고 블록체인 구성 요소들의 원활한 통합을 가능하게 하는 데 중점을 두고 있다. 더불어, MoveVM의 모듈식 설계는 시스템 중단 없이 네트워크를 동적으로 업데이트하거나 수정할 수 있게 해, 지속적인 운영과 발전을 보장한다.
상호운용성 (Interoperability)
MoveVM은 네이티브 브리징 기능을 갖춘 SDK를 배포하여 서드파티 기술에 대한 의존도를 줄이고, Movement 롤업 간 직접적인 트랜잭션 전송을 가능하게 한다. Movement는 특별한 Ethereum JSON RPC 엔드포인트를 사용하는데, 이는 EVM RPC 요청을 처리하고 MoveVM 호환 호출로 변환하여 Solidity 스마트 컨트랙트와 기반 Move 블록체인 간에 원활한 메시징을 할 수 있도록 지원한다. 이를 통해 Movement는 중앙화된 검증자에 대한 의존성, 컨트랙트에 예치된 자산 준비금과 코드 상 오류 등 서드파티 브릿지에서 발생할 수 있는 관련된 위험도를 축소시켜 크로스체인 트랜잭션의 전반적인 보안성과 신뢰성을 높인다.
Source: X(@movementlabsxyz)
MoveVM은 여러 VM과의 호환성을 높이기 위해 기존 실행 환경에서 몇 가지 수정사항을 도입했다:
멤풀 동기화 (Mempool Sync): 멤풀에서 트랜잭션 순서 지정과 우선순위 부여를 최적화하여 효율적인 병렬 처리를 지원한다. 다양한 애플리케이션 합의 메커니즘과 동기화를 가능하게 하고, 새로운 트랜잭션이 멤풀에 들어올 때 합의 계층에 알린다. 시간 간격이나 트랜잭션 수신에 기반하여 블록 생성을 시작할 수 있다.
블록 생성: 실시간 트랜잭션 데이터를 활용하여 블록 생성 과정의 속도를 증가시킨다. 합의 계층의 요청에 따라 실행 계층은 수수료와 시간 등의 매개변수를 기반으로 멤풀의 트랜잭션을 평가하고 우선순위를 설정한다.
블록 커밋: 생성된 블록을 안전하게 처리하고 검증하여 블록체인에 정확한 트랜잭션 기록을 보장한다. 실행 레이어에서 블록 구성이 완료되면 블록은 합의 레이어로 전달된다. 합의가 이루어지면 다시 실행 레이어가 스토리지를 업데이트한다.
기존 Block STM 방식에서 추가적인 개선을 통해 MoveVM(Move + EVM)은 체계적이고 효율적인 워크플로우를 구현할 수 있게 되었다. 멤풀에서부터 블록의 합의까지 이어지는 단계적 접근 방식은 트랜잭션 처리의 효율성을 높이고, 각 계층 간의 원활한 상호작용을 보장한다. 결과적으로 MoveVM은 Block STM이 제공하는 높은 처리량 뿐만 아니라 모듈성과 상호 운용성을 통한 이점을 동시에 달성할 수 있게 되었다.
Source: Movement Docs
Movement 프레임워크는 커스텀한 Move 롤업을 만들 수 있는 구성 요소와 어댑터의 집합이다. Movement의 프레임워크에는 시퀀싱, 데이터 가용성, 세틀먼트(Settlement) 메커니즘과 같은 블록체인의 필수적인 기능 요소가 포함된다. Move Stack의 모듈러 아키텍처 덕분에 개발자들은 자신의 애플리케이션에 가장 적합한 구성 요소를 선택할 수 있어 최적화된 성능과 보안을 달성할 수 있다.
Move 롤업 아키텍처는 다양한 요구사항에 맞출 수 있는 유연한 구조를 갖추고 있다. Move 롤업 아키텍처는 변경할 수 없는 고정 요소와 개발자가 필요에 따라 조정할 수 있는 요소로 나뉜다. 고정 요소에는 Move Executor, 레이어 1과 롤업 사이의 자산 이동을 담당하는 브릿지 컨트랙트 등이 있다. 사용자 정의가 가능한 요소에는 롤업의 시퀀서, 데이터 가용성(DA) 서비스, 세틀먼트 메커니즘 등이 포함된다. 롤업의 개발자는 모듈식 환경 구성을 통해 각각의 요구사항과 활용도에 맞게 구체적인 구현 방식을 선택할 수 있다.
3.1.1 Move Executor
Source: Movement
Move Executor는 Movement-SDK의 핵심 구성 요소로, MoveVM과 EVM 바이트코드를 모두 지원한다. Move Executor의 이중 호환성은 개발자가 기존 이더리움 애플리케이션과의 호환성을 유지하면서도 Move 언어의 고급 기능을 활용할 수 있는 강력한 실행 환경을 제공한다. Move Executor는 MoveVM의 병렬 실행 기능을 기존 EVM 인터프리터와 통합하여 호환성과 확장성을 보장하기 위한 모듈로, Movement 아키텍처의 핵심이며 다른 구성 요소와 달리 다른 실행 환경으로 치환할 수 없다.
Move Executor는 트랜잭션의 유형(Move 또는 EVM)에 따라 다르게 트랜젝션을 처리한다. Move 트랜잭션의 경우, MoveVM이 이를 실행하고 그 결과로 블록체인의 상태 변화를 나타내는 데이터를 생성한다. EVM 트랜잭션은 Geth를 사용하여 처리되며, 이는 블록체인의 상태를 직접 수정하거나 Move 트랜잭션과 유사한 형태의 상태 변화 데이터를 생성한다. 이를 통해 트랜잭션의 종류와 상관없이 최종적으로는 동일한 형식으로 블록체인의 상태를 변경하게 되어 Move와 이더리움 트랜잭션 모두가 블록체인의 상태를 일관된 방식으로 업데이트할 수 있게 된다.
3.1.2 Move Stack을 이용한 자체적인 레이어 구성
Source: Movement Whitepaper
Move Stack은 Move 롤업을 생성하고 배포하는 데 필요한 모든 도구를 제공한다. 개발자들은 미리 구성된 여러 구성 요소 중에서 선택하여 새로운 Move 롤업을 빠르게 출시할 수 있다. Movement의 모듈식 접근 방식은 다양한 요구 사항에 맞는 롤업 구성을 가능하게 한다.
예를 들어, 범용적으로 설계된 Move-EVM 롤업인 M2는 M1 공유 시퀀서와 Celestia의 데이터 가용성 서비스를 사용하며, 영지식 증명을 사용한 세틀먼트 방식을 차용하고 있다. 반면 다른 구성 방식을 적용해 게임이나 DeFi와 같은 특정 애플리케이션에 최적화 된 롤업을 구축할 수 있다.
Move Stack에서 개발자가 선택할 수 있는 주요 구성 요소는 다음과 같다:
시퀀서: 기본 M1 탈중앙화 공유 시퀀서를 사용하거나 롤업 자체적인 시퀀싱 메커니즘을 채택할 수 있다
데이터 가용성: 이더리움이나 Celestia, Near, EigenDA 등 다양한 옵션 중에서 선택할 수 있다
세틀먼트 메커니즘: 옵티미스틱 롤업(사기 증명), ZK 롤업(유효성 증명), 빠른 완결성(스테이크 롤업) 등의 검증 방식 중에서 선택할 수 있다
3.1.3 Staked Rollup (스테이크 롤업)
Movement는 자체 지분증명(Proof of Stake) 합의를 통해 보안을 유지하는 빠른 완결성(Fast-Finality) 롤업, 혹은 스테이크 롤업의 개념을 도입했다. 스테이크 롤업에서는 검증인들이 네이티브 L2 토큰을 예치하여 합의 과정에 참여하고 상태 전이의 유효성을 증명한다. 스테이크 롤업 메커니즘은 검증인이 이중 서명 등의 부정행위를 할 경우 예치금을 차감하고 정직하게 참여할 경우 보상을 지불해 네트워크의 보안을 유지한다.
스테이크 롤업의 메커니즘은 검증인 네트워크를 활용하여 롤업의 신속한 거래 완결성을 달성한다. 검증인들은 트랜잭션 배치 실행의 정확성을 확인하는 역할을 맡는다. 충분한 수의 검증인(일반적으로 전체 예치금의 2/3 이상)이 상태 전이의 정확성을 확인하면 해당 거래는 최종적이고 되돌릴 수 없는 것으로 간주된다.
Movement의 스테이크 롤업에서 트랜젝션의 검증은 다음과 같은 주요 단계를 거친다:
검증인들이 신뢰할 수 있는 레이어 1 컨트랙트에 자산을 예치한다
상태 전이가 발생하면 검증인들은 서명된 증명을 브로드캐스트하고 다른 검증인들의 증명을 수집한다
전체 예치금의 2/3 이상에 해당하는 증명이 수집되면 이를 레이어 1 컨트랙트에 제출한다
레이어 1 컨트랙트는 증명의 유효성과 고유성을 검증하여 롤업의 상태 전이를 확정한다
스테이크 롤업의 보안 수준은 검증인들의 총 예치금 규모와 직접적으로 연관된다. 예치, 검증 및 보상/슬래싱 과정은 신뢰할 수 있는 컨트랙트를 통해 레이어 1에서 이루어진다. 해당 메커니즘은 속도와 보안 간의 균형을 이루는 것을 목표로 하며, 전통적인 롤업 모델과 비교해 빠른 완결성을 제공하면서도 시스템의 높은 신뢰도와 무결성을 유지하고자 한다.
3.1.4 Movement SDK
Source: Movement SDK: Unifying the Blockchain Universe
Movement SDK는 M2 롤업 구조를 위해 개발된 종합적이고 모듈식 개발 키트다. Movement SDK는 MoveVM 기반의 실행 환경을 제공하며, 개발자가 다양한 블록체인 아키텍처에 맞춰 효율적으로 구성하고 배포할 수 있게 해준다. 모듈식 설계와 확장성을 갖춘 Movement SDK를 통해 개발자들은 핵심 구성 요소를 기반으로 맞춤형 도구와 라이브러리를 만들 수 있으며, Movement Labs의 네트워크와도 쉽게 연동할 수 있다.
Movement SDK는 여러 블록체인 환경 간의 모듈성과 상호운용성을 지원하는 통합 도구로, 아래 Movement 프레임워크의 핵심 스택을 사용하고 있다:
MoveVM: Movement 롤업을 위한 안전하고 효율적인 실행 엔진으로, Move 언어의 안전성과 효율성 원칙에 따라 스마트 컨트랙트를 위한 리소스 중심의 안전한 실행 환경을 제공한다
Fractal: Solidity 컨트랙트와 MoveVM을 연결하는 브릿지 역할을 한다. 개발자들은 이를 통해 기존 Solidity 컨트랙트를 MoveVM에 쉽게 배포할 수 있다. Fractal은 Solidity의 개발자 친화적 특성과 MoveVM의 안전하고 성능 중심적인 런타임을 효과적으로 결합한다.
커스텀 시퀀서 및 DA 어댑터: M1 및 자체 시퀀서의 활용과 Celestia나 Eigen DA 같은 외부 데이터 가용성 솔루션과의 원활한 통합을 지원한다. 개발자는 이를 통해 프로젝트의 특정 요구사항과 사용 사례에 맞게 체인의 기술 스택을 유연하게 구성할 수 있다.
이러한 특징들을 바탕으로 Movement SDK는 개발자들이 다양한 블록체인 환경에서 효율적이고 안전한 애플리케이션을 쉽게 구축할 수 있는 강력한 기반을 제공한다.
M1은 Movement 생태계의 핵심 요소로, 레이어 1 네트워크이자 Movement 롤업을 위한 탈중앙화 공유 시퀀서 역할을 한다. M1은 여러 Move 기반 롤업의 트랜젝션 순서와 합의를 관리하며, 공정한 트랜젝션 정렬과 롤업 간 상호 운용성 향상을 목표로 한다.
기존의 많은 롤업 솔루션이 중앙 집중식 시퀀서를 사용하는 것과 달리, M1은 탈중앙화된 시퀀서 방식을 사용하고 있다. M1은 Movement SDK와 긴밀히 연동되어 있으며, MoveVM의 기능을 적극적으로 활용한다. 특히 M1은 거래 순서에 대한 합의를 위해 높은 확장성을 자랑하는 Avalanche의 Snowman 합의 메커니즘을 차용했다. 만약 시퀀서가 각 롤업이 지정한 DA 계층에 거래 데이터를 제때 게시하지 않으면 슬래싱을 당한다.
Source: X(@movementlabsxyz)
M1의 주요 특징 중 하나는 체인 간 상호 운용성 지원이다. 여러 Move 기반 롤업의 공유 시퀀서로서 M1은 Movement 생태계 내 다양한 체인 간의 원활한 소통과 상호 작용을 가능케 한다. 이를 통해 M1은 Move 롤업 간 크로스체인 스왑과 유동성의 공유를 지원하며, 자산과 유동성이 롤업 간에 자유롭게 이동할 수 있는 효율적인 네트워크 구축에 기여한다.
M1은 현재 Move Stack을 활용해 Parthenon 테스트넷에서 Aptos Move, Sui Move와 EVM을 사용한 어플리케이션들을 동시에 지원하고 있다. 이러한 특성은 M1의 유연성과 다양한 블록체인 실행 환경에서의 활용 가능성을 잘 보여주는 사례이다.
Source: The Shared Sequencer; An SoK on Shared Sequencing, Aggregation Theory and Vertical Integrations
M1과 Move 롤업의 통합은 Movement 생태계의 핵심이다. M1의 공유 시퀀서 방식은 네트워크 내 모든 Move 롤업을 연결하여 크로스 롤업 트랜잭션과 유동성 공유 등을 가능하게 한다. 개발자들은 이를 통해 외부 시퀀싱 솔루션으로는 어려울 수 있는 트랜젝션 처리와 상태 관리의 최적화를 실현할 수 있다.
M1은 롤업 별로 맞춤형 트랜잭션 정렬을 제공하며, 프론트러닝 공격을 완화하고 검열 저항성을 강화하기 위한 공정한 트랜잭션 정렬과 같은 다양한 접근 방식에 대한 템플릿을 제공한다. 중요한 점은 M1 시퀀서 모듈이 외부 서비스가 아닌 롤업에 의해 수수료를 수집할 수 있게 하여, Movement 네트워크의 네이티브 토큰의 유용성을 증가시킬 수 있다는 점이다.
Source: Introducing M1: Redefining L1 Blockchains with the Movement SDK
M1의 주목할 만한 특징 중 하나는 사용자 정의 VM을 배포할 수 있다는 점이다. 이러한 유연성 덕분에 개발자들은 특정 요구 사항에 맞춘 블록체인 애플리케이션을 만들 수 있어, 기존의 일률적인 솔루션에서 벗어날 수 있다. 개발자들은 자신들의 특정 니즈에 맞는 VM을 설계함으로써 애플리케이션의 효율성과 성능을 최적화할 수 있다.
M1의 또 다른 강점은 쉽고 빠른 통합 기능이다. M1 플랫폼에 VM이나 새로운 기술을 배포하면 자동으로 시스템에 통합된다. 이를 통해 개발자들은 복잡한 통합 과정에 소비하는 개발 과정을 크게 간소화하고 효율성을 높일 수 있다. 결과적으로 개발자들은 기술적인 통합 문제에 얽매이지 않고, 창의적이고 혁신적인 애플리케이션 개발에 더 집중할 수 있게 된다.
M1은 통합된 시퀀싱 계층을 제공함으로써 개별 롤업의 인프라 요구 사항을 줄이는 것을 목표로 한다. 이는 자산과 유동성이 다양한 Move 롤업 간에 이동할 수 있는 생태계를 만들어, 사용자 경험과 전반적인 네트워크 활용도를 잠재적으로 향상시킬 수 있다.
이러한 특성들을 종합해 볼 때, M1은 Movement 롤업들에게 단순한 공유 시퀀서 이상의 역할을 수행한다. M1은 Movement 생태계 내에서 다양한 롤업과 애플리케이션을 연결하는 중추 신경계 역할을 하며, 효율성, 보안성 그리고 상호 운용성을 높이는 데 중요한 역할을 한다. 이를 통해 개발자들은 더욱 효율적인 블록체인 어플리케이션을 구축할 수 있는 기반을 갖게 된다.
3.3.1 아키텍처
Source: Movement Labs announces M2, the first Move VM-based L2 for Ethereum with Celestia underneath
Movement Labs가 새롭게 선보인 M2는 Move 언어 기반의 ZK 롤업으로, Movement 생태계의 중심축 역할을 할 전망이다. M2는 Move 프로그래밍의 장점과 이더리움의 견고한 인프라를 결합해 개발자들에게 확장성과 보안성을 갖춘 블록체인 애플리케이션 개발 환경을 제공하는 것을 목표로 한다. 단, 현재 Movement 롤업들은 사기 증명 방식의 Optimistic 롤업으로 구성되어 있으며, 추후 ZK 롤업으로 업그레이드 될 예정임에 유의할 필요가 있다.
M2의 핵심 구성 요소는 다음과 같다:
MoveVM: Move와 EVM 스마트 컨트랙트를 모두 실행할 수 있는 런타임 환경
Fractal: M2가 Move 컨트랙트와 함께 표준 EVM 스마트 컨트랙트를 실행할 수 있게 해주는 변환 도구
M1: Movement 네트워크 내에서 트랜잭션의 순서, 정확성, 검증 가능성을 보장하는 지분 증명 기반의 L1 공유 시퀀서 네트워크
3.3.2 주요 특징
M2의 가장 큰 특징 중 하나는 Move와 Solidity 두 가지 언어를 동시에 지원하는 이중 언어 기능이다. Move 언어로 작성된 컨트랙트와(Aptos Move와 Sui Move)과 Solidity 컨트랙트를 모두 수용하는 M2의 아키텍처는 개발자들이 양쪽 생태계의 이점을 모두 활용할 수 있게 해주며, 이는 플랫폼에서 구현 가능한 애플리케이션의 범위를 크게 확장시킨다.
확장성 측면에서 M2는 기존 이더리움 트랜잭션 처리 속도를 크게 뛰어넘는 성능을 달성했다. M2의 실행 환경은 EVM 호환성을 유지하면서도 초당 30,000개 이상의 트랜잭션 처리를 목표로 하고 있다. M2는 네트워크의 높은 처리량을 달성하기 위해 Block STM의 병렬화 방식을 적용한 Move VM의 설계를 적극 활용한다.
또한 M2는 스마트 컨트랙트의 보안을 강화하기 위해 Move Prover라는 형식 검증 도구를 도입했다. 이를 통해 Move-EVM 바이트코드 인터프리터를 사용해 런타임에서 재진입 공격 같은 특정 취약점을 방지할 수 있다.
Move의 강점과 EVM 호환성을 결합함으로써, M2는 Move의 보안 및 성능 이점과 이더리움의 풍부한 생태계를 모두 누릴 수 있는 플랫폼을 제공하고자 한다. Movement Labs는 M2를 통해 높은 처리량과 강화된 보안이 필요한 블록체인 애플리케이션 개발자들에게 최적의 솔루션을 제공하고 있다.
3.3.3 트랜젝션 처리 과정
Source: Parallelization: A Fresh Perspective on Blockchain Transactions
Move 롤업 내의 트랜잭션 처리 과정은 다음과 같다:
트랜잭션 제출: 클라이언트에 의해 트랜잭션이 멤풀에 추가된다.
시퀀싱: 시퀀서가 멤풀에서 트랜잭션 배치를 선택하고 정렬한다. 그런 다음 선택된 DA 서비스에 트랜잭션 데이터를 게시한다. M2의 경우 트랜잭션은 이더리움에 게시된다
실행: Move Executor가 트랜잭션을 처리하여 새로운 L2 상태를 생성한다. 롤업의 상태에 대한 연산 결과에 해당하는 상태 루트(State Root) 값이 L1 브릿지 컨트랙트에 게시된다
정산: L1 검증 브릿지 컨트랙트가 새로운 상태를 확인할 때 트랜잭션이 최종 확정된다. M2의 경우 유효성 증명은 프루버 마켓플레이스라고 불리는 zk-프루버 네트워크를 통해 생성된다. 그러나 이 검증은 낙관적 롤업에서의 챌린지 기간 완료나 빠른 완결성 롤업에서의 쿼럼 인증서 검증을 통해서도 발생할 수 있다.
M2는 이더리움과 긴밀한 연결성을 유지하여 네트워크의 보안과 풍부한 유동성을 활용하면서도 더 나은 성능을 제공하는 것을 목표로 하고 있다. M2의 트랜잭션 데이터와 상태 변경은 최종적으로 이더리움에 기록되어 네트워크의 전반적인 보안을 보장한다.
Source: X(@movementlabsxyz)
Fractal은 Movement SDK 내의 인터프리터로, MoveVM 환경에서 Solidity 스마트 컨트랙트의 실행을 가능하게 한다. Fractal의 목표는 이더리움 생태계와 Move 기반 플랫폼 사이의 간극을 메우는 것이다. 이를 통해 개발자들은 기존 Solidity 컨트랙트를 활용하면서도 MoveVM의 리소스 중심 프레임워크를 이용할 수 있게 된다.
Source: X(@movementlabsxyz)
Fractal에서 이루어지는 컨트랙트 해석 과정은 다음과 같은 단계로 이루어진다:
토큰화 및 파싱: Fractal은 Solidity 스크립트를 변수, 함수, 제어 구조 등 기본 요소로 분해한다. 그 후 코드의 구문 구조를 분석하여 추상 구문 트리를 생성한다
추상 구문 트리(Abstract Syntax Tree, AST): AST는 Solidity 코드의 계층 구조를 나타내며, 코드 세그먼트 간의 관계를 보여준다
중간 언어(Intermediate Language, IL): AST는 고수준 Solidity 코드와 저수준 명령어 사이의 다리 역할을 하는 중간 언어로 변환된다
MoveVM Opcode: IL은 MoveVM이 이해하고 실행할 수 있는 Opcode로 변환된다
MoveVM Bytecode: 마지막으로, 위에서 구해진 Opcode MoveVM 환경에서 실행 가능한 바이트코드로 변환된다
Source: X(@movementlabsxyz)
Fractal은 단순한 해석 과정을 넘어서 Move와 EVM 환경 간의 통합을 촉진하는 기능도 제공한다. 두 가지 핵심 기능을 통해 Move와 EVM 환경 간의 원활한 상호작용이 가능해진다:
register_move_contract: EVM 환경 내에서 Move 컨트랙트 통합을 가능하게 한다. 이를 통해 Move 컨트랙트가 EVM 기반 컨트랙트와 함께 작동할 수 있어, 스마트 컨트랙트 생태계를 확장시킬 수 있다
call_evm_from_move: 위와 반대로 Move 컨트랙트가 EVM 기반 컨트랙트와 상호작용할 수 있는 기능을 제공한다
Fractal이 제공하는 기능들은 Move와 EVM 기반 컨트랙트의 통합 과정을 단순화한다. 단 한 번의 함수 호출로 Move 컨트랙트가 EVM에 배포된 컨트랙트와 상호작용할 수 있게 되어, 각 생태계 내에서 가능한 통합의 범위가 크게 확장된다.
또한 축소된 변환 과정을 통해 Fractal은 이더리움 개발자들이 기존 컨트랙트를 다시 작성할 필요 없이 Move 기반 플랫폼으로 이전할 수 있게 해준다. 기존 Solidity 코드베이스를 Move로 전환하는 것은 새로운 언어를 배워야 하는 소모적인 과정이지만, Fractal은 이 과정을 간소화하여 자원과 유동성이 다양한 체인 간에 더 자유롭게 이동할 수 있게 한다.
Fractal은 현재 개발 중에 있으며, 해당 기능을 확장하기 위한 테스트와 개선 과정을 거치고 있다. Fractal의 장기적인 목표는 이더리움과 Move 기반 플랫폼을 포함한 다양한 블록체인 생태계 간의 상호운용성을 촉진하는 것에 있다.
Movement는 Move 언어를 중심으로 개발자들이 쉽게 맞춤형 솔루션이나 디앱 서비스를 구축할 수 있도록 지원하고, 이를 통해 사용자들이 자연스럽게 생태계에 녹아들 수 있게 판을 깔아놓았다. 이 때문에, Movement의 생태계 환경은 점점 확대되고 있으며 계속된 발전을 경험하고 있다.
이번 챕터에서는 확대 및 발전하고 있는 Movement의 생태계가 어떻게 구성되어져 있고, 어떤 흥미로운 컨셉의 디앱들이 자리잡고 함께 공생하고 있는지 살펴보도록 하겠다.
Source: Movement Labs
먼저 인프라 부분이다. 인프라로 묶어서 표현하긴 했지만, 여기에 속하는 프로젝트들은 각자 담당하고 있는 분야가 다양하다. Movement의 데이터 가용성(DA)부터 시작해서 Decentralized Mobile Infrastructure Network (DeMIN)까지 Movement의 블록체인을 더욱 더 탄탄하게 만들어 줄 인프라 프로젝트들에 대해서 좀 더 자세히 살펴보도록 하겠다.
4.1.1 Celestia
Celestia는 모듈형 블록체인으로, 데이터를 효율적으로 관리하고 분산화된 네트워크에서 데이터를 안전하게 공유할 수 있도록 설계됐다. Celestia는 데이터 가용성 증명을 통해 네트워크의 보안을 강화하며, 이를 통해 블록체인이나 디앱이 더욱 효율적으로 운영될 수 있도록 돕는다. Movement 생태계에서 Celestia는 데이터 가용성 측면에서 중요한 역할을 하며, 안정적으로 생태계가 돌아갈 수 있게 하는 핵심적인 인프라로 자리 잡고 있다.
4.1.2 Covalent
Covalent는 블록체인 데이터 API 솔루션으로, 다양한 블록체인 네트워크에서 데이터를 효율적으로 수집, 처리 및 제공하는 서비스를 제공한다. Movement 생태계 내에서 Covalent는 디앱 개발자들이 손쉽게 블록체인 데이터를 접근하고 활용할 수 있도록 돕는다. 이는 개발자들이 복잡한 데이터 인프라를 구축하지 않아도 되도록 하여, 개발의 효율성을 크게 높이는 중요한 역할을 한다.
4.1.3 Superchain
Superchain은 멀티체인 인덱서로 빠르고 쉽게 사용자 맞춤형 데이터 접근을 가능하게 하여, 개발자들이 더욱 효율적이고 안전한 디앱을 구축할 수 있도록 돕는다. 이 프로젝트는 EVM과 Move VM에서 모두 일관된 데이터를 제공하며, 블록체인 데이터의 탈중앙화와 투명성을 높인다. Superchain을 이용하면 Movement에서 디앱을 쉽고 빠르게 개발할 수 있게 될 것이다.
4.1.4 SupraOracles
SupraOracles는 빠르고 안전하게 실시간 가격 데이터나 외부 데이터를 전달해 주는 프로젝트로 Movement 내에서 디앱을 구축하는 개발자들은 여러 외부 데이터들을 이 프로젝트를 통해 제공받을 수 있다. SupraOracles는 신뢰할 수 있는 분산형 오라클 피드와 검증 가능한 무작위 함수(VRF) 기능을 제공하여 게임이나 NFT에서 필요한 공정한 무작위성을 제공한다.
4.1.5 Hyacinth
Hyacinth는 블록체인 및 스마트 컨트랙트의 보안 감사를 전문으로 하는 프로젝트로 Movement 내 다양한 스마트 컨트랙트 코드를 분석하여 보안 취약점을 식별하고 이를 개선하기 위한 권장 사항을 제공한다. Hyacinth는 디앱 개발자와 프로젝트 팀이 더 안전하고 신뢰할 수 있는 서비스를 만들 수 있도록 지원한다.
4.1.6 Up Network
Source: Up Network X
Up Network는 최초로 DeMIN이라는 개념을 알린 프로젝트로 분산화된 모바일 인프라를 구축하여 블록체인 서비스에 모바일 환경에서도 원활하게 접근할 수 있도록 도와주는 프로젝트이다. 이는 특히 모바일 사용자가 많은 지역에서 블록체인 서비스의 접근성을 크게 향상시켜, 더 많은 사용자가 Movement 생태계에 참여할 수 있도록 한다.
블록체인 산업계에는 Movement만 존재하는 것이 아니다. 특히 최근에는 자신들만의 철학과 컨셉을 가지고 여러 메인넷들이 많이 나오고 있고, 이는 블록체인들의 파편화로 이어지게 됐다. 그러나 이러한 파편화를 해결하기 위해 상호운용성 프로젝트들이 여러 메인넷들을 이어주려는 노력이 이어지고 있다. Movement 내에서도 이러한 시도는 아래의 프로젝트들로 가시화 되었다.
Union은 다양한 블록체인 간의 상호운용성을 지원하는 주권적 레이어를 제공하는데, 이들의 신뢰할 수 없는 브리지는 영지식 증명을 사용하여 애플리케이션 체인, L1, L2 간의 연결을 가능하게 한다. 이는 여러 체인이 연결될 수 있는 인터체인의 가능성을 열어 준다.
Noble은 코스모스 생태계에서 자산 발행을 주 역할로 하는 프로젝트로 보안, 유동성, 규제 준수, 표준화 및 중립성을 해결하여 디지털 자산이 코스모스 생태계에 원활히 접근할 수 있게 한 이력이 있다.
Movement Labs는 이 두 프로젝트와 협력하여 블록체인 생태계에서의 상호운용성을 극대화하고, 사용자 경험을 개선하며, 기술 및 유동성을 통합하는 것을 목표로 하고 있다. 특히, 이를 통해 Celestia에서 Movement로 네이티브 USDC를 전송할 수 있게 되면서, 훨씬 더 범용적인 자금으로써의 접근이 가능하도록 기능을 제공한다.
4.2.2 OmniBTC
Movement는 Omni의 Open Liquidity Network에 합류하여 이더리움 롤업 사용자를 위해 Move의 안전성과 속도를 제공하려고 한다. Omni는 롤업 간 사용자, 유동성, 활동 등의 데이터를 집계하여 개발자가 모든 롤업에서 사용할 수 있는 디앱을 구축할 수 있게 한다. Movement는 Omni의 생태계 진입으로 사용자들이 다양한 롤업 디앱과 유동성에 접근할 수 있게 되었다.
4.2.3 Dappad+
Source: dappad+ X
Dappad+는 자금의 확보가 쉽지 않은 L2 프로젝트들과 초기 투자자와의 연결을 주선하는 멀티체인 런치패드로, Movement에서 펀드 조성 및 토큰 출시를 지원한다. 또한, Fractal이라는 EVM-to-Move 해석기를 사용하여 EVM 개발자들이 코드를 다시 작성하지 않고 Movement 내에서 바로 배포할 수 있게 도와준다. Dappad+는 손쉬운 온보딩과 함께 네이티브 토큰을 수수료로 사용할 수 있게 하는 혁신적인 기능을 제공한다.
디앱의 사용자들이 디앱을 사용하려고 할 때, 가장 먼저 맞닥뜨리는 서비스는 바로 지갑 서비스이다. 물론 이미 잘 구현되어 있는 지갑 서비스들을 그대로 차용할 수도 있지만, Movement 환경에 더 최적화되고 사용하기 편리한 Movement 전용 지갑 서비스들이 존재한다. 이들은 Movement 생태계 내의 디앱 프로젝트들과 사용자들을 더욱 더 탄탄하게 연결시켜서 편리한 사용자 경험을 가능하게 해준다. 어떠한 지갑 프로젝트들이 있는지 살펴보자.
4.3.1 Razor Wallet
Source: Razor DAO X
Razor Wallet은 Movement 생태계에 최적화된 지갑 서비스로, 사용자들이 다양한 디앱에 안전하고 쉽게 접근할 수 있도록 돕는다. 이 지갑은 사용자 친화적인 인터페이스와 강력한 보안 기능을 제공하여, 초보자부터 전문가까지 모두 쉽게 사용할 수 있도록 설계되었다. 특히 현재 Movement의 모든 네트워크에 지원되고 곧 MEVM 지원도 추가될 예정인 Razor Wallet Kit을 이용하면 Movement 디앱을 새로 개발할 때, 굉장히 편리하게 개발할 수 있기 때문에 Razor Wallet을 사용하는 것이 권장되고 있다.
4.3.2 Tailwind
Tailwind는 사용자가 IBC 토큰으로 가스비를 지불할 수 있는 원클릭 코스모스 스마트 지갑을 개발 중인 프로젝트로 이제부터 Movement에서도 Move와 EVM 사용자 및 유동성과 연결될 수 있다. 이러한 생태계적 협업을 통해 사용자 경험(UX)을 개선하고, 다양한 체인에서 수수료로 지불할 토큰의 종류를 고려하지 않고 트랜잭션을 실행할 수 있는 환경을 제공한다.
블록체인의 역사가 꽤 진행되었지만, 아직까지도 많은 자금이 몰리고 많은 사용자들이 이용하고 있는 대표적인 섹터는 DeFi이다. Movement는 Move 언어라는 특장점 있는 도구를 이용하여 더욱 더 안전하고 효율적인 스마트 컨트랙트를 쉽게 만들 수 있다. 또한 Movement는 EVM-to-Move 컴파일러를 내장하는 Fractal 기능 추가적으로 지원하는데, 이를 이용하여 타 EVM 체인에서 구현됐던 서비스를 그대로 Movement로 가져올 수 있다. 이 같은 특징들은 많은 DeFi 프로젝트 개발자들이 유입되기 위한 요인으로 충분했고 Movement 생태계에서 가장 빠르고 폭발적으로 발전이 이루어졌다. 그렇다면 어떤 DeFi 프로젝트들이 활동하고 있고 어떠한 특징이 있는지 알아보도록 하자.
4.4.1 Ethena
Source: Movement X
Ethena는 완전 담보화된 USDe를 제공하는 프로토콜로, USDe는 스테이킹된 ETH에서 발생하는 수익과 파생상품 시장에서 발생하는 수익을 결합한 담보 자산을 통해 뒷받침된다. Ethena는 Movement 생태계 내에서 USDe 기반의 네이티브 수익 상품을 도입할 예정이다. 특히 Movement의 Fractal이라는 EVM-to-Move 컴파일러를 통해, EVM 프로토콜이 Move로 코드를 다시 작성할 필요 없이 Movement에서 작동할 수 있도록 지원하는데, 이를 이용해 Movement 생태계의 디앱 개발자들은 별도의 Move 코드 작성을 할 필요 없이 USDe의 유동성에 접근할 수 있게 된다.
4.4.2 Lexer Market
Lexer Market은 기존 Arbitrum 위에 구축된 DEX로, 암호화폐를 기반으로 한 숏, 롱, 무기한 선물(Perpetual) 거래를 제공한다. 곧 합성 자산 및 NFT 거래도 지원할 예정인 Lexer Market은 Movement의 EVM-to-Move 컴파일러인 Fractal을 사용하여 Movement 생태계에 그대로 안착할 수 있다. 이를 통해 Lexer는 Move의 내장된 Prover 시스템을 활용하여 사용자 자산을 재진입 공격으로부터 보호할 수 있는 특징을 가지고 사용자들이 Move 및 ERC-20 토큰, 그리고 곧 NFT와 ERC-20 토큰을 이용한 파생상품 거래에 참여할 수 있도록 해준다. 특히, Lexer의 Smart Router는 오라클 기반 결제 시스템을 사용해 거래를 처리하며, Movement Stack의 빠른 처리 속도와 강력한 오라클 지원은 이를 가능하게 해준다.
4.4.3 Thala
Source: Movement X
Thala Labs는 2024년 3월 기준으로 M2에서 가장 큰 DeFi 플랫폼이며, 올인원 DeFi 하이퍼앱을 제공하고, 빠르고 안전한 이더리움 L2 접근성과 100% Move 호환성, 그리고 EVM의 유동성까지 지원한다. Thala의 DeFi 플랫폼은 Aptos에서 $2억 TVL을 기록하고 있으며, Thala Swap DEX, Move Dollar(MOD), APT 스테이킹을 위한 sthAPT, 그리고 활발한 토큰 출시 플랫폼 등을 포함한 올인원 DeFi 허브를 제공하고 있다. 여기서 MOD는 Thala 생태계를 구동하는 스테이블코인으로, 다양한 자산 포트폴리오로 뒷받침된다. MOD는 담보 부채 포지션(CDP) 시스템을 통해 운영되며, 사용자들이 담보를 예치하고 그에 따라 $MOD를 발행할 수 있다.
4.4.4 VCRED
VCRED는 AI 기반 유동성 관리 서비스로 DEX 위에 위치해 AI와 머신러닝을 활용해 유동성 제공자(LP)들에게 단일 측면 스테이킹 전략을 제공하며, 이를 통해 자본 효율성을 크게 향상시킨다. VCRED의 유동성 관리 전략은 LP, 트레이더, 그리고 Movement의 전체 DeFi 생태계에 큰 이익을 줄 것으로 기대되며, Movement의 보안, 속도, 성능 기능을 통해 최적의 사용자 경험을 제공하여 EVM 환경이 아닌 DEX들에 대한 접근도 가능하게 한다. 참고로 VCRED도 Solidity로 작성되었지만, Movement의 Fractal 기술의 지원을 받아 Movement 내에 쉽게 배포될 수 있었다.
4.4.5 Xebra Trade
Source: xebra.trade X
Xebra Trade는 비수탁형 파생상품 거래소로, 'No grey areas'라는 모토 아래 100% 투명성을 제공하는 플랫폼이다. 모든 거래 과정이 온체인에서 이루어지며, CeFi와 비교 가능한 정도의 속도와 사용자 경험을 제공한다. Xebra의 인프라는 온체인 CLOB 기반으로 구축되어 있으며, Auto Market Maker(AMM)와 락업된 LP 스테이킹, 가격 기반 마진 시스템을 포함한다. 또한, 크로스 마진, 주문 생성 시 0%의 수수료, GLP와 유사한 금고, 오프 오더북 블록 트레이딩 메커니즘을 특징으로 한다.
4.4.6 Stream Finance
Stream Finance는 Decentralized Market Maker(DMM)을 사용하여 사용자가 기초 자산 가격 변동에 영향을 받지 않고 수익을 얻을 수 있게 한다. 특히, 이 메커니즘을 통해 USDC뿐만 아니라 ETH와 BTC로도 수익을 얻을 수 있다. Movement에 합류하며, Stream Finance는 Move DeFi 사용자와 유동성에 접근할 수 있으며 이는 향후 유동성 최적화된 분산형 영구 거래소의 출시를 위한 초석이 될 것이다.
4.4.7 Milky Way
Milky Way의 유동 스테이킹 토큰인 $milkTIA가 M2에 도입되었다. 이를 통해 M2 사용자들은 $TIA를 스테이킹하면서도 유동성을 유지할 수 있으며, $milkTIA를 DeFi에서 활용할 수 있게 되었다. Milky Way는 M2에서 Move와 EVM 사용자 및 유동성에 접근할 수 있다.
Milky Way는 모듈형 생태계에 맞춰 설계된 유동 스테이킹 프로토콜로, 사용자는 특정 기간 동안 토큰을 잠그지 않고도 스테이킹 보상을 받을 수 있다. M2는 MoveVM과 다른 블록체인 구성 요소를 연결하는 모듈형 L2로, Celestia의 데이터 가용성을 활용한다. 또한, M2가 IBC를 지원함에 따라 $milkTIA는 M2와 다른 IBC 체인 간에 원활하게 이동할 수 있다.
4.4.8 Stakestone
StakeStone은 블록체인 간 유동성을 연결하는 원스톱 스테이킹 프로토콜로, STONE Ether는 수익을 창출하는 ETH 유동성을 L2로 가져와 DeFi에서 거래, 대출, 스테이블코인 발행 등에 사용할 수 있게 하였다. STONE-Fi가 Movement에서 사용 가능해지면 STONE 유동 스테이킹 토큰을 이용하여 Movement 내에서 사용자들이 ETH를 유동적으로 유지함과 동시에 스테이킹 수익을 얻을 수 있게 된다.
4.4.9 Avitus
Source: Avitus X
Avitus는 다양한 온체인 자산을 담보로 활용할 수 있게 해주는 탈중앙화 파생상품 거래 플랫폼으로 기존 프로토콜들이 새로운 자산을 추가하고 유동성을 확장할 수 있는 매력적인 장소이다. Avitus의 비전은 DeFi 파생상품 시장을 확장하는 것으로, 사용자가 허가 없이 시장을 생성하고 온체인 리스크 관리, 다양한 자산 거래를 가능하게 하는 것을 주 목표로 하고 있다. 또한, Solidity 기반 DeFi에서 발생하는 보안 문제를 해결하기 위해 Movement의 보안성과 속도를 활용하고 있다. 이를 통해, Avitus는 뛰어난 UX와 빠른 거래 속도를 제공하며, Movement의 MoveVM을 통해 180,000 TPS 이상의 속도, 깊은 유동성, 그리고 높은 보안을 제공한다.
DeFi 못지 않게 Move 언어로 인한 간편하고 효율적인 스마트 컨트랙트의 개발 가능성은 게임 섹터에서도 엄청나게 매력적인 포인트이다. 프로젝트 회사의 관점에서 개발 리소스의 절약 효과는 곧 기발하고 재밌는 게임 기획으로 나타났고, 아래에서 소개할 여러 게임 프로젝트들이 탄생하게 되었다.
4.5.1 BRKT(Bracket)
Source: BRKT X
BRKT는 분산형 대회 관리 프로토콜로, 스포츠 GambleFi를 Movement에 도입하기 위해 비공개 상태에서 출범했다. 이 플랫폼은 사용자들이 맞춤형 스타일의 토너먼트를 생성하고, 베팅과 상금 분배를 직접 경험할 수 있게 해준다. BRKT는 축구, 미식축구, 테니스, 골프 등 다양한 스포츠에서 최대 256팀이 참가하는 토너먼트를 제공하며, 사용자는 팀에 참가하거나 베팅하여 상금을 얻을 수 있다. 또한, 선거 결과와 같은 재밌는 주제에 대한 베팅도 가능하다. Movement 내에서 BRKT는 Movement의 특징인 병렬 실행과 효율적인 수수료 시장 덕분에 원활한 사용자 경험을 제공할 수 있게 됐다.
4.5.2 Gaimin
Gaimin은 Web3 게임 플랫폼으로, 게임 경험을 혁신하고 Web3를 대중화하려는 목표를 가지고 있다. Gaimin이 생각하는 이 프로젝트의 역할은 수백만 명의 게이머가 Web3에 쉽게 참여하도록 돕는 것이며, Web3 게임, 클라우드 컴퓨팅, 게임의 교차점에서 차세대 게임 플랫폼으로 자리 잡고자 한다. Gaimin은 수익의 대부분을 게이머에게 돌려주려는 시도를 계속하고 있으며, 게이머들에게 지속 가능하고 친화적인 환경을 구축하는 데 노력하고 있다. Gaimin은 BNB Chain과 협력하여 Move Stack 프레임워크를 활용한 가장 빠르고 안전한 게임 특화 L2 블록체인을 구축하고 있다. 이 협업을 통해 Gaimin은 BNB 체인을 기반으로 맞춤형 모듈형 L2 솔루션을 개발할 때 Move의 성능과 보안을 실행 계층으로 활용할 수 있게 된다. 이러한 Movement 생태계로의 진입은 BNB 생태계에서 향후 더 많은 Move 기반 L2를 출시할 수 있는 길을 열어줄 것으로 기대하고 있다.
블록체인 산업계 전체로 놓고 봤을 때, 소셜 분야는 아직 많은 하입이 나타나지 않은 분야이다. 하지만 라이트한 사용자들이 가장 쉽게 접근하기 좋기 때문에, 매스 어답션이 일어난다면 이 분야이지 않을까 싶다. Movement에서도 소셜 분야의 프로젝트들이 존재하고 이들 프로젝트들은 재밌는 컨셉들이기 때문에 흥미롭게 살펴볼 수 있을 것이다.
4.6.1 Henry Social
Source: HENRY X
Henry Social은 애플리케이션과 온체인 레이어를 결합한 통합 소셜 커머스 서비스로, 전용 롤업을 통해 원활하고 확장 가능한 커머스 솔루션을 제공한다. 현재 커머스 디앱은 사용자 경험, 확장성, 비용 문제를 겪고 있는데, Henry의 전용 롤업 앱체인은 사용자들이 완전히 추상화된 환경에서 추가 비용 없는 P2P 거래를 가능하게 하여, 블록체인 기술의 매스 어답션을 촉진하려 한다. 특히 Henry Social은 Movement와의 협력을 통해 빠르고 저렴한 거래, EVM과 Move 체인 간의 상호 운용성, 이더리움 도구와의 호환성을 제공하는 동시에, 혁신적인 온체인 상거래 생태계를 구축할 수 있게 되었다. Henry Social은 Movement 생태계 내에서 커머스를 재정의하며, 기업들이 혁신적이고 접근 가능한 환경에서 성장할 수 있도록 지원할 예정이다.
4.6.2 MoveWifFrens
Movewiffrens는 Move Aptos 스마트 컨트랙트로 구축된 SocialFi 플랫폼으로, Aptos Move 기반 체인에 배포될 예정이다. 이 프로젝트는 디지털 세계에서 사람들이 콘텐츠 제작자와 상호작용하고 소통하는 방식을 혁신하는 것을 목표로 하고 있다. 특히, 소셜틱한 UI/UX를 기반으로 콘텐츠에 대한 탐색과 관리 그리고 거래까지 한 번에 지원하는 점이 특징으로 꼽힌다. 이 과정에는 AI를 활용하여 콘텐츠에 대한 개인화된 제안을 제공하기도 한다.
4.6.3 Gilder
Gilder는 게임과 애니메이션 팬을 위한 커뮤니티 플랫폼으로, Sui에서 Move 언어로 구축되었으며 안전한 메시징, 포럼, 평판 시스템을 제공한다. 이제 Gilder는 Movement Network를 통해 동일한 Move 코드베이스로 EVM 사용자에게도 다가갈 수 있게 되었으며, Celestia의 데이터 가용성과 Snowman의 시퀀싱을 활용해 Gilder의 Move 앱이 이더리움에서 원활하게 작동할 수 있도록 지원한다. Gilder의 평판 엔진은 오픈 소스로 제공되어 게임 개발자와 애니메이션 사이트 운영자가 Gilder 커뮤니티와 사용자 프로필을 통합할 수 있게 하였다.
Source: Movement Labs
Movement Labs는 Move 언어를 더 넓은 생태계로 확산시키는 혁신적인 접근 방식을 선보였다. 블록체인과 애플리케이션 구축에 있어 보안성, 확장성 그리고 상호운용성 측면의 문제들을 해결하고자 Movement Labs는 Move의 강점을 활용하여 스마트 컨트랙트 애플리케이션 개발을 위한 강력하고 효율적인 생태계 구축을 목표로 한다. Movement Labs의 비전은 단순히 빠른 개별 체인을 넘어서 Move를 기반으로 한 전체 네트워크 구축으로 확장된다.
Move 프로그래밍 언어는 블록체인 애플리케이션에 적합한 여러 장점을 제공한다. 리소스 지향 아키텍처는 디지털 자산을 물리적 자산과 유사한 정밀도로 다루며 희소성 보호 기능을 제공한다. 바이트코드 수준의 안전성과 Move Prover를 통한 형식 검증 기능으로 업계에서 흔히 볼 수 있는 취약점들을 해결하는 보안 기능을 제공한다. 또한 Move의 가상 머신은 병렬 실행을 가능하게 하여 트랜잭션 처리 속도와 네트워크 확장성을 개선한다. 이러한 향상된 보안성과 병렬 실행 기능은 Move를 고성능의 안전한 블록체인 애플리케이션 개발에 효과적인 도구로 만들고 있다.
Movement의 네트워크가 발전함에 따라 Move 기반 롤업이 블록체인 생태계에 미치는 영향이 더욱 두드러질 것으로 보인다. L2를 위한 Move 대중화에 초점을 맞춘 노력은 Move 기반 롤업의 확산으로 이어질 수 있으며, 업계의 관심을 더 안전하고 효율적인 블록체인 아키텍처로 옮기는 계기가 될 수 있다. M1, M2 및 그 생태계의 성공은 대규모로 Move 기반 솔루션의 실현 가능성을 입증하는 데 중요한 역할을 할 것이다. Movement의 접근 방식이 성공을 거둔다면, 더 많은 개발자들이 Move를 채택하게 될 것이고, 궁극적으로는 Move 호환 도구와 애플리케이션의 더 넓은 생태계로 이어질 수 있다.
M2와 같은 프로젝트를 통한 Move와 이더리움 인프라의 통합은 향후 블록체인 상호운용성 달성을 위한 기준을 수립할 수 있는 잠재력을 가지고 있다. 이는 서로 다른 언어와 플랫폼의 강점이 결합된 더욱 연결된 블록체인 생태계로 이어질 수 있다. Movement 프레임워크가 강조하는 모듈러 블록체인 설계 방식은 향후 블록체인 개발 관행에도 영향을 미칠 것이며, 더욱 유연하고 적응 가능한 블록체인 아키텍처를 장려할 것으로 기대된다.