본문으로 건너뛰기
0%

계정 추상화(account abstraction)란? ERC-4337 설명

Alchemy team headshot

작성자 Alchemy

2026년 10월 19일에 게시됨7분 읽기

계정 추상화(account abstraction)는 하나의 개인 키 대신 스마트 컨트랙트가 계정 역할을 하게 하는 방식입니다. 계정은 서명, 가스 지불, 호출 실행에 대한 자체 규칙을 정할 수 있습니다. ERC-4337은 프로토콜을 변경하지 않고 이더리움과 다른 EVM 체인에서 이를 구현하는 표준입니다.

오늘날 대부분의 이더리움 사용자는 외부 소유 계정(EOA)을 사용합니다. EOA는 하나의 개인 키로 제어되고, 하나의 방식으로 서명하며, 무엇이든 하려면 먼저 ETH가 필요합니다. 키를 잃어버리면 계정도 잃게 됩니다. 계정 추상화는 이러한 제한을 없앱니다. 이를 구현하는 표준은 두 가지입니다. 자체 주소를 가진 스마트 계정을 위한 ERC-4337과 기존 EOA를 그 자리에서 업그레이드하는 EIP-7702입니다. 두 표준은 함께 작동합니다.

계정 추상화란 무엇인가요?

계정 추상화는 계정의 규칙이 프로토콜이 아니라 코드에 있다는 뜻입니다. 일반 EOA는 고정된 규칙을 따릅니다. ECDSA 서명 하나, nonce 하나, 그리고 발신자가 ETH로 내는 가스입니다. 계정 추상화에서는 스마트 계정(ERC-4337 사양에서는 smart contract account라고 부릅니다)이 자체 검증 로직을 정의합니다.

ERC-4337 사양은 이 아이디어를 "각 계정이 스마트 컨트랙트 코드로 실행되는 자체 검증 로직을 제공할 수 있고, 프로토콜은 최소한의 제약만 두는 모델"이라고 설명합니다.

이 한 가지 변화로 EOA가 제공할 수 없는 기능이 가능해집니다.

  • 가스 후원. 앱이 수수료를 내므로 신규 사용자는 ETH가 필요 없습니다.
  • 토큰으로 가스 지불. 사용자가 USDC 같은 ERC-20으로 지불합니다.
  • 배치 처리. 여러 호출을 하나의 원자적 작업으로 함께 실행합니다.
  • 세션 키. 앱이나 에이전트에 기간이 정해진 좁은 범위의 권한을 줍니다.
  • 패스키 등 다양한 서명 수단. 사용자에게 시드 구문이 필요 없습니다.
  • 맞춤형 복구. 계정 자체의 규칙으로 접근 권한을 되찾는 방법을 정합니다.

ERC-4337이란 무엇인가요?

ERC-4337은 합의 계층 변경이 필요 없는 계정 추상화용 이더리움 표준입니다. Vitalik Buterin과 공동 저자들이 2021년에 제안했고, EntryPoint 컨트랙트는 2023년 3월 1일 이더리움 메인넷에서 가동되었습니다.

이전 제안들은 이더리움의 핵심 프로토콜을 변경했습니다. ERC-4337은 그렇지 않습니다. UserOperation이라는 의사 트랜잭션, 이러한 작업을 위한 별도의 mempool, EntryPoint라는 싱글톤 컨트랙트를 추가합니다. 모든 것이 합의 계층 위에 있으므로 EntryPoint가 배포된 모든 EVM 체인에서 작동합니다.

사양의 목표 중 하나는 사용자가 EOA를 아예 쓰지 않아도 되게 하는 것입니다. 스마트 계정은 패스키나 다른 어떤 방식으로도 서명할 수 있고, 트랜잭션을 제출하기 위해 EOA가 필요한 것은 bundler뿐입니다.

ERC-4337은 어떻게 작동하나요?

ERC-4337 트랜잭션은 다섯 단계를 거칩니다.

  1. 사용자가 UserOperation에 서명합니다. 어떤 서명이 유효한지는 스마트 계정이 결정합니다.
  2. 앱이 eth_sendUserOperation으로 bundler에 전송합니다.
  3. bundler가 시뮬레이션을 하고, 다른 UserOperation과 함께 묶어 EntryPoint의 handleOps를 호출하는 트랜잭션 하나를 전송합니다.
  4. EntryPoint가 스마트 계정의 validateUserOp를 호출합니다. paymaster가 관여하면 validatePaymasterUserOp도 호출합니다. 누군가 가스를 부담할 수 있는지 확인합니다.
  5. EntryPoint가 스마트 계정을 호출해 요청된 작업을 실행한 다음 bundler에게 비용을 상환합니다.
