
EIP4337: 이더리움 계정 추상화의 미래
우리가 처음 탈중앙화 금융 거래에 뛰어들 때 가장 먼저 필요한 것은 지갑입니다. 그러나 블록체인 지갑 도구를 사용하는 과정에서 대부분의 사람들은 우리가 익숙한 사용자 경험과는 다른 점을 느낄 수 있습니다—블록체인 지갑은 디지털 자산의 완전한 자체 관리를 가능하게 하지만, 계정 보안 측면에서는 한계가 있습니다(예: 이더리움 시스템의 외부 소유 계정 EOA 'Externally Owned Accounts'와 컨트랙트 계정 CA 'Contract Account').

EOA와 CA 계정이 실행될 때 외부 계정의 모든 체인 상 거래는 EOA 서명으로 시작되어야 하며, 사용자는 한 쌍의 키로 하나의 EOA 지갑을 소유하게 되고, 이 키를 signer라고 부릅니다. 지갑 주소의 공개키 속성 때문에 EOA 지갑은 계정이자 동시에 signer 역할을 하게 되며, 이는 심각한 자산 보안 문제를 초래합니다. 즉, signer는 계정에 대해 완전한 통제권을 가지므로, 만약 어느 날 자신의 계정을 잃어버렸고, 운 나쁘게도 누군가 그 signer를 찾았다면, 그 사람은 본인의 계정과 모든 디지털 자산을 마음대로 사용할 수 있게 됩니다.

이더리움에서 일반적인 블록체인 자체 관리 지갑 EOA & CA 비교
이에 따라 많은 개발자들이 EOA 및 CA 계정 기반의 다양한 기술 최적화 방안을 모색해왔습니다. 자산 이전, 컨트랙트 비밀 제어, 사용자 조작 등 여러 구성 요소를 추가하며 사용자 자산 유실을 막기 위해 고심했지만 여전히 여러 결함이 존재하여 논란의 대상이 되었습니다. 유명 NFT 프로젝트인 Bored Ape Yacht Club도 수백 개의 NFT가 도난당한 사건이 발생해, 이더리움 사용자의 원래 좋지 않은 지갑 사용 경험에 ‘눈에 불을 넣은 듯’ 더 큰 부담을 안겼습니다. 따라서 우리는 두 계정의 장점을 통합하면서 각각의 단점을 극복하는 계정 추상화(Account Abstraction) 방안을 탐색하고자 하며, 이것이 웹3 시대의 지갑 도구에 어떤 성공적인 모델을 제공할 수 있는지 살펴보겠습니다.
계정 추상화: 완전 자동 일체형 결제
기존 계정 체계는 사용자가 개인키/시드 문구를 안전하게 저장하고 보호해야 하며, 그렇지 않으면 디지털 자산을 잃어버릴 위험이 있습니다. 동시에 보안 문제는 암호화 디지털 거래에 참여하려는 많은 사용자들을 주저하게 만들며, 블록체인 애플리케이션의 사용 기능까지 제한하기도 합니다. 그렇다면 계정 지갑 보안 문제를 해결할 방법은 무엇일까요? 바로 계정 추상화(Account Abstraction)입니다. 이는 자동화 가능한 프로그래밍 결제를 탐색하고, 자동으로 자금을 인출할 수 있도록 지원하는 자체 관리형 지갑용 스마트 컨트랙트를 작성하는 것입니다.

계정 추상화는 사용자가 계정을 간편하게 사용할 수 있는 능력을 제공합니다. 마치 웹메일 계정을 개설할 때 작동 원리를 모두 알 필요 없이 사용법만 익히면 되는 것처럼 말입니다. 계정 추상화를 통해 우리는 시드 문구나 개인키 같은 제약에서 벗어날 수 있으며, 다양한 서명 옵션을 활성화할 수 있고, 가스비는 DApp이 후원하거나 토큰으로 지불하는 등의 방식으로 처리할 수 있습니다.
계정 추상화의 가장 큰 목표는 signer와 계정 간의 강결합 관계를 해제하여, signer가 지갑 자산에 대한 절대적인 통제권을 갖지 못하게 하는 것입니다. 간단히 말해, 계정 추상화는 거래 검증과 실행을 하나의 일체화된 과정으로 바꾸고, 이를 사용자의 요구에 따라 조정 가능한 모듈화된 구성요소로 전환하며, EOA와 CA를 하나로 통합하는 것을 의미합니다.
EIP 4337을 활용한 계정 추상화의 실현
목표를 명확히 한 후, 비탈릭(Vitalik)과 이더리움 핵심 개발팀은 계속해서 "계정 추상화" 솔루션을 초안으로 작성해 왔습니다. 초기의 EIP 86부터 오늘날의 EIP 4337에 이르기까지, 거래 권한이 더욱 사용자에게 돌아갔으며, 보안 위험은 크게 줄어들었고, 차세대 지갑 도구가 눈앞에 다가왔습니다.
발전 역사

