요약: 계정 추상화(Account abstraction)는 경직된 단일 키 계정 모델을, 사용자 정의 검증 로직을 지원하는 프로그래밍 가능한 스마트 계약 지갑으로 대체하는 블록체인 업그레이드입니다. 기존의 외부 소유 계정(EOA)은 단일 개인 키로 제어됩니다. 이 키를 잃어버리면 모든 것을 잃게 되고, 노출되면 모든 자산이 도난당할 수 있습니다. 계정 추상화를 통해 스마트 계약이 사용자 계정 역할을 수행하게 되어, 소셜 복구(친구가 계정 접근 권한을 되찾는 데 도움을 줄 수 있음), 다중 서명 승인, 일괄 거래, 가스 비용 대납(다른 사람이 수수료를 대신 지불), 세션 키(특정 작업에 대한 제한된 권한을 가진 키), 지출 한도 등의 기능을 사용할 수 있습니다. ERC-4337 표준은 핵심 프로토콜을 변경할 필요 없이 이더리움( Ethereum ) 및 EVM 호환 체인에서 이러한 스마트 계약 지갑이 작동하는 방식을 정의합니다.
간단한 설명
오늘날 블록체인을 사용하는 것은 복구 옵션이 전혀 없는, 단 하나의 비밀번호만이 유일한 보안 수단인 은행 계좌를 가지고 있는 것과 같습니다. 비밀번호를 잊어버리면 돈은 영원히 사라집니다. 누군가 비밀번호를 알아내면 모든 것을 가져가 버립니다. ‘비밀번호 찾기’ 버튼도, 고객 지원도, 2단계 인증도, 지출 한도도 없습니다. 모든 거래는 단 하나의 암호화 키로 승인되며, 이것이 바로 보안 모델의 전부입니다.
계정 추상화(Account Abstraction)는 계정을 프로그래밍 가능하게 만들어 이러한 상황을 변화시킵니다. 단일 키가 모든 것을 제어하는 대신, 스마트 계약이 계정을 제어하며 개발자가 원하는 어떤 보안 및 인증 로직이든 구현할 수 있습니다. 거래를 승인하기 위해 세 개의 키 중 두 개가 필요하도록 설정하고 싶으신가요? 가능합니다. 키를 분실했을 때 신뢰할 수 있는 친구들이 투표하여 계정을 복구할 수 있도록 하고 싶으신가요? 가능합니다. 별도의 승인 없이 소액 거래만 허용하는 일일 지출 한도를 설정하고 싶으신가요? 가능합니다. 매번 다시 허가를 요청하지 않고도 1시간 동안 게임이 사용자를 대신해 거래를 승인하도록 하고 싶으신가요? 가능합니다.
이름에 포함된 “추상화(abstraction)”는 계정이라는 개념을 특정 인증 메커니즘과 분리하는 것을 의미합니다. 현재 “계정”과 “개인 키”는 떼려야 뗄 수 없는 관계입니다. 계정 추상화를 적용하면 계정은 스마트 계약이 되며, 인증 로직은 계약 개발자가 구현하는 대로 결정됩니다.
Ethereum (그리고 대부분의 EVM 호환 체인)에는 두 가지 유형의 계정이 있습니다. 외부 소유 계정(EOA)은 개인 키로 관리되며, 대부분의 사용자가 MetaMask, Phantom 또는 기타 표준 지갑을 통해 상호작용하는 계정입니다. 계약 계정은 코드를 보유하는 스마트 계약으로, EOA나 다른 계약에서 발송된 트랜잭션에 의해서만 실행될 수 있습니다.
EOA에는 주소 추상화와 관련된 몇 가지 근본적인 한계가 있습니다. 키 복구 기능이 없습니다. 개인 키나 시드 문구를 분실할 경우, 프로토콜 내에 복구 메커니즘이 마련되어 있지 않습니다. 이 경우 자금은 영구적으로 잠기게 됩니다. 사용자가 블록체인과 상호작용할 때마다 가스 비용을 지불하기 위해 네이티브 토큰( Ethereum 의 경우 ETH)을 보유해야 하는데, 이는 단순히 dapp을 사용해 보고 싶지만 아직 암호화폐를 소유하지 않은 신규 사용자에게 끔찍한 온보딩 경험을 안겨줍니다.
모든 거래에는 수동 승인이 필요합니다. DApp에 제한된 권한을 위임할 방법이 없습니다. 블록체인 게임을 플레이할 경우, 게임 내 모든 행동을 일일이 승인해야 하므로 사용자에게 불편한 경험을 안겨줍니다. 거래는 기본적으로 일괄 처리할 수 없습니다. 토큰을 승인한 후 스왑하려면 두 건의 별도 거래가 필요하며, 이에 따라 두 번의 별도 서명과 두 번의 별도 가스 비용이 발생합니다.
이러한 한계점들은 블록체인 애플리케이션이 기존 소프트웨어에 비해 사용이 불편하게 느껴지는 주된 이유 중 하나입니다. 계정 추상화를 통해 이러한 문제점들을 해소할 수 있습니다.
ERC-4337의 작동 원리
ERC-4337은 하드 포크나 프로토콜 수준의 변경 없이도 Ethereum 및 EVM 체인에 계정 추상화 기능을 도입하는 표준입니다. 이 표준은 기존 트랜잭션 파이프라인과 병행하여 작동하는 병렬 트랜잭션 파이프라인을 도입합니다.
스마트 계약 지갑은 사용자의 계정입니다. EOA 대신, 사용자의 자금과 자산은 자체 검증 로직을 정의하는 스마트 계약에 의해 관리됩니다. 이 계약은 단일 서명, 다중 서명, 신뢰할 수 있는 엔클레이브에서 통과된 생체 인증, 또는 개발자가 프로그래밍한 그 밖의 모든 조건을 요구할 수 있습니다.
사용자 작업(UserOps)은 기존의 트랜잭션을 대체합니다. 사용자는 트랜잭션에 직접 서명하는 대신, 수행하고자 하는 작업을 설명하는 데이터 구조인 UserOp에 서명합니다. UserOp는 표준 트랜잭션 멥풀이 아닌 별도의 멥풀(UserOp 멥풀)로 전송됩니다.
번들러는 UserOp 밈풀에서 UserOps를 수집하여 단일 표준 Ethereum 트랜잭션으로 묶은 뒤, 해당 트랜잭션을 네트워크에 제출하는 노드입니다. 번들러는 번들 트랜잭션에 대한 가스 비용을 지불하며, 실행 과정에서 스마트 계약 지갑(또는 해당 지갑의 지불 담당자)으로부터 해당 비용을 환급받습니다. 번들러는 MEV 공급망 내의 블록 빌더와 유사합니다. 즉, 사용자의 의도를 집계하여 체인에 효율적으로 제출하는 역할을 합니다.
EntryPoint 계약은 모든 EVM 체인에 배포된 싱글톤 스마트 계약으로, UserOps의 실행을 조정합니다. 번들러가 번들을 제출하면, EntryPoint 계약은 대상 스마트 계약 지갑의 검증 함수를 호출하여 각 UserOp를 처리하고, 지갑이 해당 작업을 승인하는지 확인한 후, 작업을 실행하며, 가스 비용 환급을 처리합니다.
페이마스터(Paymaster)는 UserOps의 가스 비용을 대납할 수 있는 선택적 스마트 계약입니다. DApp 개발자는 사용자를 대신해 가스 비용을 지불하는 페이마스터를 배포함으로써, 사용자가 ETH를 보유할 필요성을 없앨 수 있습니다. 이는 신규 사용자 유치에 획기적인 변화를 가져옵니다. DApp이 거래 비용을 부담하기 때문에, 신규 사용자는 암호화폐를 구매하지 않고도 DApp을 이용할 수 있습니다.
계정 추상화가 가능하게 하는 것
소셜 복구 기능을 통해 사용자는 자신이 지갑에 접근할 수 없게 된 경우, 키 변경을 공동으로 승인할 수 있는 “보호자”(신뢰할 수 있는 친구, 가족 또는 기관)를 지정할 수 있습니다. 지갑의 스마트 계약은 서명 키를 새로운 키로 교체하기 위해 일정 비율(예: 5명 중 3명)의 보호자 승인을 요구합니다. 이를 통해 시드 문구를 단 한 번만 분실해도 발생할 수 있는 치명적인 위험을 방지할 수 있습니다.
세션 키를 사용하면 사용자가 애플리케이션에 일시적이고 권한이 제한된 키를 부여할 수 있습니다. 블록체인 게임에서 모든 거래를 일일이 승인하는 대신, 세션 키를 생성하여 게임이 정해진 기간(1시간, 1회 게임 세션) 동안 특정 제약 조건(게임 계약에 대한 호출만 허용, 최대 지출 한도 0.1 ETH) 하에 사용자를 대신해 거래를 제출할 수 있도록 할 수 있습니다. 세션이 만료되면 해당 키는 더 이상 사용할 수 없게 됩니다.
트랜잭션 일괄 처리를 통해 사용자는 단일 작업으로 여러 가지 작업을 승인할 수 있습니다. 대표적인 예로 ERC-20 승인 및 스왑 flow 이 있는데, 현재는 이를 수행하기 위해 두 건의 별도 트랜잭션이 필요합니다. 계정 추상화를 활용하면 스마트 계약 지갑이 이 두 가지 작업을 단일 UserOp로 일괄 처리할 수 있습니다. 즉, 토큰 승인과 스왑을 원자적으로 동시에 실행함으로써 가스 비용을 절감하고 사용 편의성을 높일 수 있습니다.
페이마스터를 통한 가스 비용 대납 기능을 통해 애플리케이션은 사용자를 대신해 가스 비용을 지불하거나, ETH 이외의 토큰으로 가스 비용 결제를 받을 수 있습니다. 스테이블코인 애플리케이션은 사용자가 USDC로 가스 비용을 지불할 수 있도록 할 수 있습니다. 게임 플랫폼은 사용자 확보 비용의 일환으로 가스 비용을 전액 부담할 수도 있습니다. 이는 블록체인의 대중적 채택을 가로막는 가장 큰 장벽 중 하나를 제거해 줍니다.
다중 서명 및 사용자 지정 승인 기능을 통해 지갑은 고액 거래 시 여러 차례의 승인을 요구하거나, 일정 한도를 초과할 경우 추가 보안 검사를 실행하는 지출 한도를 설정하거나, 다양한 인증 요소(서명, 생체 인식, 하드웨어 토큰, 시간 잠금)를 자유롭게 조합하여 사용할 수 있습니다.
현재 구현 사례
여러 지갑 제공업체들이 ERC-4337 표준을 기반으로 서비스를 구축했습니다. Safe(구 Gnosis Safe)는 가장 널리 사용되는 스마트 계약 지갑으로, 1,000억 달러 이상의 자산을 안전하게 관리하고 있습니다. 원래 다중 서명(multi-sig) 재무 관리를 위해 설계된 Safe는 이제 ERC-4337 UserOp flow 의 전체 기능을 지원하도록 확장되었습니다. Coinbase Smart Wallet은 계정 추상화(account abstraction)를 활용하여 패스키 기반 인증 및 가스 비용 대납 기능을 통해 간소화된 가입 경험을 제공합니다. Argent는 소셜 복구, 일일 지출 한도, 가디언 기반 보안 기능을 갖춘 계정 추상화 지갑을 구축했습니다. Sequence는 게임에 중점을 둔 계정 추상화 지갑을 제공하며, 게임 내 거래를 위해 설계된 세션 키와 가스 비용 대납 기능을 갖추고 있습니다.
Quicknode 가 계정 추상화를 지원하는 방식
계정 추상화 지갑을 구축하고 운영하려면 견고한 블록체인 인프라가 필요합니다. Quicknode 의 Core API는 번들러, 페이마스터 및 스마트 계약 지갑이 EVM 체인 전반에 걸쳐 UserOps를 제출하고 모니터링하는 데 필요한 RPC 액세스를 제공합니다. 저지연 엔드포인트를 통해 UserOps가 신속하게 처리되고, 지갑 애플리케이션이 최신 상태를 표시할 수 있습니다. Quicknode 의 마켓플레이스에는 AA 지갑 개발을 간소화하는 번들러 및 페이마스터 통합 기능이 포함되어 있습니다. 맞춤형 AA 인프라를 구축하는 팀을 위해, Quicknode 의 Streams 는 UserOp 실행, EntryPoint 이벤트 및 지갑 상태 변화를 실시간으로 모니터링할 수 있게 해줍니다.
EOA와 스마트 계약 계정의 차이점은 무엇인가요?
계정 추상화를 통해 암호화폐 지갑은 단일 키를 사용하는 외부 소유 계정(EOA)에서 프로그래밍 가능한 스마트 계약 계정으로 전환됩니다. 아래 표에는 어떤 변화가 있는지 나와 있습니다.
차원
외부 소유 계정(EOA)
스마트 계약 계정
관리:
하나의 개인 키
프로그래밍 가능한 계약 로직
회복
없음. 열쇠를 잃어버리면 자금은 사라집니다.
사회 복귀 및 후견인 지정 가능
가스
사용자는 해당 토큰을 보유해야 합니다.
급여 담당자가 후원하거나 다른 토큰으로 지급될 수 있습니다
배치 처리
거래당 하나의 작업
단일 UserOp 내의 여러 작업
권한
전부 아니면 전무
세션 키, 지출 한도, 다중 서명
예시
MetaMask, 가장 일반적인 지갑들
Safe, 코인베이스 스마트 지갑, 아르젠트
현재 Ethereum 에서 계정 추상화 기능을 이용할 수 있나요?
네. ERC-4337은 2023년 3월 Ethereum mainnet 에서 하드 포크 없이 출시되었습니다. 이는 전적으로 스마트 계약과 번들러가 처리하는 별도의 UserOp 멥풀을 통해 작동하기 때문입니다. 최근에는 EIP-7702를 통해 기존 EOA가 일시적으로 스마트 계정 기능을 갖출 수 있게 되어, 사용자들이 이미 사용하고 있는 지갑에 계정 추상화의 이점을 제공하게 되었습니다. 번들러는 MEV 공급망 내의 블록 빌더와 매우 유사하게 작동하며, 제출 전에 사용자의 의도를 집계합니다.
자주 묻는 질문
계좌 추상화란 간단히 말해 무엇인가요?
계정 추상화를 통해 블록체인 계정을 프로그래밍 가능하게 만듭니다. 단일 개인 키가 모든 것을 제어하는 대신, 스마트 계약이 계정을 제어하며 복구, 지출 한도, 일괄 처리, 스폰서 가스 등의 기능을 추가할 수 있습니다.
ERC-4337이란 무엇인가요?
ERC-4337은 핵심 프로토콜을 변경하지 않고도 계정 추상화를 가능하게 하는 이더리움 계정 추상화( Ethereum ) 표준입니다. 이 표준은 UserOps, 번들러, 싱글톤 EntryPoint 계약, 그리고 선택적 페이마스터를 도입하며, 이들 모두는 표준 RPC 엔드포인트를 통해 실행됩니다.
급여 담당자란 무엇인가요?
페이마스터는 사용자의 가스비를 대납하거나, 사용자가 네이티브 코인이 아닌 다른 토큰으로 가스비를 지불할 수 있도록 해주는 선택적 스마트 계약입니다. 이를 통해 신규 사용자는 ETH를 미리 구매하지 않고도 dapp과 상호작용할 수 있습니다.
키를 분실했을 경우, 계정 추상화 지갑을 복구할 수 있나요?
대개 그렇습니다. 스마트 계약 지갑은 ‘사회적 복구’ 기능을 구현할 수 있는데, 이 기능을 통해 지정된 관리자가 키 변경을 승인함으로써 기존 지갑을 괴롭혀 온 ‘단일 시드 문구’의 취약점을 해소할 수 있습니다. 자세한 내용은 키 관리 방식에서 확인해 보세요.
계정 추상화 지갑을 사용하려면 ETH가 필요한가요?
꼭 그렇지는 않습니다. 해당 애플리케이션이 페이마스터를 배포하고 있다면, 가스 비용을 대신 부담해 주거나 스테이블코인으로 결제할 수 있게 해주므로, 해당 체인의 기본 토큰을 보유하지 않아도 거래를 진행할 수 있습니다.