ERC-4337 계정 추상화 흐름도: UserOperation, bundler, EntryPoint, paymaster

UserOperation이란 무엇인가요?

UserOperation은 사용자가 하려는 작업을 설명하는 의사 트랜잭션 객체입니다. 발신자(스마트 계정), nonce, 호출 데이터, 가스 한도와 수수료 필드, 서명, 선택적인 paymaster 필드를 담고 있습니다. 일반 트랜잭션과 달리 서명은 계정 자체의 코드가 검증합니다. 여러 명령을 포함할 수도 있습니다. 전체 필드 목록은 UserOperation 가이드를 참고하세요.

bundler는 무엇을 하나요?

bundler는 UserOperation mempool을 지켜보고, 각 작업을 시뮬레이션하며, 유효한 작업을 하나의 온체인 트랜잭션으로 묶는 오프체인 서비스입니다. 가스를 먼저 내고 EntryPoint가 나중에 상환합니다. ERC-4337에서 EOA를 보유해야 하는 주체는 bundler뿐입니다. 작동 방식과 경쟁 구도는 bundler란 무엇인가를 참고하세요.

EntryPoint 컨트랙트는 무엇을 하나요?

EntryPoint는 모든 계정과 bundler가 신뢰하는 싱글톤 스마트 컨트랙트입니다. 각 UserOperation을 두 단계로 실행합니다. 검증 단계에서는 서명을 확인하고 자금이 있는지 확인합니다. 실행 단계에서는 호출을 실행하고 bundler에게 비용을 상환합니다. 공유되고 감사를 거친 컨트랙트 하나가 있으므로 모두에게 같은 규칙이 적용됩니다.

paymaster는 무엇을 하나요?

paymaster는 UserOperation의 가스를 대신 내 주는 선택적 컨트랙트입니다. 앱이 수수료를 후원하거나, 사용자가 ETH 대신 ERC-20 토큰으로 지불할 수 있게 합니다. EntryPoint는 작업을 실행하기 전에 paymaster에게 승인을 요청합니다. 유형과 보안상의 트레이드오프는 paymaster란 무엇인가를 읽어보세요.

aggregator는 무엇을 하나요?

aggregator는 많은 UserOperation에 대한 하나의 결합 서명을 한 번에 검증하는 선택적 컨트랙트입니다. 번들에 여러 서명 대신 서명 하나만 담기므로 calldata를 절약할 수 있으며, 롤업에서 특히 도움이 됩니다. aggregator는 최적화 수단입니다. 대부분의 계정에는 필요하지 않습니다.

어떤 EntryPoint 버전을 사용해야 하나요?

EntryPoint에는 여러 개의 출시된 버전이 있습니다. 각각 고유한 주소를 가진 별도의 컨트랙트이며, 스마트 계정은 하나의 버전에 맞춰 만들어집니다.

  • v0.6: 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
  • v0.7: 0x0000000071727De22E5E9d8BAf0edAc6f37da032
  • v0.8: 0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108. 네이티브 EIP-7702 지원이 추가되었습니다

eth-infinitism 릴리스 노트에는 v0.9도 나와 있습니다. v0.9는 paymasterSignature를 추가해 paymaster가 병렬로 서명할 수 있게 합니다. 당사의 호스팅 Bundler API는 v0.6, v0.7, v0.8을 지원합니다. 정확한 목록은 체인에서 eth_supportedEntryPoints를 호출해 확인하세요. 새 계정은 v0.7 또는 v0.8로 만드세요. Bundler FAQ에 따르면 v0.6 지원은 중단이 예정되어 있습니다.

EIP-7702란 무엇인가요?

EIP-7702는 EOA가 자기 자신에게 코드를 설정할 수 있게 하는 프로토콜 변경입니다. 2025년 5월 7일 Pectra 업그레이드와 함께 이더리움 메인넷에 적용되었습니다.

서명된 승인 목록을 담는 새로운 트랜잭션 유형 0x04가 추가됩니다. 각 승인은 0xef0100 뒤에 컨트랙트 주소가 붙은 위임 표시자를 계정의 코드에 기록합니다. 그 후 EOA에 대한 호출은 해당 주소의 코드를 실행합니다.