EIP-86: 스마트 컨트랙트를 '포워딩 컨트랙트'로 도입하여, 누구나 입구 주소를 통해 거래를 보낼 수 있음.
EIP-1014: 컨트랙트 배포 주소를 예측하고, 스마트 컨트랙트 지갑의 기능을 발휘하여 모든 EVM 체인에서 동일한 컨트랙트 주소를 보장함.
EIP-2938: 새로운 암호 연산을 만들어 '계정 추상화' 거래를 수행하려 했으나, 프로토콜 변경 폭이 너무 커 이후 폐기됨.
EIP-3074: 두 개의 새로운 오퍼코드를 도입하여 스마트 컨트랙트가 EOA를 대신해 거래를 전송할 수 있게 했으나, 보안 리스크로 인해 시행되지 못함.
이더리움 머지(Merge) 로드맵 완료 후, 더 많은 개발자들이 계정 추상화 솔루션의 수정 및 제정에 참여하게 되었습니다. 2021년 9월, Nethermind와 Opengsn 연구진은 비탈릭의 도움을 받아 EIP 4337을 제안했습니다. 이 버전의 가장 큰 특징은 기존의 합의층 프로토콜을 전혀 변경하지 않고도 이더리움에 '계정 추상화'를 가져온다는 점입니다.
동작 원리
EIP 4337은 합의층 자체의 논리를 변경하지 않고, 현재의 트랜잭션 메모리풀(tx mempool) 기능을 더 높은 수준의 시스템으로 복사하는 방식을 취합니다. 이 제안은 혁신적으로 'User Operations(사용자 작업)' 개념을 도입하여, 사용자 정의 기능을 스마트 컨트랙트 지갑에 코딩할 수 있도록 합니다. 사용자 작업은 의도, 서명, 기타 데이터를 패키징하여 검증할 수 있습니다. EIP 4337의 작동 흐름은 다음과 같은 세 단계를 포함합니다:
-
User Operations: '사용자 작업'을 시작하고, 사용자 정의 메모리풀을 통해 전송함.
-
Bundler 패키징: Bundler는 수수료 우선순위에 따라 UserOperation 객체를 선택하고, 번들러를 이용해 EntryPoint 컨트랙트를 호출하여 검증함.
-
거래 실행: 위 과정에서 오류가 발생하지 않는다면, 해당 거래는 다음 블록에 포함되어 실행됩니다.

EIP 4337 제안의 설계 아이디어에서, EntryPoint은 계정 검증 기능을 수행하여 사전에 지정된 규칙을 따르고 실행되도록 보장합니다. Bundler는 EOA 주소로서 모든 거래를 체인에 제출하며, Paymaster 확장 스마트 컨트랙트를 추가하여 보조 기능을 구현할 수도 있습니다. 이전 버전의 솔루션들과 비교했을 때, EIP 4337은 보안 리스크를 더욱 줄이면서도 거래 실행의 질서와 안정성을 보장하며, 합의층 내용을 변경하지 않아 개발자와 사용자 모두에게 편의성과 효율성을 제공합니다.
EIP 4337의 우수한 성능 분석

