
왜 Arbitrum Stylus이 올해 L2에서 가장 중요한 기술 혁신이라고 불리는가?
저자: Yiping, IOSG Ventures
zkSync 및 StarkNet과 같은 ZKRUs가 메인넷을 출시함에 따라 레이어2 구조는 빠르게 진화하고 있다. 전통적으로 OPRUs인 Arbitrum은 시장 선점 효과 덕분에 더 강력한 생태계를 보유하고 있다. 반면 ZKRUs는 기술적 돌파구를 제공하여 더 높은 처리량과 낮은 수수료를 실현한다.
최근 몇 달간, 사용자들은 더 빠르고 저렴한 트랜잭션을 위해 레이어1에서 레이어2로의 이동이 가속화되었다. 이더리움의 TVL은 지난 1년 동안 약 400억 달러에서 200억 달러로 감소했다. 그러나 레이어2의 TVL은 정반대의 양상을 보이며 급격한 성장을 통해 레이어2 채택이 가속되고 있음을 나타낸다.


Arbitrum은 레이어2 TVL 시장 점유율 50% 이상으로 선두를 유지하고 있으며, ZKRUs의 노력에도 불구하고 여전히 우위를 지키고 있다. Arbitrum의 조기 진입 효과는 그 지배력을 유지하는 데 핵심 역할을 한다.

일일 거래 수를 분석하면 zkSync 및 StarkNet 같은 ZKRUs가 처리량 면에서 OPRUs를 약간 앞서는 것으로 나타난다. 그러나 일일 TPS에서는 다소 뒤처지더라도 Arbitrum의 생태계 우위는 여전히 유효하다.