위임은 영구적입니다. 계정이 새 승인에 서명할 때까지 유지되며, 영 주소로 위임하면 해제됩니다. EOA는 주소, 잔액, 키를 그대로 유지합니다. 위임된 코드는 계정 자체의 잔액과 스토리지로 실행되므로, 감사를 거친 컨트랙트 코드에만 위임하세요. 더 자세한 내용은 EIP-7702 개요를 읽어보세요.

ERC-4337과 EIP-7702의 차이는 무엇인가요?

ERC-4337은 mempool, bundler, paymaster와 함께 스마트 계정을 자체 주소에서 실행합니다. EIP-7702는 기존 주소를 그 자리에서 업그레이드합니다. 둘은 경쟁 관계가 아닙니다. EIP-7702는 계정이 무엇이 될 수 있는지를 바꾸고, ERC-4337은 그 작업을 전송하고 후원하는 인프라를 제공합니다.

기능
일반 EOA
ERC-4337 스마트 계정
EIP-7702로 위임된 EOA
주소
하나의 키에서 파생
새 컨트랙트 주소
기존 주소 유지
계정 코드
없음
smart contract account
컨트랙트 코드에 위임
프로토콜 변경
해당 없음
없음
있음, 2025년 5월 Pectra
전송 방식
일반 트랜잭션
bundler를 거치는 UserOperation
유형 0x04 트랜잭션 또는 eip7702Auth가 포함된 UserOperation
서명 규칙
ECDSA 키 하나
계정이 정의하는 모든 로직
위임 대상 컨트랙트가 정하며, EOA 키도 계속 사용 가능
가스 후원
불가
가능, paymaster 또는 후원 정책을 통해
가능, 릴레이어, bundler 또는 paymaster를 통해
EOA 키 필요 여부
필요
불필요
필요

두 표준은 직접 연결됩니다. ERC-4337 사양은 EIP-7702 승인을 지원합니다. UserOperation에 eip7702Auth 필드를 넣을 수 있고, bundler는 그 승인을 자신이 보내는 트랜잭션의 authorizationList에 추가합니다. EntryPoint v0.8은 위임도 UserOperation 해시에 포함합니다. 따라서 위임된 EOA도 다른 스마트 계정처럼 bundler와 paymaster를 사용할 수 있습니다.

사용자가 이미 유지하고 싶은 EOA 주소, 잔액, 이력을 가지고 있다면 EIP-7702를 선택하세요. 패스키 전용 계정처럼 계정이 하나의 ECDSA 키에 의존하지 않아야 하거나, 해당 체인에서 EIP-7702가 활성화되지 않았다면 독립형 ERC-4337 스마트 계정을 선택하세요.

모듈형 스마트 계정이란 무엇인가요?

모듈형 스마트 계정은 기능을 하나의 고정된 컨트랙트가 아니라 모듈로 나눕니다. 검증 모듈은 누가 서명할 수 있는지 결정합니다(예: 패스키나 세션 키). 실행 모듈은 새로운 동작을 추가합니다. 훅은 지출 한도 같은 검사를 추가합니다. 계정 주소를 바꾸지 않고 모듈을 추가하거나 제거할 수 있습니다.

모듈을 연결하는 방식을 정의하는 ERC 표준은 두 가지입니다. ERC-6900의 "Modular Smart Contract Accounts"와 ERC-7579의 "Minimal Modular Smart Accounts"입니다. 둘 다 ERC-4337 위에 구축됩니다. 당사의 Modular Account v2는 ERC-6900을 따릅니다.

계정 추상화로 무엇을 만들 수 있나요?

계정 추상화는 온체인 앱을 신규 사용자에게 어렵게 만드는 단계를 없애 줍니다.

  • 가스 없는 온보딩. 신규 사용자는 ETH 없이 시작하고, 앱이 첫 트랜잭션들을 후원합니다.
  • 스테이블코인 가스. 사용자가 이미 보유한 토큰으로 수수료를 지불합니다.
  • 원클릭 흐름. 승인과 스왑이 하나의 원자적 배치로 실행되므로, 실패하면 둘 다 되돌려집니다.
  • 게임과 에이전트. 세션 키를 사용하면 게임이나 AI 에이전트가 계정 전체에 접근하지 않고 설정한 한도 안에서 동작합니다.
  • 패스키 계정. 사용자는 기기 패스키로 로그인하며 시드 구문을 다룰 필요가 없습니다.
  • 복구. 계정에 가디언이나 다른 규칙을 추가해 접근 권한을 되찾을 수 있습니다.

