
Arbitrum Stylus: 스마트 계약의 컴포저빌리티에 대한 새로운 표준
저자: Rachel Bousfield, Jay Yu
번역: TechFlow
참고: 본문은 스탠퍼드 블록체인 리뷰(Stanford Blockchain Review)에서 제공된 글이며, TechFlow는 스탠퍼드 블록체인 리뷰의 공식 파트너로서 독점적으로 번역 및 전재 권한을 부여받았습니다.

소개
Etherscan에서 바이트코드를 처리하는 것부터 Solidity 내 다양한 코드 취약점을 방지하는 것까지, 블록체인 개발의 EVM 기술 스택은 Rust, C++, Python과 같은 많은 개발자가 익숙한 Web2 기술 스택과 상당히 차이가 있습니다. 이로 인해 Solidity-EVM 기술 스택과 주류 언어 사이에 일종의 '갈등'이 발생합니다. 블록체인 분야가 계속 발전함에 따라 이러한 개발자 격차를 해소하고 더욱 조합 가능한 Web3 개발 환경을 실현할 필요성이 절실합니다.
본 글에서는 Offchain Labs의 최신 프로젝트인 Arbitrum Stylus를 소개합니다. 이 프로젝트는 스탠퍼드 블록체인 위크 기간 중 열린 Blockchain Applications Stanford Summit(BASS)에서 처음 공개되었습니다. Arbitrum Stylus는 EVM 실행 환경과 WASM 실행 환경을 통합하여 스마트 계약의 새로운 조합성 기준을 수립하려는 획기적인 프로젝트입니다. 먼저 이 프로젝트의 배경 동기를 살펴보고, 그 다음 구현 세부 사항을 깊이 있게 다룬 후, Web3 분야에서의 영향력을 논의하겠습니다.
Arbitrum Stylus의 개발 동기
Arbitrum Stylus는 블록체인 개발에서 두 가지 핵심 문제를 해결하기 위해 개발되었습니다. (1) 블록체인 개발 접근성 향상, 그리고 (2) 스마트 계약 실행 효율성 향상입니다.
블록체인 개발을 더 쉽게 만들기