OPRUs는 ZKRUs보다 오래 전부터 존재해 왔지만, ZKRUs는 최근 메인넷을 론칭하며 다른 생태계로부터 사용자를 유치하고 있다. OPRU 분야의 리더인 Arbitrum은 새로운 업데이트를 통해 ZKRUs의 부상에 대응할 것으로 예상된다.
Arbitrum: Stylus
개발자들이 제로나우ledge 기술과 비용을 최적화함에 따라 확장성 이점을 바탕으로 ZKRUs는 점유율을 계속 늘릴 가능성이 있다. 하지만 Arbitrum의 네트워크 효과는 경쟁 속에서도 견고함을 유지할 수 있는 능력을 제공한다. Stylus와 같은 혁신적인 솔루션을 통해 Arbitrum은 독보적인 기술 역량으로 리더십을 보완하고 레이어2 경쟁에서 지속적으로 앞서갈 수 있다.
간단히 말해, Stylus는 Arbitrum을 위한 혁명적인 새로운 스마트 계약 환경으로, Rust, C++, Solidity 등의 다양한 프로그래밍 언어로 효율적이고 상호 운용 가능한 프로그램을 개발할 수 있게 해준다.
이는 블록체인에 범용 컴퓨팅을 열어주며 다양한 기술 스택을 가진 개발자들을 환영한다.
WASM
Stylus는 기존의 이더리움 가상 머신(EVM)과 병렬로 작동하는 WebAssembly(WASM) 가상 머신을 추가함으로써 동작한다. WASM으로 컴파일 가능한 언어로 작성된 스마트 계약은 Solidity보다 최대 10배 이상 빠른 속도로 원시 실행이 가능하며, 가스 수수료를 크게 줄일 수 있다. 기존 EVM은 여전히 완전히 기능하므로 기존 Solidity 계약은 현재와 동일하게 정상 작동한다. 두 VM은 동기화되어 서로 다른 언어로 작성된 계약 간 호출이 가능하며, 동시에 동일한 기본 블록체인 상태를 수정할 수 있다.
커스텀 프리컴파일
또한 Stylus는 커스텀 프리컴파일(Precompiles)도 지원한다.
프리컴파일은 이더리움 및 Arbitrum에서 특정 암호화 또는 유틸리티 함수를 매우 효율적으로 수행하기 위한 저수준 모듈이다. 예를 들어 ECDSA 서명 검증 및 SHA256 해시 계산을 위한 프리컴파일이 존재한다.
새로운 프리컴파일을 추가하려면 모든 검증자가 EVM 업그레이드를 조율해야 하므로 진입 장벽이 매우 높다. 반면 Stylus를 사용하면 개발자는 Rust 또는 C++로 작성한 자신만의 프리컴파일을 쉽게 배포할 수 있다.
예를 들어, 어떤 팀은 C 언어로 작성된 암호화 라이브러리를 그대로 수정 없이 Arbitrum에 배포할 수 있다. 이를 통해 해당 암호학 원시 기능을 초고속 네이티브 속도로 실행할 수 있다.
다른 계약은 마치 네이티브 프리컴파일을 호출하듯이 이 Stylus '프리컴파일'을 호출하여 해당 암호화 기술을 활용할 수 있다. 모든 가스 계측 및 사기 증명은 자동으로 작동한다.
이는 특별한 체인 지원 없이도 팀이 맞춤형 암호화, 특수한 페어링 기반 곡선, 기타 신규 원시 기능 등을 프로토타이핑할 수 있게 한다. 이더리움 연구자들도 Arbitrum 상에서 Stylus 프리컴파일 형태로 EIP 제안을 미리 반복 실험할 수 있다.
Stylus는 개발자에게 체인 상에서 새로운 암호학 원시 기능을 도입할 수 있는 능력을 부여함으로써 구축 가능한 영역을 크게 확장시킨다. 이제 프리컴파일은 더 이상 EVM이 지원하는 기능에 국한되지 않는다.
Stylus의 작동 원리
블록체인 세계에서 WASM의 보다 광범위한 역할을 탐색하기 전에, Arbitrum이 EVM과 WASM의 공존을 어떻게 조율하는지를 이해하는 것이 중요하다. 단순히 두 개의 독립된 엔진을 갖는 것을 넘어서, 이는 각각의 장점을 극대화하는 시너지 관계이다.
Arbitrum의 독특한 아키텍처는 통합된 상태, 크로스-VM 호출, 호환되는 경제 모델 덕분에 EVM과 WASM 사이의 원활하고 동기화된 작동을 가능하게 한다.
Solidity 또는 기타 EVM 언어로 작성된 스마트 계약은 기존처럼 EVM 바이트코드로 컴파일된다. 실행 시에는 오늘날과 마찬가지로 EVM에서 작동한다.
Rust, C++, C와 같이 WASM으로 컴파일되는 언어의 경우 작업 흐름은 다음과 같다:
-
Clang이나 Rustc 같은 기존 WASM 컴파일러를 사용하여 스마트 계약을 WASM으로 컴파일한다.
-
WASM 바이트코드는 압축된 형태로 Arbitrum 체인에 업로드된다.
-
계약 소유자가 `ArbWasm` 프리컴파일의 `compileProgram` 메서드를 호출하면, WASM을 위한 보안 도구가 설정되고, 가스 비용이 산정되며, 검증자 하드웨어에 최적화된 네이티브 코드로 컴파일된다.
-
계약이 호출되면 Wasmer 같은 WASM 런타임에서 실행되며, EVM보다 훨씬 빠르게 작동하여 가스 수수료를 절감한다.
WASM 계측은 EVM처럼 오퍼코드 단위로 가스를 부과하는 것이 아니라, 각 기본 블록 시작 전에 가스를 청구한다. 이는 더욱 효율적이며, 계약이 무한 루프에 빠지는 것을 방지한다.
EVM과 WASM
두 가상 머신(VM)은 동기화되어 작동하며, 동일한 글로벌 상태에 접근하면서 서로 호출할 수 있다. 하나의 트랜잭션이 일부는 EVM에서, 일부는 WASM에서 실행되며 결과가 원활하게 결합될 수 있다.
잠깐, 두 VM이 어떻게 원활하고 동기화된 방식으로 작동할 수 있을까?
Polkadot은 XVM을 통해 이를 실현한다. Polkadot과 달리, WASM과 EVM은 여러 중요한 이유로 Arbitrum에서 원활하고 동기화된 작동이 가능하다:
-
단일 상태: 두 VM 모두 동일한 기본 데이터 구조와 상태 트리를 공유한다. 한 VM의 계약이 다른 VM의 계약과 동일한 위치에 읽기/쓰기를 할 수 있으므로 체인 상태에 대한 통합된 뷰를 제공한다.
-
크로스-VM 호출: 트랜잭션이 EVM 계약과 상호작용하면 Geth가 이를 처리하고 결과를 제공한다. 이후 EVM 계약이 WASM 프로그램을 호출하면 WASM VM이 그 부분의 결과를 계산한다.
-
공유 컨텍스트: 블록 데이터, 발신자 주소 등 시스템 정보는 두 VM 모두에서 사용 가능하다. WASM 계약도 Solidity 계약처럼 블록 번호를 가져올 수 있다.
-
단일 합의: 검증자는 두 VM을 모두 실행하여 트랜잭션을 검증하고 올바른 체인 상태에 대해 합의한다. 논쟁 발생 시 통합된 사기 증명 시스템이 작동한다.
-
호환되는 경제성: 가스 계측과 같은 개념이 모든 VM에 확장되어 어느 환경에서도 적절한 계산 비용과 리소스가 보장된다.
사기 증명의 경우, 검증자는 EVM과 WASM 실행 모두에서 세분화(bisect)하여 필요시 무효 단계를 식별한다. WASM의 구조는 시스템이 종료를 보장하고 증명의 유효성을 강제할 수 있도록 한다.
블록체인 | WASM
Arbitrum은 WebAssembly(WASM)의 변혁적 잠재력을 인식한 유일한 플랫폼이 아니다. Polkadot과 Cosmos 역시 WASM을 생태계에 통합하였으며, 각각 고유한 이점과 기능을 제공한다.
Polkadot은 사용자가 WASM으로 스마트 계약을 개발할 수 있도록 하며, AssemblyScript의 내장 DSL과 Rust와 유사한 Ink!라는 두 가지 언어를 지원한다.
반면 Cosmos는 CosmWasm을 스마트 계약 런타임으로 사용하며, 개발자가 Rust로 계약을 작성할 수 있게 한다.
블록체인 산업이 왜 이렇게 WASM을 수용하는지 탐구하기 전에, Cosmos와 Polkadot이 부각시키는 구체적인 이점을 먼저 이해할 필요가 있다:
Cosmos는 WASM의 다음 이점을 강조한다:
-
Rust 라이브러리와의 호환성
-
다양한 개발자 커뮤니티
-
재진입 공격 방지를 포함한 향상된 보안성
-
테스트 용이성
-
고성능
Polkadot의 WASM 런타임은 다음 특징을 가진다:
-
고성능
-
EVM과의 상호 운용성
-
플랫폼 독립성
-
간결한 바이너리 크기
-
Rust와 AssemblyScript(TypeScript 스타일) 동시 지원
Polkadot, Cosmos, Arbitrum이 WASM이 제공하는 일부 공통 이점을 공유하지만, 각 플랫폼은 고유한 속성도 가지고 있다.
주요 블록체인 플랫폼들이 WASM을 폭넓게 채택한 것은 이 기술이 산업 내에서 중요성이 커지고 있음을 입증하며, 이 기술이 현대 블록체인 아키텍처의 기반이 되는 이유를 이해하는 것이 필수적이다.
왜 WASM인가
WASM이란 무엇인가
블록체인과 WebAssembly(WASM) 간의 시너지를 이해하려면, 우선 WASM이 무엇이며 그 발전을 이끈 동력이 무엇인지 알아야 한다.
WebAssembly는 코드가 웹 브라우저 내에서 거의 네이티브 수준의 속도로 실행되도록 하는 바이너리 명령 형식이다. C 및 Rust를 포함한 다양한 프로그래밍 언어의 컴파일 대상으로 설계되었으며, 빠르고 효율적이며 안전함을 목표로 한다. WASM은 웹 기반과 시스템 수준 프로그래밍 사이의 격차를 효과적으로 메워 웹 성능과 기능을 향상시킨다.
WebAssembly의 'Web'은 JavaScript 환경(일반적으로 브라우저에서 발견됨)에서 실행될 수 있는 능력을 강조한다. 이러한 환경에서는 개발자가 WASM API에 완전히 접근할 수 있고 포괄적인 웹 API 지원을 받으며, 웹 동작을 제어할 수 있는 상당한 권한을 갖게 된다.
WASM 역사
"한 번 작성하고 어디서나 실행"이라는 원칙을 따르며, WASM은 오랜 기간 존재해온 여러 문제에 대한 강력한 해결책으로 등장했다. 2016년까지 많은 프로그램은 도메인 특화 언어(DSL)를 통해 새 기능을 도입했으며, 이는 일반적으로 유지관리, 효율성, 보안 사이의 타협을 요구했다. 이들 요소를 희생하지 않으면서 무수한 서버에 새 기능을 제공할 수 있는 해결책에 대한 요구가 커졌다.
기존 솔루션들의 부족함을 평가하였다:
- 시스템 가상 머신
-
빈번한 시작 및 종료로 인한 과도한 오버헤드
-
보안을 보장하기 위한 코드 가시성 부족
-
성능 요구에 너무 추상적
- 컨테이너
-
보안을 보장하기 위한 코드 가시성 부족
-
고급 추상화로 인한 비효율성
-
빈번한 작업으로 인한 상당한 오버헤드
- 언어 수준 가상 머신
-
보안을 위해 빈번한 수정 필요
-
V8과 같은 임베디드 VM은 자원 집약적
-
보안 모델에 새로운 언어 적응이 느림
-
여전히 너무 추상적
- 명령어 집합 아키텍처(ISA)
-
효과적인 샌드박싱이 어려움
-
Google의 과거 프로젝트들이 WASM으로 전환함
-
성숙한 구현 부족
2018년경 WASM 개발은 다양한 아키텍처, 서버, 임베디드 하드웨어에서의 실행 및 다중 언어 지원에 초점을 맞추며 추진력을 얻었다. Java와 달리 WASM은 보안을 희생하지 않고 설계되었다. 2019년에는 WASM 모듈을 향상시키고 언어 간 상호 운용성을 제공하기 위해 구성 요소 모델이 도입되었다. 이를 통해 HTTP 라이브러리를 한 번 작성하고 여러 언어에서 사용하는 등의 솔루션이 가능해졌다.
현재 WASM은 일련의 기능을 갖추고 있으며 클라우드 네이티브 시나리오(블록체인 포함)에서 점점 더 많이 채택되고 있다. 그 장점은 다음과 같다:
-
고성능
-
간결한 바이너리 크기
-
크로스 플랫폼 이식성
-
C/C++, Rust, AssemblyScript 등 다양한 언어 지원
-
JavaScript 엔진 내에서 실행
-
메모리 및 CPU 제한을 갖춘 강력한 샌드박스
-
밀리초 이내의 매우 빠른 시작 시간
WASM 커뮤니티는 언어 간 통합과 성능 향상을 위해 계속 노력하고 있다.
WASM의 역사적 진화를 이해하는 것은 Stylus와 같은 블록체인 프로젝트를 포함한 다양한 환경에서 그 현재 및 잠재적 역할을 파악하는 데 중요한 맥락을 제공한다. 이 맥락은 WASM이 블록체인 생태계에 도입되면서 발생하는 문제와 우려를 탐색할 때 세심한 이해를 가능하게 한다.
Stylus Q&A
언어 지원
WASM의 발전 과정은 Stylus가 왜 Arbitrum 생태계에 흥미로운 보완인지 설명하지만, 동시에 언어 지원과 같은 일부 제한과 우려도 드러낸다. Stylus는 C++ 및 Rust와 같은 언어를 포함함으로써 Arbitrum 개발자 커뮤니티를 확장하지만, JavaScript 및 Python과 같은 인기 언어를 아직 충분히 수용하지 못하고 있다.