Alchemy는 계정 추상화를 어떻게 지원하나요?

당사는 ERC-4337과 EIP-7702 모두를 위한 인프라를 운영하므로, 신규 스마트 계정과 기존 EOA를 위한 하나의 흐름을 출시할 수 있습니다.

Bundler

당사의 Bundler는 오픈소스 Rust bundler인 Rundler를 기반으로 한 호스팅 ERC-4337 Bundler API입니다. EntryPoint v0.6, v0.7, v0.8을 지원합니다. 필요한 체인은 체인별 기능 지원에서 확인하세요.

Gas Manager

Gas Manager를 사용하면 정책으로 정한 규칙에 따라 앱이 사용자의 가스를 대신 낼 수 있습니다. 헤더에 정책 ID를 전달하고 paymaster 필드는 추가하지 않는 Bundler Sponsored Operations를 통한 Gas Sponsorship을 권장합니다. ERC-20 가스 지불이 필요하거나 흐름에 paymaster가 필요하다면 Onchain Paymaster를 사용하세요. 요금제와 한도는 Gas Manager FAQ를 참고하세요.

Modular Account v2

Modular Account v2는 당사가 권장하는 스마트 계정입니다. ERC-6900을 따르고, ChainLight와 Quantstamp의 감사를 받았으며, 모듈을 통해 세션 키, 패스키, 허용 목록, 지출 한도, 만료 기능을 지원합니다.

Wallet APIs

Wallet APIs는 그 위에 놓이는 트랜잭션 계층입니다. 후원, 배치 처리, 재시도, 세션 키와 함께 스마트 계정에서 호출을 전송합니다. Privy, Turnkey 또는 viem 호환 서명자 등 원하는 서명자를 직접 가져올 수 있습니다.

EIP-7702 지원

Wallet APIs는 EIP-7702도 지원합니다. 새 EIP-7702 계정은 기본적으로 Modular Account v2에 위임되므로, EOA는 새 주소 없이도 같은 배치 처리, 후원, 세션 키를 사용할 수 있습니다.

구축할 준비가 되셨나요? Wallet APIs 문서로 시작하고, Gas Manager로 첫 트랜잭션을 후원하고, 당사의 Bundler로 UserOperation을 전송하세요.

이전 제안들은 어떻게 ERC-4337로 이어졌나요?

개발자들은 ERC-4337 훨씬 이전부터 계정 추상화를 만들려고 시도했습니다.

  • 2020년의 EIP-2938은 합의 계층에서의 계정 추상화를 제안했습니다. 이후 철회되었습니다.
  • 마찬가지로 2020년의 EIP-3074는 EOA가 컨트랙트에 제어권을 위임할 수 있도록 AUTH와 AUTHCALL 옵코드를 추가했습니다. EIP-7702로 대체되었습니다.
  • 2021년의 ERC-4337은 다른 길을 택했습니다. 모든 변경을 합의 계층 위에 두어 하드포크 없이 출시할 수 있었습니다.

이후 EIP-7702가 EOA 자체에 코드를 가져왔고, ERC-4337 사양도 이를 지원합니다. 나란히 비교하려면 EIP-3074 vs EIP-7702 vs ERC-4337을 참고하세요.

계정 추상화는 어떻게 시작하나요?

  1. 계정 유형을 선택합니다. 신규 사용자에게는 Modular Account v2 같은 ERC-4337 스마트 계정을, 기존 EOA에는 EIP-7702 위임을 사용하세요.
  2. 서명자를 선택합니다. 패스키, 임베디드 서명자, 기존 EOA 모두 사용할 수 있습니다.
  3. bundler를 통해 첫 UserOperation을 전송하고, 사용자가 가스를 건너뛰게 하려면 후원 정책을 연결합니다.
  4. 대상 체인이 필요한 기능을 지원하는지 기능 지원 표에서 확인합니다.

Wallet APIs 문서에서 각 단계를 코드와 함께 안내합니다. 직접 스마트 계정을 작성한다면, 대상으로 하는 EntryPoint 버전에 맞춰 validateUserOp를 구현하세요.

자주 묻는 질문

계정 추상화란 무엇인가요?

