ERC-4337: 계정 추상화를 통한 이더리움 혁신
안녕하세요, 블록체인 블로그에 다시 오신 것을 환영합니다! 오늘은 ERC-4337이라는 흥미로운 새로운 제안에 대해 살펴보겠습니다. 이 제안은 합의 계층 프로토콜 변경 없이 이더리움에 계정 추상화를 도입합니다. 대신, 상위 레이어 인프라를 활용해 목표를 달성합니다. ERC-4337이 제공하는 내용과 현재 이더리움 생태계의 한계를 어떻게 해결하는지 알아보겠습니다.
ERC-4337이란?
ERC-4337은 별도의 mempool과 UserOperation이라는 새로운 유형의 의사‑트랜잭션 객체를 사용하여 이더리움에 계정 추상화를 도입하는 제안입니다. 사용자는 UserOperation 객체를 대체 mempool에 전송하고, 번들러(bundler)라 불리는 특수한 행위자가 이를 트랜잭션으로 패키징하여 전용 계약에 handleOps 호출을 수행합니다. 이러한 트랜잭션은 블록에 포함됩니다.
이 제안은 다음과 같은 목표를 가지고 있습니다:
- 사용자가 임의의 검증 로직을 가진 스마트 계약 월렛을 기본 계정으로 사용할 수 있도록 합니다.
- 외부 소유 계정(EOA)이 필요 없도록 완전히 제거합니다.
- 어떤 번들러든 계정 추상화된 사용자 작업을 포함하는 과정에 참여할 수 있게 하여 탈중앙화를 보장합니다.
- 모든 활동이 공개 mempool을 통해 이루어지도록 하여 사용자가 특정 행위자의 직접 통신 주소를 알 필요가 없게 합니다.
- 번들러에 대한 신뢰 가정을 피합니다.
- 더 빠른 채택을 위해 이더리움 합의 변경을 요구하지 않습니다.
- 프라이버시 보호 애플리케이션, 원자성 다중 작업, ERC-20 토큰으로 거래 수수료 지불, 개발자 지원 거래 등 다양한 사용 사례를 지원합니다.
하위 호환성
ERC-4337은 합의 계층을 변경하지 않기 때문에 이더리움에 직접적인 하위 호환성 문제가 없습니다. 그러나 ERC-4337 이전에 존재하던 계정은 필요한 validateUserOp 함수가 없기 때문에 새로운 시스템과 바로 호환되지 않습니다. 이를 해결하려면 검증 로직을 래퍼 형태로 재구현하고 원래 계정의 신뢰할 수 있는 op 제출자로 설정하는 ERC-4337 호환 계정을 생성하면 됩니다.
레퍼런스 구현
ERC-4337의 기술적 세부 사항을 더 깊이 탐구하고 싶은 분들을 위해 레퍼런스 구현이 https://github.com/eth-infinitism/account-abstraction/tree/main/contracts 에 제공됩니다.