Python과 JavaScript를 WASM에 도입하려는 초기 프로젝트는 존재하지만, 가비지 컬렉션 및 성능 문제로 인해 아직 광범위한 채택 준비가 되지 않았다.
언어 호환성
현재 Stylus는 C/C++ 및 Rust SDK를 지원하며, 해당 언어의 툴체인과 원활하게 통합된다. 개발자는 스마트 계약을 구축할 때 네이티브 암호화 구현과 같은 서드파티 라이브러리도 통합할 수 있다. 다만 이때 관련 가스 비용이 주요 제약이 된다.
Rust SDK는 아직 초기 단계이며, Rust와 C SDK 모두 일부 기능이 누락되어 있다. 예를 들어 C SDK는 ABI 내보내기 함수를 지원하지 않으며, 두 SDK 모두 수정자(modifier)를 아직 지원하지 않는다.
현재로서는 로컬 Stylus 테스트 환경이 없으며, 개발자는 SDK 내에서 직접 테스트를 실행할 수 있다. 스마트 계약 배포의 경우 현재 테스트넷만 가능하며, 스마트 계약 검증은 아직 지원되지 않는다. 다양한 ERC 토큰과 **[Uniswap V2]** 를 Stylus 생태계에 도입하기 위한 노력이 진행 중이다.
언어 선택의 딜레마
도메인 특화 언어(DSL), 임베디드 DSL(eDSL), 범용 언어 사이의 선택은 저수준 제어와 고수준 추상화 사이의 균형을 요구한다. 새로운 DSL을 개발하는 것은 툴체인 및 생태계 개발에 큰 투자를 필요로 한다. 반면 eDSL은 범용 언어의 하위 집합으로, 기존 툴과의 통합이 쉬우며 학습 곡선이 낮다. 예를 들어 JavaScript 또는 Python과 같은 인기 언어 내에서 eDSL을 만드는 것이 유리할 수 있다.
범용 언어는 SDK 사용을 필요로 하며, 이는 추가 도구를 도입하고 장황함을 증가시키며 코드 표현성을 감소시키고, 더 긴 API 호출과 객체 조작을 수반한다.
언어 선택과 eDSL 개발 사이에서 적절한 균형을 찾는 것은 더 광범위한 개발자 커뮤니티를 유치하면서도 사용자 친화적인 도구를 제공하는 데 핵심이 될 수 있다. 현재 데이터에 따르면, 최상위 암호화 개발자 커뮤니티는 여전히 이더리움 중심에 집중되어 있다. 그러나 Polkadot, Cosmos, Solana처럼 Rust를 사용하는 스마트 계약 플랫폼도 관심을 얻으며 개발자 커뮤니티에서 빠르게 성장하고 있다.