계정 추상화는 하나의 개인 키 대신 스마트 컨트랙트가 계정 역할을 하게 합니다. 계정의 코드가 누가 서명할 수 있는지, 누가 가스를 내는지, 무엇을 실행할 수 있는지 결정합니다. 이를 통해 가스 후원, 배치 처리, 패스키, 세션 키가 가능해집니다. 이더리움에서는 ERC-4337이 프로토콜 변경 없이 이를 구현하고, EIP-7702가 기존 EOA에 적용합니다.

ERC-4337이란 무엇인가요?

ERC-4337은 합의 계층 변경이 필요 없는 계정 추상화용 이더리움 표준입니다. 사용자는 UserOperation에 서명해 별도의 mempool로 보냅니다. bundler가 이를 EntryPoint 컨트랙트로 가는 하나의 트랜잭션으로 묶고, EntryPoint가 각 작업을 검증하고 실행합니다. paymaster는 사용자를 대신해 가스를 낼 수 있습니다.

ERC-4337에는 하드포크가 필요한가요?

아니요. ERC-4337은 기존 체인 위에서 스마트 컨트랙트와 오프체인 bundler 네트워크로 실행되므로, 이더리움과 EntryPoint가 배포된 모든 EVM 체인에서 작동합니다. EIP-7702는 다릅니다. 2025년 5월 7일 Pectra 업그레이드와 함께 적용된 프로토콜 변경입니다.

ERC-4337과 EIP-7702의 차이는 무엇인가요?

ERC-4337은 UserOperation과 bundler를 통해 스마트 계정을 자체 주소에서 실행합니다. EIP-7702는 기존 EOA가 그 자리에서 컨트랙트 코드에 위임할 수 있게 하므로 주소는 그대로 유지됩니다. 둘은 상호 보완적이며, ERC-4337 사양은 UserOperation 안의 EIP-7702 승인을 받아들입니다.

EIP-7702가 ERC-4337을 대체하나요?

아니요. EIP-7702는 EOA를 업그레이드하지만 mempool, bundler, paymaster를 제공하지는 않습니다. 이들은 여전히 ERC-4337 또는 릴레이어에서 옵니다. 위임된 EOA는 bundler를 통해 UserOperation을 보내고 paymaster를 사용할 수 있으며, 실제로 두 표준은 이렇게 결합됩니다.

UserOperation이란 무엇인가요?

UserOperation은 ERC-4337이 일반 트랜잭션 대신 사용하는 의사 트랜잭션입니다. 발신자, nonce, 호출 데이터, 가스 필드, 서명, 선택적인 paymaster 데이터를 담고 있습니다. bundler는 별도의 mempool에서 UserOperation을 수집해 EntryPoint 컨트랙트로 온체인에 제출합니다.

bundler와 paymaster가 필요한가요?

UserOperation을 보내려면 bundler가 필요합니다. 온체인에 제출할 수 있는 것은 bundler뿐이기 때문입니다. paymaster는 선택 사항입니다. 가스를 후원하거나 사용자가 ERC-20 토큰으로 지불하게 하려면 사용하세요. 없으면 스마트 계정이 EntryPoint에 있는 자체 예치금에서 가스를 냅니다.

어떤 EntryPoint 버전을 사용해야 하나요?

새 계정은 EntryPoint v0.7 또는 v0.8로 만드세요. v0.8은 네이티브 EIP-7702 지원을 추가합니다. 당사의 호스팅 Bundler API는 v0.6, v0.7, v0.8을 지원하며, Bundler FAQ에 따르면 v0.6은 중단이 예정되어 있습니다. 사용하는 체인에서 eth_supportedEntryPoints를 호출해 목록을 확인하세요.

Alchemy는 ERC-4337과 EIP-7702를 지원하나요?

예. 당사는 오픈소스 Rundler를 기반으로 한 호스팅 ERC-4337 Bundler API, 가스 후원을 위한 Gas Manager, 기본 스마트 계정으로 Modular Account v2를 제공하는 Wallet APIs를 운영합니다. Wallet APIs는 EIP-7702도 지원하므로 EOA가 Modular Account v2 코드에 위임할 수 있습니다.

계정 추상화는 얼마나 널리 사용되나요?

도입 현황은 빠르게 변하므로 고정된 숫자는 금방 낡습니다. 대신 실시간 출처를 확인하세요. BundleBear는 ERC-4337 UserOperation과 EIP-7702 승인을 포함해 체인 전반의 스마트 계정 활동을 추적하는 공개 대시보드이며, 지속적으로 업데이트됩니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.