Electric Capital의 개발자 보고서에 따르면 현재 월간 활성화된 블록체인 개발자는 약 2만 명 정도입니다. 지난 몇 년간 이 숫자는 크게 증가했지만, Rust나 C++과 같은 일반적 언어의 수백만(또는 수천만) 개발자들과 비교하면 여전히 큰 격차가 존재합니다. 블록체인 분야가 계속 성장함에 따라 수백만 명의 새로운 스마트 계약 개발자를 유치하는 과정을 단순화할 필요성이 있습니다.
그러한 목표를 달성하기 위한 가장 좋은 방법 중 하나는 스마트 계약 개발 프로세스를 Rust나 C++과 같은 기존의 주류 언어와 통합하는 것입니다. 솔라나(Solana)나 코스모스(Cosmos)와 같은 비-EVM 생태계들은 이미 이를 적용하여, Rust가 사실상 해당 생태계의 표준 스마트 계약 언어가 되었습니다. 그러나 지금까지 EVM 생태계는 주로 자체 고유의 프로그래밍 언어인 Solidity에 의존해 왔습니다. Arbitrum Stylus는 이러한 상황을 변화시키기 위해, 블록체인 개발자들이 Rust와 같은 주류 언어로 스마트 계약을 작성한 후 EVM 호환 블록체인에 배포할 수 있도록 설계되었습니다.
스마트 계약 실행을 더 효율적으로 만들기
지난 몇 년간 탈중앙화 애플리케이션의 확산으로 특히 이더리움 네트워크에서 체인 상 컴퓨팅 수요가 급격히 증가했습니다. 네트워크 수요 증가는 높은 가스비로 이어졌으며, 이는 공용 블록체인의 트랜잭션 처리량 향상을 위한 혁신을 촉진시켰고, Arbitrum은 이러한 분야에서 가장 두드러진 프로젝트 중 하나입니다. 여기에는 대표적인 L2 체인 Arbitrum One과 Arbitrum Nitro 기술 스택이 포함됩니다.
Arbitrum Stylus는 이러한 모든 노력의 자연스러운 연장선이며 Arbitrum 도구군의 최신 솔루션입니다. 이전의 Rollup 등을 통한 트랜잭션 간 효율성 최적화에 집중했던 솔루션들과 달리, Stylus는 각 트랜잭션 내부의 실행 수준 자체를 최적화하는 데 초점을 맞춥니다. WASM(WebAssembly)에서 계약을 실행함으로써 Stylus는 계약 실행 속도를 높이고 낮은 가스비를 제공하며, 메모리 접근 비용이 기존 EVM보다 100~500배 저렴합니다.
Stylus: WASM + EVM 조합성 제공
WebAssembly와 Arbitrum Nitro
왜 Stylus가 기존 EVM 엔진보다 더 효율적이고 조합 가능한지를 이해하려면 먼저 WebAssembly(WASM)의 역할을 알아야 합니다. WASM은 어셈블리 언어로서 인간이 읽을 수 있는 언어(Rust, C++ 등)가 아닌 기계가 직접 읽을 수 있는 바이너리 코드입니다. 인간 친화적인 언어들은 "컴파일러"를 통해 기계가 실행할 수 있는 "어셈블리 언어"로 변환되어야 합니다.
특히 WASM은 웹 브라우저를 위해 최적화된 어셈블리 언어로, 자바스크립트 기반 웹 앱의 실행 속도를 높이기 위해 설계되었습니다. 포터블하고 모듈화되며 쉽게 실행 가능한 특성을 지닌 WASM은 개발자가 Rust, C++ 등의 주류 언어로 직접 코드 조각을 작성할 수 있게 합니다.
Arbitrum의 Nitro 업그레이드 이후, 체인 내 모든 분쟁이 WASM으로 실행되기 때문에 Nitro는 임의의 WASM 코드에 대해 유효한 사기 방지 시스템을 갖추게 되었습니다. 즉 Arbitrum Nitro는 어떤 WASM 코드라도 사기 증명을 제공할 수 있으며, 이는 WASM으로 컴파일되는 모든 프로그램에 대해 사기 증명이 가능하다는 의미입니다.
Arbitrum Stylus는 Arbitrum Nitro가 제공하는 WASM 사기 증명 기능에 기반해 Wasmer라는 주요 WASM 엔진 중 하나를 활용한 WASM 실행 엔진을 추가합니다. 이 엔진은 Geth가 EVM 바이트코드를 실행하는 것보다 훨씬 빠른 속도로 코드를 실행합니다. 실행 엔진과 증명 엔진이 모두 갖춰짐으로써 스마트 계약은 WASM 내에서 완전히 작성되고 실행되며 검증될 수 있습니다. Rust, C++ 등 많은 주류 언어들이 WASM으로 직접 컴파일될 수 있다는 점에서, 이것이 바로 Arbitrum Stylus가 블록체인 개발자들이 다양한 주류 범용 언어로 스마트 계약을 작성, 배포, 실행할 수 있도록 하는 방식입니다.