성능
WASM은 실행 속도를 크게 향상시키고 패키지 크기를 줄인다. Stylus는 아직 메인넷에 배포되지 않았지만, 다른 네트워크의 벤치마크가 유용한 참고자료가 될 수 있다. 관찰된 실행 시간은 4~8배 빠르며, 컴파일된 크기는 약 50% 감소한다.


Stylus는 현재 계약 크기에 제한을 두고 있으며, 압축되지 않은 상태에서 약 128KB가 상한선이다. 이 제한은 Solidity 등의 다른 언어로 작성된 대규모 스마트 계약을 이식하는 것을 어렵게 만든다. Stylus 코드베이스에서 이 제한은 다음과 같이 명시되어 있다:

참고로 WASM은 시작 및 종료 시 다소의 오버헤드가 발생한다. 경량 작업의 경우, EVM이 실제로 WASM보다 더 비용 효율적일 수 있다.
EVM과의 상호 운용성
EVM과 WASM은 동일한 스토리지 슬롯과 상태 트리를 공유하므로 Stylus와 EVM 간의 상호 운용성이 용이하다. 이것은 EVM API를 WASM 내에서 구현함으로써 가능하며, 일반적인 Host I/O 패턴을 사용한다. 지원되는 EVM API의 전체 목록은 상호 운용성이 완전히 지원됨을 시사한다.

