
앱 롤업(App Rollup) 기술 심층 분석: 고처리량 앱의 대중적 채택을 위한 핵심 기술
작성: Mohamed Fouda
번역: TechFlow

앱 롤업(App Rollup)은 특정 그룹의 이더리움 애플리케이션 확장에서 명백한 승자로 부상하고 있다. 이러한 앱들은 무허가 및 강력한 소유권 보장을 활용하지만, 모든 사용자가 동시에 상호작용할 필요는 없다. 완전히 블록체인 상에 구현된 게임(완전 체인게임)이 가장 좋은 예시다. 체인게임은 게임 자산에 대한 확고한 소유권을 가지며, 익명으로 게임에 참여하거나 수정할 수 있는 장점을 갖는다. 그러나 대부분의 게임은 모든 플레이어가 실시간으로 상호작용할 필요는 없다. NFT 마켓플레이스, 영구 스왑(perpetual swap), 체인 상 AI 추론 등도 앱 롤업 확장 전략의 혜택을 받을 수 있는 다른 사례들이다.

앱 롤업은 이미 이러한 다양한 사용 사례에서 선호되는 구현 방식이 되었다. 하지만 EVMRollup과 같은 표준 롤업 구현은 여전히 중요한 확장성 한계를 가지고 있다. 기존 롤업은 초당 약 100건 정도의 트랜잭션 처리량을 달성할 수 있을 뿐이다. 어떤 체인게임에서는 게임 유형에 따라 이 정도 처리량으로 충분할 수 있지만, 대부분의 게임은 수천 명 이상의 동시 접속자를 지원하기 위해 더 높은 처리량이 필요하다. 본 글은 수십만 명의 동시 참가자를 커버할 수 있는 앱 롤업 확장 방법에 초점을 맞춘다. 각 방법에 대해 적합한 앱/게임 유형과 직면하는 도전 과제를 설명하겠다.
수평적 확장(Horizontal Scaling)
수평적 확장은 앱 롤업을 확장하는 가장 간단한 방법이다. 그러나 이 단순함은 조합성(composability)을 희생한다는 대가가 있으며, 따라서 주로 싱글 플레이어 게임과 같은 일부 앱에만 적합하다.
수평적 확장은 여러 개의 앱 롤업(Optimistic 또는 ZK)을 배포하고 동일한 스마트 계약을 모든 롤업에 배포하는 것을 의미한다. 앱의 프론트엔드는 용량, 위치 또는 특정 앱 옵션에 따라 사용자를 자동으로 해당 롤업 중 하나로 안내한다. 최근 Alt Layer는 확장 가능한 2048 FOCG 게임을 통해 이 개념을 시연했다. 게임 프론트엔드에서 사용자는 지리적 위치에 따라 어느 롤업에 참여할지 선택할 수 있다. 이 방법은 단순성 덕분에 Caldera와 같은 롤업 인프라 서비스(RaaS) 제공업체들의 지원 아래 게임 개발자가 쉽게 채택할 수 있다. RaaS 제공업체는 롤업 생성 및 운영과 관련된 모든 인프라 작업을 처리한다.