EVM + WASM 엔진의 일관성 유지
Arbitrum Stylus는 개발자들에게 Solidity를 사용해 스마트 계약을 작성하고 실행하는 능력을 포기하지 않으면서도 Rust 및 기타 WASM 호환 언어로 계약을 작성할 수 있는 선택지를 제공합니다. EVM과 WASM이라는 두 개의 병렬 실행 엔진을 동시에 제공함으로써, Stylus는 애플리케이션 일부에 Solidity를, 다른 부분에 Rust를 사용할 수 있는 유연성을 제공합니다.
하지만 이는 한 가지 질문을 제기합니다. Stylus VM은 어떻게 두 엔진 간의 일관성을 관리할까요? 언제 EVM과 WASM VM 사이를 전환해야 할지를 어떻게 결정할까요?
먼저, Solidity 및 기타 EVM 기반 계약은 동일한 바이트코드로 컴파일되어 순수 EVM 엔진에서처럼 실행됩니다. WASM 기반 스마트 계약, 예컨대 Rust로 작성된 계약은 계약 시작 부분에 추가적인 "헤더"를 붙입니다. 따라서 이러한 계약이 호출될 때 Stylus VM은 어떤 계약이 EVM 엔진을 필요로 하고 어떤 계약이 WASM 엔진을 필요로 하는지 식별할 수 있습니다. 이 설계는 또한 높은 수준의 상호 운용성을 고려했습니다. WASM으로 작성된 계약은 Solidity로 작성된 계약을 호출할 수 있고, 반대로도 가능합니다. 이는 Stylus가 다른 WASM 실행 엔진을 채택한 블록체인과 구별되는 주요한 점입니다. Stylus는 WASM 계약이 EVM 계약과 완전히 조합 가능하고 상호 운용되도록 하며, 백워드 호환성뿐 아니라 WASM 계약이 EVM 유동성을 활용할 수 있도록 보장합니다.
Stylus의 EVM과 WASM 듀얼 엔진을 다른 각도에서 보면, 블록체인을 EVM에서 정의된 상태 전이에 따라 특정 상태 변화를 겪는 '세계 상태 머신(world state machine)'으로 볼 수 있습니다. 이더리움에서는 체인 상 상태가 트라이(Trie) 구조로 표현되며, 이는 데이터를 효율적으로 저장하고 검색하기 위한 트리 형태의 자료 구조입니다. Stylus의 EVM과 WASM 엔진은 동일한 트라이 구조를 사용하여 '세계 상태 머신'에 데이터를 읽고 씁니다. 두 엔진 모두 세계 상태를 업데이트하기 위한 특정 상태 변화를 생성하지만, 그 상태 변화를 계산하는 방식만 다릅니다.
EVM + WASM 엔진에서 실현되는 비용 절감 효과
앞서 언급했듯이 WASM 실행 엔진을 사용하면 실행 효율성이 높아져 상당한 비용 절감이 가능합니다. 이제 그 이유를 살펴보겠습니다. 이를 위해 2+3과 같은 간단한 ADD 명령어를 예로 들어보겠습니다.
EVM에서는 다음과 같은 단계를 거쳐야 합니다:
-
메모리 테이블을 여러 번 조회해야 하며, 가스비가 발생합니다;
-
추적이 비활성화되어 있어도 고려되어야 합니다;
-
시뮬레이션 스택에서 두 항목을 팝합니다;
-
두 값을 더합니다;
-
결과를 푸시합니다.
이 과정에서 실제로 정수 덧셈을 수행하는 것은 4단계뿐이며, 나머지 단계는 계산 자체와는 관련 없는 EVM 시스템 내의 '서식 지침(boilerplate instructions)'이며, 모두 높은 가스비를 소모합니다.
반면 WASM을 사용해 동일한 ADD 연산을 수행한다고 가정하면 단 한 단계만 필요합니다:
-
단일 x86 또는 ARM ADD 명령어를 실행합니다.