커스텀 프리컴파일 계약
이 분야는 특히 흥미롭다. 커스텀 프리컴파일 계약은 추가 암호학 원시 기능을 더 낮은 실행 비용으로 체인에 도입할 수 있는 잠재력을 지닌다. 또한 텐서 연산을 프리컴파일 계약으로 도입하여 추론 비용을 낮출 수도 있다. 그러나 현재로서는 커스텀 프리컴파일 계약과 관련된 기존 코드가 없는 것으로 보인다. EVM 구성 요소에는 프리컴파일이 존재하지만, 이들은 핫스왑이 불가능하다.
이 기능은 아마도 아직 개발 중이며, WASM의 역량을 활용할 것으로 보인다. EVM은 WASM으로 작성된 함수를 호출한 후 이를 머신 코드로 컴파일할 수 있다.
재진입 기능
CosmWasm은 재진입 기능이 없는 액터 모델을 채택한 것과 달리, Stylus의 Rust SDK는 기본적으로 재진입 기능을 기능 플래그로 비활성화한다. 개발자는 수동으로 이 기능을 활성화할 수 있는 선택권을 가진다.
재진입 기능을 활성화하려면 일부 API 조정이 필요하다. 특히 저장소 캐시를 새로 고침하는 등의 호출 중 보안 예방 조치에 대해 개발자는 주의 깊게 행동해야 한다.