보안 성능
EIP 4337 적용의 최우선 보장 요소는 뛰어난 보안 성능입니다. 사용자 정의 서명 방식의 운영 메커니즘을 통해 이더리움 상에서 다중 서명자를 원생적으로 지원할 수 있으며, 두 명 이상의 사용자가 함께 거래를 승인하도록 할 수 있어 보안성이 향상됩니다. 만약 사용자가 어쩌다 개인키나 계정을 잃어버린 경우, 친구나 가족에게 연락해 계정을 복구하면 됩니다. 이러한 점에서 EIP 4337의 보안 성능은 이전 초안들에 비해 질적인 도약을 이루었습니다.
운영 자유도
EIP 4337은 검증과 거래 과정을 두 개의 스마트 컨트랙트로 분리하지만, 지갑 컨트랙트가 거래를 성공적으로 검증하면 엔트리포인트 컨트랙트가 자동으로 다음 단계를 실행하고 해당 블록에 제출합니다. 개발자와 사용자는 다중 서명, 소셜 복구, 양자 저항 서명 방식 등을 지갑 컨트랙트에 자유롭게 사용자 정의 기능으로 포함시킬 수 있으므로, 기존 EOA가 ECDSA 암호화 방식에만 국한되는 한계를 극복할 수 있습니다.
아키텍처 호환성
사용자 정의 기능을 자유롭게 포함하는 동시에, 추가적인 동작 요구를 충족시키기 위해서는 멀티스레드 아키텍처의 호환이 필수적입니다. 이에 대해 EIP 4337은 추상 계정 전용 User Operations('사용자 작업')을 도입하였으며, User Operations용 Mempool이나 Entry Point 스마트 컨트랙트를 전달하는 Bundler 모두 동시에 작동할 수 있어, 높은 에너지 소비나 높은 수수료 같은 낭비를 발생시키지 않습니다. 합의층 변경이나 네트워크 하드포크 경쟁 현상이 발생하더라도, 새로운 Mempool 추가는 이더리움 노드 클라이언트만 업데이트하면 됩니다.
수수료 보조
번들러(Bundler)는 EIP 4337 작동 흐름의 핵심 노드일 뿐 아니라 '비용 절감의 든든한 조력자'이기도 합니다. 여러 거래와 작업을 하나로 묶으면, 토큰 지출 승인과 거래를 단일 실행 노드로 처리할 수 있어 다중 스레드 거래의 반복 비용을 제거할 수 있습니다. 또한, Paymaster 기능을 통해 제3자가 특정 User Operations의 거래 수수료를 지불할 수 있어, 사용자에게 가스비 보조 혜택을 제공할 수 있습니다. 사용자와 지불자의 계정 잔액은 실행 순환 과정에서 지속적으로 업데이트되며, 진정한 의미의 '한 번의 요금 납부, 다중 프로세스 운영'이 현실화됩니다.
난관 극복, EIP 4337이 차세대 지갑을 성공적으로 구축하도록 하자
이더리움 머지 로드맵의 혜택을 활용함으로써, EIP 4337은 계정 추상화 가능성의 '잠재력 있는 강자'로 떠올랐습니다. 우리는 EIP 4337이 기존의 불편했던 블록체인 계정 경험을 변화시키고, 웹3 애플리케이션이 사용자 스스로 자산을 보관할 수 있도록 만드는 주요 수단이 되었으며, 더 많은 프로젝트가 이를 대규모로 채택할 기회를 제공하고 있음을 확인할 수 있습니다. 이는 단순히 스마트 컨트랙트 지갑 열풍의 중심일 뿐 아니라, 인터넷 시대의 블록체인 기술에서 중요한 혁신이기도 합니다.
그러나 EIP 4337은 많은 장점을 지녔지만, 여전히 자체적인 단점을 극복하고 새로운 활력을 불어넣어야 합니다. 예를 들어, 실행 과정에서 증가한 DoS 취약점은 단일 ECDSA 검증보다 더 복잡한 논리를 요구하며, 계정은 여러 거래를 Mempool에 큐로 대기시킬 수 없고 한 번에 하나의 거래만 가능합니다. 가스비 보조에도 불구하고, 자체 실행 시의 가스비가 결코 낮지 않습니다... 이러한 개선이 시급한 핵심 요소들은 더 많은 개발자들이 깊이 생각하고 해결책을 찾아야 할 부분이며, 오직 초안의 세부사항을 지속적으로 최적화하고 기술 방안을 정교하게 다듬는 것만이 EIP 4337을 계정 추상화 실현의 최고 선택지로 만들 수 있습니다.
2023년 이더리움 개발자 커뮤니티가 EIP 4337에 더 많은 혁신을 가져와 차세대 지갑을 만들어, 사용자에게 더욱 편리하고 안전한 결제 도구를 제공하기를 기대합니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News