이를 통해 WASM의 덧셈 연산이 EVM보다 150배 저렴함을 알 수 있습니다. 이러한 모든 가스 절감 효과로 인해 Stylus VM은 'ink'라는 새로운 '가스' 하위 단위를 도입했는데, 현재 기본값은 1 가스의 1/10000이며, 체인 소유자가 구성할 수도 있습니다.
그러나 이러한 모든 가스 절감에는 제약이 있습니다. 즉, Stylus VM을 활성화하려면 현재 고정 요금으로 1억 1400만 가스가 필요합니다. 또한 Stylus 프로그램을 호출하는 데도 현재 약 128~2048 가스가 소요됩니다. 따라서 두 정수의 단일 ADD 연산을 최적화하기 위해 WASM 환경을 활성화하는 것은 경제적이지 않을 수 있습니다. 그러나 메모리 집약적인 스마트 계약의 경우 이러한 모든 절감 효과가 누적되어 초기 '활성화 비용'을 상쇄합니다. 예를 들어, EVM에서 3.8MB RAM을 할당하는 호출은 약 3200만 가스를 소모하지만, Stylus WASM VM에서는 단 6만 4천 가스만 필요하며, 500배의 비용 절감 효과를 얻을 수 있습니다. 이와 관련된 또 다른 함의는 메모리 집약형 애플리케이션이 순수 EVM에서는 거의 불가능하다는 점인데, 이는 곧 각종 가스 제한에 부딪히기 때문입니다. 그러나 Stylus VM에서는 WASM 런타임을 사용해 RAM 비용이 낮아지므로 이러한 애플리케이션의 실행이 현실화됩니다.
Stylus로 열리는 새로운 사용 사례
-
메모리 집약형 애플리케이션
위에서 언급했듯이 Arbitrum Stylus의 가장 흥미로운 부분 중 하나는 체인 상에서 메모리 집약형 애플리케이션을 가능하게 한다는 점입니다. 이는 생성형 AI NFT, 고빈도 거래(HFT), 체인 상 게임과 같은 완전히 새로운 애플리케이션 카테고리를 여는 문을 엽니다. 실제로 Stylus VM은 높은 메모리 요구량으로 유명한 AI가 체인 상에서 계산 성능을 발휘하면서도 EVM 계약과 완전히 상호 운용될 수 있도록 하는 획기적인 기술이 될 수 있습니다.
-
Alt-VM과 EVM 유동성의 조합성
또한 Stylus의 EVM 호환성과 WASM 기반 계약이 원생 Solidity 계약과 상호 작용할 수 있는 능력은, 이러한 WASM 계약이 EVM 생태계의 방대한 유동성과 사용자 기반을 충분히 활용할 수 있음을 의미합니다. 앞서 언급했듯이 솔라나나 코스모스와 같은 다른 VM들은 Rust와 같은 WASM 지원 언어를 사용해 스마트 계약을 실행합니다. Stylus의 WASM 엔진은 이러한 다른 VM에서 개발 중인 개발자들이 자신의 계약을 EVM 생태계로 쉽게 마이그레이션하고 즉시 EVM 유동성을 활용할 수 있음을 의미합니다.
-
범용 라이브러리, 사전 컴파일, 디버깅 인프라
Rust, C++과 같은 주류 언어를 사용해 스마트 계약을 작성할 수 있다는 또 다른 장점은 개발자가 체인 상 계산, 암호학 원시 함수, 파일 I/O 등 다양한 기능을 제공하는 방대한 범용 라이브러리들을 활용할 수 있다는 점입니다.
더욱 중요한 것은, 개발자들이 이러한 주류 언어를 위해 구축된 정교한 도구 인프라로부터 혜택을 받을 수 있다는 점입니다. 이는 고급 패키지 매니저뿐만 아니라 C/C++의 GDB 툴킷과 같은 친숙한 디버깅 인프라까지 포함합니다. 이러한 모든 요소는 Web3 개발의 친숙도를 크게 높이고 블록체인 개발 및 EVM 스택 입문 과정을 훨씬 더 쉬워질 수 있습니다.
-
DePIN을 위한 사물인터넷(IoT)과의 체인 상 컴퓨팅 통합
WASM의 실행 효율성이 향상됨에 따라 Stylus VM은 교통 신호등부터 스마트 냉장고, 스마트워치에 이르기까지 IoT의 휴대용 장치와 체인 상 컴퓨팅을 통합할 수 있는 가능성을 열어줍니다. WASM은 원래 브라우저 환경을 위해 설계되었지만, 그 포터블하고 모듈화된 아키텍처와 효율적인 실행은 소형 및 효율적인 런타임이 필요한 IoT 장치에 이상적입니다.
따라서 Arbitrum Stylus의 WASM VM은 WiFi 시스템부터 태양광 패널에 이르기까지 물리적 인프라를 블록체인 네트워크와 새로운 토큰 인센티브를 통해 유지하려는 분산형 물리 인프라 네트워크(DePIN) 트렌드에 자연스럽게 부합합니다. DePIN의 많은 요소들이 블록체인 스택과 IoT 장치를 통합하는 데 의존하고 있기 때문에 Arbitrum Stylus는 중요한 진입점이 될 수 있으며, 이러한 장치들이 WASM 기반의 계산을 효율적으로 수행하면서 동시에 Arbitrum 생태계를 통해 EVM 유동성을 확보할 수 있도록 합니다.
결론
본 글에서는 Arbitrum Stylus의 동기, 구현 방식, 영향력에 대해 깊이 있게 다뤘습니다. 다양한 주류 언어를 사용해 스마트 계약을 작성하고 배포할 수 있도록 함으로써 Stylus는 블록체인 개발을 더욱 접근 용이하고 효율적으로 만들며, 주류 조합성과 EVM 유동성을 결합해 메모리 집약형 애플리케이션을 포함한 다양한 새로운 애플리케이션을 가능하게 합니다. 따라서 Stylus는 조합 가능한 스마트 계약의 차세대를 정의하는 획기적인 프로젝트라고 할 수 있으며, Web2와 Web3 개발 사이의 경계를 흐리게 하고 보다 효율적이고 통합적이며 고성능인 블록체인 개발 스택을 창출하는 플랫폼이 될 수 있습니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News