통찰
Stylus는 고비용으로 인해 EVM만으로는 불가능했던 고성능 암호화, 게임, AI 등의 새로운 사용 사례를 가능하게 한다. 또한 커스텀 프리컴파일 계약을 통해 개발자가 자체 암호화 및 기타 기반 기능을 업그레이드를 기다리지 않고 추가할 수 있다. 과거에는 Cosmos 및 Polkadot과 같은 비이더리움 생태계가 WASM을 채택했다. 이번은 이더리움 커뮤니티가 처음으로 WASM을 수용하는 사례이다. 전반적으로 Stylus는 스마트 계약 개발의 중대한 진화를 나타내며, 기존 애플리케이션과의 상호 운용성을 유지하면서 이더리움과 Arbitrum의 확장을 지원한다.
Stylus를 Arbitrum의 레이어2 SDK에 통합하면, 제3자 개발자에게 더 큰 유연성을 제공한다. 이제 이전에는 가스 한도를 초과했던 집중 계산을 체인 상으로 이동시켜 새로운 가능성을 열 수 있다. 개발자는 더 이상 Solidity에만 국한되지 않으며, Rust나 C++이 더 적합하거나 전문 분야에 맞다면 이를 선택할 수 있다. 커스텀 프리컴파일 계약을 통해 선호하는 암호화, 유틸리티, 기타 헬퍼 함수를 최적 성능을 위해 매끄럽게 체인 상으로 이전할 수 있다. 각 사용 사례에 맞는 언어로 저수준 로직을 직접 작성하면 더욱 원활한 개발이 가능하다. 개발자는 가스 비용을 피하기 위한 임시 방편이 아닌 핵심 제품 기능에 집중할 수 있다. 언어 및 가스 제한을 제거함으로써 Stylus
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News










