핵심 요약
ERC-4337은 이더리움 프로토콜을 변경하지 않고 스마트 컨트랙트 지갑을 EOA처럼 사용할 수 있게 만드는 계정 추상화 표준입니다. 가스비 대납, 배치 트랜잭션, 소셜 복구 등 UX 혁신의 기반이 됩니다.
ERC-4337은 이더리움 프로토콜을 변경하지 않고 스마트 컨트랙트 지갑을 EOA처럼 사용할 수 있게 만드는 계정 추상화 표준입니다. 가스비 대납, 배치 트랜잭션, 소셜 복구 등 UX 혁신의 기반이 됩니다.
ERC-4337이 해결하는 문제
기존 이더리움의 EOA(Externally Owned Account)는 개인키로만 제어되어 키 분실 시 복구 불가, 가스비 ETH 보유 필수, 단일 서명만 지원하는 한계가 있었습니다. ERC-4337은 이를 스마트 컨트랙트 지갑(Smart Contract Wallet)으로 대체해 이런 제약을 모두 해소합니다.
핵심 컴포넌트 4가지
UserOperation — 사용자 의도를 담은 의사 트랜잭션 (off-chain mempool)
Bundler — UserOp 수집 후 handleOps() 온체인 제출 (off-chain 노드)
EntryPoint — 번들 검증·실행 싱글턴 컨트랙트 (on-chain)
Paymaster — 가스비 대납 / ERC-20 가스비 지불 처리 (on-chain)
Bundler — UserOp 수집 후 handleOps() 온체인 제출 (off-chain 노드)
EntryPoint — 번들 검증·실행 싱글턴 컨트랙트 (on-chain)
Paymaster — 가스비 대납 / ERC-20 가스비 지불 처리 (on-chain)
UserOperation 핵심 필드
sender // 스마트 지갑 주소
nonce // 재전송 방지
initCode // 지갑 미배포 시 생성 코드
callData // 실행할 함수 콜
callGasLimit / verificationGasLimit / preVerificationGas
maxFeePerGas / maxPriorityFeePerGas
paymasterAndData // Paymaster 주소 + 데이터
signature // 지갑별 커스텀 서명
nonce // 재전송 방지
initCode // 지갑 미배포 시 생성 코드
callData // 실행할 함수 콜
callGasLimit / verificationGasLimit / preVerificationGas
maxFeePerGas / maxPriorityFeePerGas
paymasterAndData // Paymaster 주소 + 데이터
signature // 지갑별 커스텀 서명
트랜잭션 처리 플로우
사용자 UserOp 서명 → alt mempool 전파
→ Bundler: 다수 UserOp 수집 → handleOps() 호출
→ EntryPoint: validateUserOp() (서명·논스·잔액)
→ EntryPoint: validatePaymasterUserOp()
→ EntryPoint: callData 실행 → postOp()
→ Bundler: 다수 UserOp 수집 → handleOps() 호출
→ EntryPoint: validateUserOp() (서명·논스·잔액)
→ EntryPoint: validatePaymasterUserOp()
→ EntryPoint: callData 실행 → postOp()
Paymaster 활용 패턴
주요 활용 사례
– 스폰서십: dApp이 가스비 전액 대납 (신규 사용자 온보딩)
– ERC-20: USDC·DAI 등으로 가스비 지불 (ETH 불필요)
– 구독형: 월정액 후 가스비 무료
– 허용목록: 특정 컨트랙트 호출만 대납
– 스폰서십: dApp이 가스비 전액 대납 (신규 사용자 온보딩)
– ERC-20: USDC·DAI 등으로 가스비 지불 (ETH 불필요)
– 구독형: 월정액 후 가스비 무료
– 허용목록: 특정 컨트랙트 호출만 대납
기존 방식 vs ERC-4337
| 항목 | 기존 | ERC-4337 |
|---|---|---|
| 프로토콜 변경 | 필요 | 불필요 |
| 가스비 대납 | 제한적 | Paymaster로 유연 |
| 배치/소셜복구 | 개별 구현 | 표준 인터페이스 |
주의사항
ERC-4337 지갑은 EOA 대비 가스비가 약 20~30% 추가됩니다. validateUserOp 오버헤드 때문입니다. v0.6과 v0.7의 EntryPoint 주소가 다르므로 SDK와 EntryPoint 버전을 반드시 일치시켜야 합니다.
ERC-4337 지갑은 EOA 대비 가스비가 약 20~30% 추가됩니다. validateUserOp 오버헤드 때문입니다. v0.6과 v0.7의 EntryPoint 주소가 다르므로 SDK와 EntryPoint 버전을 반드시 일치시켜야 합니다.