---
title: "Rundler 오픈소스 공개 🦀"
description: "Rundler를 오픈소스로 공개함으로써 ERC-4337 생태계의 혁신을 촉진하고, 스마트 계정으로의 전환을 가속화하며, EVM 블록체인에서 한 단계 더 발전된 사용자 경험을 구현하고자 합니다."
---

# Rundler 오픈소스 공개 🦀

오늘 저희는 Alchemy가 Rust로 작성한 ERC-4337 Bundler 구현체 [Rundler](https://github.com/alchemyplatform/rundler) \(**R**ust B**undler**\)를 오픈소스로 공개하게 되어 기쁩니다. Rundler를 통해 저희는 EVM 체인에서 한 단계 더 나아간 사용자 경험을 달성하기 위한 스마트 계정 전환을 가속화하고자 합니다. Bundler는 [Account Abstraction을 가능하게 하는 인프라](https://www.alchemy.com/account-abstraction)의 핵심 구성 요소입니다. 저희는 이러한 전환을 지원할 수 있는 탈중앙화되고 견고한 네트워크를 조성하기 위해 Rundler를 오픈소스로 공개합니다.

## Rundler란 무엇인가?
Rundler는 고성능, 고신뢰성, 모듈형 ERC-4337 Bundler입니다.

말이 너무 많나요?

하나씩 살펴보겠습니다 👇

### ERC-4337

[ERC-4337](https://eips.ethereum.org/EIPS/eip-4337)은 코어 프로토콜을 전혀 변경하지 않고도 모든 EVM 체인에서 Account Abstraction을 구현하기 위한 표준입니다. 이는 Bundler와 같은 더 상위 계층의 오프체인 [인프라](https://www.alchemy.com/account-abstraction)에 의존함으로써 가능해집니다. 즉, ERC-4337을 사용하면 개발자는 코어 프로토콜 개발에 따르는 위험 없이 Account Abstraction의 모든 이점을 얻을 수 있습니다.

[ERC-4337의 작동 방식](https://www.alchemy.com/overviews/what-is-account-abstraction)을 알아보려면, Alchemy AA 팀 엔지니어인 David Philipson이 작성한 4부작 시리즈 "You Could Have Invented Account Abstraction"을 확인해 보세요.

ERC-4337 계정으로 빌드를 시작하려면, 저희의 [엔터프라이즈급 Embedded Accounts](/smart-wallets)를 살펴보세요.

### Bundler

앞서 언급한 상위 계층 인프라의 핵심 오프체인 구성 요소가 바로 [Bundler](https://www.alchemy.com/overviews/what-is-a-bundler)입니다. Bundler의 역할은 사용자가 제출한 트랜잭션과 유사한 객체\([User Operations](https://www.alchemy.com/overviews/user-operations)\)를 받아 이를 하나의 EVM 트랜잭션으로 묶은 뒤 온체인에 올리는 것입니다. 그 대가로 각 사용자로부터 소액의 수수료를 받습니다. EOA 지갑이 노드에 트랜잭션을 제출하는 것과 달리, 모든 ERC-4337 스마트 계정은 Bundler에 UserOp을 제출합니다.

<ImageBlock
  src="https://media.alchemy.com/1704368327-diagram-of-how-a-bundler-handles-user-operations-uos.jpeg"
  alt="번들러가 사용자 오퍼레이션(UO)을 처리하는 방식을 보여주는 다이어그램."
  width={1905}
  height={937}
  caption="번들러가 사용자 오퍼레이션(UO)을 처리하는 방식을 보여주는 다이어그램."
/>

## Rundler의 목표는 무엇인가?
저희는 생태계가 다음 10억 명의 사용자를 web3로 온보딩하는 것을 돕기 위해 Rundler를 만들었습니다. 저희는 Account Abstraction과 ERC-4337이 암호화폐를 대중에게 접근 가능하게 만드는 가장 좋은 방법이라고 믿습니다. 이러한 대중적인 경험을 제공하려면, 최고 수준의 개발자 경험, 모듈형 설계, 그리고 모든 EVM 체인에 대한 지원을 갖춘 매우 신뢰성 높은 인프라가 필요합니다.

### 1. ERC-4337 생태계 성장

Rundler를 구축하면서 저희는 ERC-4337 표준의 발전에 깊이 관여해 왔으며, 앞으로도 이 부분에 계속 기여할 계획입니다. 프로덕션 환경에서 Rundler를 운영한 경험으로부터 많은 것을 [배우고 있으며](https://www.alchemy.com/blog/erc-4337-gas-estimation), 개선에 도움이 되도록 이러한 경험을 4337 커뮤니티와 계속 공유하고 있습니다.

### 2. 최고 수준의 성능과 신뢰성

10억 명의 사용자를 온체인으로 이끌 애플리케이션 유형들을 온보딩하려면 성능과 신뢰성이 무엇보다 중요합니다. 이러한 믿음은 Rundler와 Alchemy의 관련 API들의 핵심이며, 저희는 계속해서 그 한계를 뛰어넘고자 합니다.

### 3. 확장성 및 체인 지원

모든 EVM 체인은 Account Abstraction을 지원하기 위한 최고 수준의 인프라를 누릴 자격이 있습니다. 프로토콜마다 까다로운 세부 사항\(예: 가스 사용량, 프리컴파일, 트랜잭션 공급망 등\)을 다르게 처리합니다. Rundler를 통해 저희는 이러한 유즈케이스의 대부분, 혹은 모두를 지원하도록 로직을 확장할 수 있기를 바랍니다.

### 4. 모듈성

저희는 Rundler에서 멈추지 않을 것입니다. Rundler 라이브러리의 여러 구성 요소가 확장되어 새로운 4337 및 대체 mempool 인프라를 구동하는 데 사용되기를 지향합니다.

## Rundler 아키텍처의 장점
Alchemy는 Ethereum 기술의 이점을 모두에게 전달하기 위해서는 스마트 계정으로의 전환이 필수적이라고 믿습니다. Rundler는 이러한 비전을 달성하기 위한 중요한 단계입니다.

### 1. 고성능

Rundler는 가장 까다로운 워크로드가 요구하는 수준의 성능을 달성하도록 만들어졌습니다. 저희는 이를 달성하기 위해 동시성 프리미티브와 제로 코스트 추상화를 제공하는 Rust를 프로그래밍 언어로 선택했습니다. 저희는 Rundler가 차세대 애플리케이션의 확장성 요구를 충족하도록 높은 동시성, 수평적 확장성, 그리고 쉬운 확장 가능성을 갖추기를 바랍니다.

[최근 측정 결과](https://x.com/ProbablyNoam/status/1702847970289569974?s=20), Rundler는 Polygon Mainnet에서 초당 7.5M 가스\(해당 워크로드에서 약 55 TPS\)를 처리했으며, 이 아키텍처를 통해 더 높은 처리량을 달성할 수 있습니다.

<ImageBlock
  src="https://media.alchemy.com/1704368412-sustained-eth_senduseroperation-transactions-per-second-on-polygon.jpeg"
  alt="Polygon에서 초당 지속 처리되는 eth_sendUserOperation 트랜잭션 수."
  width={3328}
  height={1872}
  caption="Polygon에서 초당 지속 처리되는 eth_sendUserOperation 트랜잭션 수."
/>

### 2. 고신뢰성

Rundler의 아키텍처는 사용자가 기대하는 [고신뢰성 서비스](https://www.alchemy.com/blog/reliability)를 충족하도록 설계되었습니다. 수년간 블록체인 인프라를 운영하며 얻은 경험을 활용하여, 저희는 그러한 철학을 연장한 형태로 Rundler를 구축했습니다. Rundler는 각 구성 요소가 독립적으로 실행 및 확장될 수 있고 관찰성과 텔레메트리가 필수인 현대적인 클라우드 환경에서 진가를 발휘합니다.

### 3. 모듈형

Rundler는 각 구성 요소가 하나의 라이브러리\(Rust에서는 crate\)로 모델링되어 다른 구성 요소와 독립적으로 실행될 수 있는 모듈형 방식으로 구축되었습니다. 인터페이스가 안정화됨에 따라, 저희는 이러한 구성 요소들을 활용해 차세대 write-path 인프라를 구동하고자 합니다.

## 다음 10억 명의 사용자를 위하여
저희는 4월부터 Rundler를 프로덕션 환경에서 운영해 왔으며, 이는 CyberConnect CyberAccounts와 Circle Programmable Wallets를 포함해 이 분야에서 가장 유망한 애플리케이션들 일부를 구동하는 데 활용되고 있습니다.

**지난 몇 달간의 수치는 다음과 같습니다:**

- 402K\+ 개 이상의 UserOp가 온체인에 성공적으로 처리됨
- UserOp의 71%가 1개 이상의 UO를 포함한 번들로 처리되었으며, 이는 알려진 다른 bundler 구현체보다 4.7배 높은 수치임
- UserOp를 전송하는 순 활성 개발자 팀 수가 분기별 430% 성장

## Rundler의 현재 상태는?
Rundler는 저희의 [Bundler API 엔드포인트](https://www.alchemy.com/docs/wallets/low-level-infra/quickstart)를 구동하는 데 사용되고 있습니다. 다만, Alchemy의 강력한 개발자 팀에 의해 활발히 개발되고 있습니다. 저희는 사용자들이 Account Abstraction의 힘을 최대한 활용할 수 있도록 계속해서 기능을 추가할 것입니다.

ERC-4337 스펙을 완전히 준수하고 [v0.6 Entry Point 컨트랙트를 지원](https://github.com/eth-infinitism/account-abstraction/tree/v0.6.0)하는 것 외에도, Rundler에는 짚고 넘어갈 만한 흥미로운 기능들이 여러 가지 있습니다:

### 통합형 또는 분산형 배포

Rundler는 각 구성 요소가 메모리 내 메시지 전달을 통해 통신하는 단일 프로세스로 풀 노드처럼 실행될 수 있습니다. 또한 이러한 구성 요소들은 gRPC를 통해 통신하는 독립적인 프로세스로도 실행될 수 있어, 수평적 확장성과 중복 배포를 용이하게 합니다.

### 정확한 가스 추정

저희는 영리한 스마트 컨트랙트 트릭과 이진 탐색을 활용하여 [ERC-4337 User Operation의 여러 가스 필드를 추정하는](https://www.alchemy.com/blog/erc-4337-gas-estimation) 새로운 방법을 개척했습니다.

### Reorg 처리

저희의 mempool 구현체는 체인 [재구성\(reorganization\)](https://www.alchemy.com/overviews/what-is-a-reorg)에 강합니다. 저희는 체인의 진행 상황을 추적하고, 체인에 reorg가 발생했을 때 이를 감지하여, 체인에서 누락되었을 수 있는 User Operation을 mempool로 되돌려 다시 포함될 수 있도록 합니다.

### 대규모 번들 구성 및 트랜잭션 신뢰성

저희는 네트워크 수준의 가스 처리량을 달성하도록 번들 구성 구성 요소를 만들었습니다. 즉, 저희는 블록의 가스 한도에 근접하고 매 블록마다 처리되는 번들로 네트워크를 완전히 포화시키고자 합니다.

### 대체 mempool

저희는 [ERC-4337 대체 mempool](https://eips.ethereum.org/EIPS/eip-4337#alternative-mempools)을 [실험](https://hackmd.io/@dancoombs/BJYRz3h8n)해 왔으며 이 논의를 발전시키는 데 힘써 왔습니다. 현재 이러한 대체 mempool은 bundler를 특정 mempool 공격에 노출시키지만, 저희는 이 연구를 바탕으로 향후 안전한 대체 mempool을 구현하고자 합니다.

## Rundler의 로드맵은?
여기까지 왔으니, 다음은 무엇일까요? 저희의 당면 로드맵에는 P2P 및 안전한 대체 mempool 구축, Entry Point v0.7 지원, 서명 집계\(signature aggregation\), 블록 빌더 통합이 포함됩니다.

### P2P mempool

오랫동안 기대되어 온 ERC-4337 공용 [P2P mempool](https://github.com/eth-infinitism/bundler-spec/blob/main/p2p-specs/p2p-interface.md)이 올가을 출시될 예정이며, 저희는 현재 이를 지원하기 위한 작업을 진행 중입니다.

### 안전한 대체 mempool

앞서 언급했듯이, 저희는 bundler에 안전한 구현체를 만들기 위해 대체 mempool 접근 방식을 계속 개선하고자 합니다.

### Entry Point v0.7 및 다중 버전 지원

ERC-4337 팀은 Entry Point 컨트랙트의 다음 버전인 v0.7 작업에 매진하고 있습니다. 출시되는 대로 저희는 v0.6 컨트랙트에 대한 지원을 유지하면서 빠른 지원을 제공하고자 합니다.

### 서명 집계

[서명 집계](https://www.alchemy.com/blog/l2-gas-and-signature-aggregators)는 ERC-4337의 가장 많이 언급되는 기능 중 하나입니다. 하지만 bundler의 수익성을 유지하면서 이를 구현하는 것은 쉽지 않은 과제로 드러났습니다. 저희는 이 부분을 더 자세히 살펴보고 있으며, 최초로 실용적인 서명 집계기(signature aggregator)를 구동하고자 합니다.

### 블록 빌더 통합

User Operation을 높은 비율로 온체인에 처리하려는 시도 중, 저희는 P2P mempool의 도입으로 더욱 심화될 문제들\(자세한 내용은 추후에\)을 발견했습니다. 블록 빌더가 번들링을 자신들의 프로세스에 직접 통합한다면 이러한 문제들은 크게 줄어들 것입니다.

## Rundler에 기여하는 방법
저희는 Rundler를 오픈소스로 공개함으로써 이 분야의 혁신을 계속 촉진할 수 있기를 바랍니다. 사용자는 자신의 User Operation을 구동하는 로직을 살펴볼 수 있고, 기여자는 기능을 추가하고 버그를 수정하여 Rundler를 개선하고 견고하게 만들 수 있습니다.

기여하고 싶으시다면, 저희의 기여 가이드를 살펴보시고 연락해 주세요!

- [기여 가이드](https://github.com/alchemyplatform/rundler/blob/main/CONTRIBUTING.md)
- [Open Issues](https://github.com/alchemyplatform/rundler/issues)
- [Development Help](https://github.com/alchemyplatform/rundler#help)

## 감사의 말
ERC-4337 생태계를 구축하는 것은 팀 전체의 노력이며, 이 분야 여러 팀의 리더십과 지도, 지원이 없었다면 저희가 지금까지 이룬 것들을 달성할 수 없었을 것입니다.

### ERC-4337 팀

[ERC-4337 팀](https://github.com/eth-infinitism/account-abstraction)은 이 표준을 개척했으며, 저희 개발 과정에서 수많은 질문에 답해 주었습니다. 그들은 개발 과정에서 매우 유용했던 [bundler 레퍼런스 구현체](https://github.com/eth-infinitism/bundler)와 [스펙 테스트](https://github.com/eth-infinitism/bundler-spec-tests)를 개발했습니다. 저희는 앞으로도 이 팀과 함께 ERC-4337을 발전시켜 나가기를 기대합니다.

### Reth 팀

많은 저희의 실무 방식에 영감을 준 [Reth 팀](https://github.com/paradigmxyz/reth)에게 감사를 전합니다. 그들은 Ethereum Rust 생태계를 개방적인 방식으로 발전시키고 있으며, 저희는 그들의 지속적인 기여에 감사드립니다.

**\(대체\) mempool에서 만나요.**

🦀