그럼에도 불구하고 다중 롤업 확장 방식에는 몇 가지 문제가 있다. 첫 번째 문제는 롤업 네트워크 전환이다. 현재 메타마스크(Metamask)와 같은 지갑은 새로운 네트워크(즉 롤업 인스턴스)에 연결하려면 수동으로 승인해야 한다. 이는 동일한 게임을 하기 위해 여러 "네트워크"에 수동으로 연결해야 하는 플레이어에게 어려움과 혼란을 초래한다. 다행히도 계정 추상화(Account Abstraction, AA) 솔루션을 통해 이러한 복잡성을 제거할 수 있다. 예를 들어 EIP-4337이나 Privy, 0xPass와 같은 내장형 지갑이 있다.
또 다른 도전 과제는 롤업 간 전환 중 플레이어 상태 관리다. 경우에 따라, 예를 들어 용량 감소 시, 애플리케이션이 리소스 절약을 위해 여러 롤업 인스턴스를 단일 인스턴스로 통합해야 할 수 있다. 이 경우 모든 활성 플레이어의 상태를 새 인스턴스로 이전해야 한다. 현재의 브릿지 솔루션, 특히 zk 브릿지는 이 문제 해결에 핵심적인 역할을 할 수 있다. 이러한 솔루션을 사용하면 상태의 유효성 증명을 유지하면서 플레이어의 게임 상태를 새로운 롤업 인스턴스로 브릿징할 수 있다. 그러나 기존 브릿지 솔루션의 지연 시간은 게임 사례에 최적이 아닐 수 있다.
ZK 상태 채널(ZK State Channels)
포커와 같은 멀티플레이어 게임에 더 적합한 또 다른 앱 롤업 확장 방법은 ZK 상태 채널이다. 이러한 게임에서 플레이어 간 상호작용은 소수의 플레이어(예: 2~10명) 사이에서 발생하며, 게임 진행 중에는 그 상호작용만 중요하다. 그러나 게임의 최종 결과가 더 중요하다. 왜냐하면 이 결과가 각 플레이어의 자산 잔액에 영향을 주기 때문이다. 따라서 이 최종 결과를 공유되고 지속 가능한 저장소에 저장하는 것이 중요하다.
이 경우 앱 롤업은 공유 정보 계층을 나타내며, 여기에 게임 결과가 저장되고 게임 자산도 존재한다. 롤업 상의 각 게임마다 해당 게임을 위한 ZK 상태 채널을 시작할 수 있다. 게임 진행 중 각 플레이어는 거래를 생성하고 게임 규칙을 따르고 있음을 증명하는 ZKP를 생성한다. 다른 플레이어와의 상호작용 증명은 재귀적 증명을 통해 이전 증명들과 결합된다. 게임 종료 시 최종 ZKP가 앱 롤업에 제출되어 게임 진행과 최종 결과의 유효성을 증명한다. 이로 인해 발생하는 상태 변화는 앱 롤업 상의 플레이어 상태를 변경한다.

ZK 상태 채널은 게임 상호작용을 오프체인으로 이동시킨다. 따라서 게임 내 활동과 거래는 앱 롤업의 처리량에 포함되지 않는다. 이를 통해 앱 롤업은 수천 명의 동시 플레이어를 지원할 수 있도록 대규모로 확장될 수 있다. 앱 롤업의 트랜잭션은 생성된 ZKP 검증과 상태 업데이트만 처리하면 되므로 확장 계수는 100~1000배에 달할 수 있다. Ontropy를 포함한 여러 팀들이 이 기술 개발에 매진하고 있다.
이 방법의 단점 중 하나는 플레이어가 자신의 장치에서 게임 로직을 실행하고 ZKP를 생성해야 한다는 것이다. 일반적으로 이러한 증명은 경량이며 Halo2와 같은 최신 증명 시스템을 활용하면 몇 초 안에 생성할 수 있다. 그러나 여전히 자원이 제한된 장치의 플레이어에게는 경험 저하를 초래할 수 있다.
이 문제를 완화하기 위한 한 가지 수정안은 ZK 상태 채널 참여자 중 한 명을 일시적인 정렬기(sequencer)로 지정하는 것이다. 이 정렬기는 각 플레이어의 거래를 수신하고 해당 ZKP를 생성한 후 모든 채널 참여자와 공유한다. 이 수정안은 앱 롤업에 정산되는 일시적인 ZK L3로 간주할 수 있다. Cartridge 팀은 Katana라는 전용 정렬기를 설계하여 이러한 아키텍처를 구현했다.
ZK 상태 채널 방식은 큰 가능성을 지니고 있다. 그러나 ZK 상태 채널 내 실행 환경과 재귀적 증명 최적화와 관련된 몇 가지 미해결 과제가 있다. 현재의 zkEVM 환경은 효율적이지 않으며, 대부분 재귀적 증명을 지원하지 않는다. 대안으로는 경량 zkVM이 있거나, 플레이어의 가능한 행동 수가 제한된 경우 전용 zk 회로를 사용해 플레이어 상호작용을 처리하는 것도 가능하다.
실행 환경 변경
앱 롤업을 확장하는 세 번째 방법은 롤업의 실행 환경을 변경하는 것이다. EVM 개발 도구의 성숙과 풍부함에도 불구하고, EVM은 게임과 같은 고성능 앱에는 적합하지 않다. 또한 EVM의 싱글 스레드 실행 및 스토리지 모델은 처리량을 낮추며, 이는 개선을 통해 향상될 수 있다.
이 방법의 주요 이점은 조합성 희생 없이도 롤업 처리량을 높일 수 있고, 사용 사례 수를 제한하지 않는다는 점이다. 실행 환경이 앱이 요구하는 처리량에 도달할 수만 있다면, 이 방법은 AMM, 대출 프로토콜 및 기타 DeFi 앱처럼 공유 상태에 접근이 필요한 모든 Web3 앱에 적용할 수 있다. 따라서 이는 공유 상태 접근이 필수인 앱들에 대한 유일한 실현 가능한 해결책이 된다.
사전 컴파일로 EVM 기능 확장
첫째, 롤업은 EVM 호환성을 유지하면서 사전 컴파일 주소를 통해 처리량 제한을 일부 극복한다. 아이디어는 간단하다. 사전 컴파일은 계산 집약적인 EVM 연산을 노드 수준으로 내리는 것이다. 수백 또는 수천 개의 EVM 오퍼코드를 필요로 하고 10만 이상의 가스를 소비하는 연산을 단일 연산으로 간소화하고, 가스 비용을 100배까지 줄일 수 있다. 롤업 환경을 확장하는 사전 컴파일은 일반적으로 EVM+라고 불린다. 예시로는 체인 상 프라이버시 지원, BLS 서명과 같은 더 효율적인 서명 방식 지원 등이 있다. 예를 들어, zkHoldem 포커 게임은 전용 FHE 및 zk 연산을 사용해 프라이빗한 카드 딜링과 공개를 구현한다. 이러한 전용 사전 컴파일 개발은 앱 롤업 개발자와 롤업 인프라 배포 및 운영을 관리하는 RaaS 제공업체 간 공동 노력으로 이루어진다.
비-EVM 실행 환경 사용
롤업 실행 환경을 개선하는 또 다른 방법은 EVM에서 벗어나는 것이다. 이 방법은 이더리움 생태계의 신규 개발자들 사이에서, 그리고 Solidity가 복잡한 앱 개발에 최적의 언어가 아니라고 생각하는 개발자들 사이에서 점점 인기를 얻고 있다.
현재 우리는 WASM, SVM, Cairo, 심지어 리눅스 런타임 위에서 동작하는 롤업 앱들을 보유하고 있다. 이러한 방법 대부분은 개발자가 Rust나 C와 같은 고급 언어로 스마트 계약을 작성할 수 있게 해준다. 단점은 기존의 Solidity 계약과의 상호운용성이 종종 상실된다는 것이다. 그러나 여전히 EVM과의 호환성을 만들 수 있다. 예를 들어 Arbitrum의 Stylus는 코프로세서를 사용해 Stylus 계약이 EVM과 호환되도록 한다. 이 설계는 Stylus를 비-EVM보다는 EVM+ 아키텍처에 더 가깝게 만든다.

하이브리드 실행 환경
FOG 분야에서 특히 인기를 얻고 있는 세 번째 방법은 앞서 언급한 두 가지 접근법의 장점을 결합하는 것이다. 이 방법은 EVM 호환성과 전용 비-EVM 실행 환경을 결합한다. 비-EVM 환경은 핵심 게임 프리미티브의 고성능 실행에 집중한다. 게임 자산 관리, 예를 들어 게임 내 NFT 거래는 표준 Solidity 계약으로 처리할 수 있다.
이 방법의 이점은 EVM 호환성이 더 큰 개발자 생태계 및 기존 제품과의 일관성을 보장한다는 점이다. 또한 무허가 조합성(unpermissioned composability)도 가능하게 한다. 개발자는 EVM/Solidity 스마트 계약을 추가해 게임 로직을 수정하고 확장할 수 있다. 동시에 전용 비-EVM 게임 엔진은 EVM으로는 달성할 수 없는 높은 처리량을 실현한다.
이 방법의 사례로는 Argus의 World Engine과 Curio의 Keystone이 있다. World Engine은 게임 로직 실행을 Game Shard라 불리는 별도의 계층으로 분리하며, 이는 EVM 호환 계층 위에서 동작한다. Game Shard는 또한 수요에 따라 전체 롤업 처리량을 조정할 수 있도록 수평적 확장을 지원하도록 설계되었다. 마찬가지로 Curio의 Keystone 아키텍처는 고처리량 게임 엔진을 EVM과 함께 롤업 실행 환경으로 묶는다. 여기서의 과제는 EVM 엔진과 게임 엔진 간 원활한 상호운용성을 구현하는 것이다.

데이터 가용성 고려사항
앞선 논의에서는 롤업 트랜잭션 처리량 증가에 초점을 맞췄는데, 이는 앱 롤업 확장의 주요 측면이다. 이와 관련된 다른 주제로는 데이터 가용성(DA), 정렬기(sequencer) 탈중앙화, 정산 속도 등이 있다. 고처리량 앱 롤업의 경우 데이터 가용성이 가장 시급한 문제다.
단일 앱 롤업의 처리량은 초당 1만 건 이상의 트랜잭션을 초과할 수 있다. 이더리움을 이러한 트랜잭션의 데이터 가용성 계층으로 사용하는 것은 불가능하다. 먼저, L1에 단순한 L2 ETH 전송 데이터를 게시하는 평균 비용이 0.1달러를 넘을 수 있다. 이 비용은 대부분의 앱 롤업에게 너무 높다. 더 중요한 것은, 이더리움 L1은 현재 DA 용도로 롤업을 위해 초당 약 8천 건을 겨우 처리할 수 있을 뿐이라는 점이다.
앱 롤업은 주로 외부 DA 솔루션에 의존할 것이다. 현재 Celestia와 EigenDA는 앱 롤업에 가장 실현 가능한 선택지로 자리매김하고 있다. 예를 들어 Eclipse는 고처리량 SVM 기반 롤업의 데이터 가용성 계층으로 Celestia를 사용할 계획이다. Argus와 고처리량 게임 엔진도 초기에 Celestia를 사용할 계획이다. 마찬가지로 EigenDA는 초당 최대 10MB의 데이터 처리량을 약속하며, 여러 앱 롤업에 실현 가능한 솔루션을 제공할 수 있다.
그러나 Celestia나 EigenDA를 통합하는 주요 단점은 경제적 가치 유출(economic value leakage)이다. 앱 롤업은 DA 계층에 비용을 지불해야 하며, 이더리움 L1 상의 정산 비용도 부담해야 한다. 정산 비용은 앱 롤업에게 매우 중요하다. 왜냐하면 롤업의 보안을 이더리움의 보안과 연결시키기 때문이다. 반면, FOG 맥락에서 거래 가치가 이들 네트워크보다 훨씬 작을 경우 DA 보장은 덜 중요할 수 있다. 또한 Celestia와 EigenDA는 초기 이용률이 낮고 네트워크가 막 시작된 만큼 저렴한 요금을 약속하고 있다. 그러나 이들 DA 네트워크가 높은 이용률을 달성하면 DA 비용도 과도하게 높아질 수 있다. 내 생각에 앱 롤업은 롤업 데이터의 가용성을 증명하기 위해 간단한 데이터 가용성 위원회(DAC)를 사용해야 한다.
결론적으로, 나는 앱 롤업이 고처리량 앱, 특히 완전 체인게임을 확장하는 데 있어 현재로서는 최고의 기존 솔루션이라고 생각한다. 이러한 앱 롤업을 확장하는 것은 암호화폐 원주민 사용자를 넘어 일반 대중의 채택을 달성하는 데 핵심적인 역할을 할 것이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














