2026년 4월 기준, BundleBear에 따르면 Ethereum과 주요 L2에서 ERC-4337 UserOperation이 1.07 billion건을 넘었고, 스마트 계정 5,670만 개가 한 번 이상 거래에 사용되었습니다. 이제는 더 이상 틈새 기술이 아닙니다. Ethereum이 2015년에 도입한 단일 키 기반 secp256k1 전용 외부 소유 계정(EOA)은 대규모로 우회되고 있으며, 온체인 수치는 조용히 진행되어 온 프로토콜 수준의 변화를 따라잡고 있습니다. 이제 계정 자체를 프로그래밍할 수 있습니다.
이 글은 스마트 계정을 다루는 5부작 시리즈의 첫 번째 편입니다. 여기서는 핵심에 집중해 EOA와 스마트 계정이 실제로 무엇인지, 그리고 ‘스마트 계정과 EOA 중 무엇을 선택할지’가 더 이상 UX 선호의 문제가 아니라 셀프 커스터디가 어떤 방식으로 보장되는지에 관한 구조적 선택인 이유를 설명합니다.
프로토콜 관점에서 본 EOA의 실체
Ethereum의 옐로 페이퍼는 외부 소유 계정과 컨트랙트 계정, 두 가지 계정 유형을 정의합니다. 상태 수준에서 이 둘의 유일한 차이는 codeHash 필드입니다. EOA의 경우 codeHash는 빈 문자열의 해시입니다. 컨트랙트 계정의 경우 이 값은 실행 가능한 EVM 바이트코드를 가리킵니다. 프로토콜 계층에서의 차이는 이것뿐입니다.
따라서 EOA는 어떤 의미에서도 ‘지갑’이 아닙니다. keccak256(public key)의 마지막 20바이트에서 파생되고 키 쌍이 secp256k1 곡선으로 고정된 주소입니다. MetaMask, Ledger, Zelcore는 키를 보관하는 사용자 인터페이스일 뿐 계정 자체가 아닙니다. 이 작동 원리를 처음 접한다면 공개 키와 개인 키, 그리고 주소가 만들어지는 과정에 관한 입문서에서 전체 과정을 확인할 수 있습니다.
2023년 ERC-4337이 출시되기 전까지 Ethereum의 모든 거래는 EOA에서 시작해야 했고, 프로토콜이 적용하는 검증 규칙은 하나뿐이었습니다. 거래 해시에 대한 유효한 secp256k1 서명이어야 했습니다. 잔액을 보유하고, 거래마다 ECDSA 서명 하나를 하고, 같은 계정에서 ETH로 가스비를 내야 했습니다. 이것이 EOA가 할 수 있는 전부입니다. 그 밖에 할 수 있는 일은 없습니다.
사용자에게 중요한 구조적 한계
이것은 사소한 UX 불편이 아닙니다. 2026년에도 계속 발생하는 셀프 커스터디 자산 손실의 대부분을 초래하는 구조적 원인입니다.
- 단일 실패 지점. 개인 키 하나가 모든 것을 제어합니다. 키를 잃으면 계정도 잃습니다. 키가 유출되면 자금도 되돌릴 수 없이 잃습니다. 프로토콜에는 복구 기능이 없습니다. 이것이 바로 단일 시드 구문이 셀프 커스터디에서 가장 큰 실패 지점인 이유입니다.
- 단일 곡선. secp256k1이 하드코딩되어 있습니다. 패스키(P-256), Ed25519 키, BLS 또는 양자 내성 방식을 사용할 수 없습니다.
- 기본 멀티시그 미지원. Ethereum에서 최초의 Gnosis Multisig부터 Safe까지 모든 ‘멀티시그’는 EOA가 호출하는 컨트랙트입니다. EOA 자체는 두 개의 서명을 요구할 수 없습니다.
- 일괄 처리 미지원. EOA는 거래 하나당 작업 하나만 수행합니다. 토큰을 승인한 다음 스왑하려면 서명 거래 두 건, 확인 두 번, 가스비 두 번이 필요합니다.
- 지출 정책 미지원. 프로토콜에는 ‘이 키는 하루에 최대 $500까지 지출할 수 있다’ 또는 ‘이 키는 Uniswap만 호출할 수 있다’는 개념이 없습니다.
- 작업을 수행하는 계정이 ETH로 가스비를 내야 합니다. 기본 제공되는 가스비 대납 기능도 USDC 결제 기능도 없습니다.
이것이 지난 10년 동안 모든 Ethereum 사용자가 사용하도록 강제된 틀입니다.
스마트 계정의 실체
프로토콜의 문자 그대로의 의미에서 스마트 계정은 컨트랙트 계정입니다. codeHash가 바이트코드를 가리키는 주소입니다. 이 바이트코드에는 계정이 어떤 조건에서 작업을 승인할지 규칙이 코드로 정의되어 있습니다.
EOA의 검증 규칙은 고정된 secp256k1 검사 하나뿐이지만, 스마트 계정의 검증 규칙은 컨트랙트가 정하는 대로입니다. 2-of-3 멀티시그, secp256r1 곡선에서 검증하는 패스키 서명, 하드웨어 인증 키, 시간 잠금, 일일 한도, 허용 목록에 등록된 호출 대상 등을 적용하거나 이들을 조합할 수 있습니다. 스마트 컨트랙트 계정은 고정된 프로토콜 수준의 secp256k1 검사 대신 EIP-1271 표준에 따라 서명을 검증합니다. 이 방식 덕분에 애초에 대체 서명 방식을 사용할 수 있습니다.
규칙이 코드로 작성되어 있으므로 업그레이드하고 조합할 수 있으며 취소할 수도 있습니다. 스마트 계정은 2018년부터 Ethereum에 존재해 왔습니다. 대표적인 사례는 Safe입니다. 부족했던 것은 스마트 계정을 기본 방식으로 만들고, EOA가 먼저 가스비를 내지 않아도 거래를 전송할 방법이었습니다. ERC-4337과 EIP-7702가 이 간극을 메웠습니다.
여기까지의 과정: 계정 추상화의 짧은 역사
EOA와 컨트랙트를 통합한다는 발상은 Ethereum 자체만큼이나 오래되었습니다. 2016년에 작성된 Vitalik의 EIP-86이 최초의 상세 제안이었습니다. 그때부터 오늘날 배포된 표준에 이르기까지 다섯 차례의 시도가 있었습니다.
- **EIP-2938 (2020년 9월)**은 프로토콜 수준의 계정 추상화를 제안했습니다. 변경 범위가 너무 커서 중단되었고, 당시 Ethereum은 지분 증명 전환이 한창이었습니다.
- **EIP-3074 (2020년 10월)**는
AUTH및AUTHCALL옵코드를 도입해 EOA가 호출자 컨트랙트에 권한을 위임할 수 있도록 했습니다. 보안 우려로 철회되고 다른 제안으로 대체되었습니다. - ERC-4337은 2023년 3월 1일 Ethereum 메인넷에 적용되었습니다. 애플리케이션 계층에서만 작동하므로 하드포크가 필요하지 않습니다. UserOperation이라는 의사 거래를 별도의 멤풀, Bundler, 단일 EntryPoint 컨트랙트를 거쳐 전달합니다.
- EIP-7702는 2025년 5월 7일 Pectra 업그레이드와 함께 배포되었습니다. 거래 유형
0x04을 도입합니다. 이 유형에서 EOA는(chain_id, address, nonce, y_parity, r, s)승인 튜플에 서명하여0xef0100 || address표시자를 통해 계정이 위임된 컨트랙트 코드를 가리키도록 합니다. 자금을 옮기지 않고도 EOA가 일시적으로 스마트 계정처럼 작동합니다. - ERC-6900은 스마트 계정에서 검증, 실행, 훅 모듈을 조합하는 모듈식 플러그인 아키텍처를 표준화합니다.
요점은 계정 추상화가 더 이상 실험 단계가 아니라는 것입니다. 새 스마트 계정은 ERC-4337 경로를, 기존 EOA는 EIP-7702 경로를 통해 선택적으로 이용할 수 있는 계층형 표준이 이미 배포되어 있습니다.
스마트 계정이 제공하는 다섯 가지 기능
EOA가 ‘키 하나, 서명 하나, 거래 하나’라면 스마트 계정은 그 모든 기능을 포함하고 더 많은 것을 제공합니다.
- 프로그래밍 가능한 검증. 패스키, P-256, 하드웨어 HSM 등 모든 서명 방식, 2-of-3 또는 3-of-5 등 모든 정족수, 블록 높이나 오라클 가격 등 모든 조건을 설정할 수 있습니다. 무엇을 ‘승인된’ 작업으로 볼지는 계정이 결정합니다.
- 원자적 일괄 처리. 한 번의 서명으로 승인, 스왑, 예치를 처리합니다. 모든 작업이 실행되거나 어느 작업도 실행되지 않습니다. 이 기능은 사용자가 수동으로 관리해야 했던 Zelcore의 승인 부채와 멀티시그 방식의 우회책을 직접 없앱니다.
- 페이마스터를 통한 가스비 추상화. 제3자 컨트랙트가 사용자를 대신해 가스비를 내거나, 사용자가 페이마스터가 허용하는 USDC, USDT 또는 ERC-20으로 결제할 수 있습니다. 가스, 승인, DeFi의 작동 방식이 어떻게 연결되는지 자세히 알아보려면 DeFi 기초편을 먼저 읽어야 합니다.
- 세션 키. 권한과 사용 기간, 앱이 제한된 서명 키입니다. ‘이 키는 앞으로 24시간 동안 Uniswap에서 최대 100 USDC를 지출할 수 있습니다.’ 세션 키가 유출되어도 계정 잔액 전체가 아니라 정책으로 설정된 범위까지만 영향을 받습니다.
- 복구. 소셜 복구, 하드웨어 복구, 시간 잠금 복구를 지원합니다. 원래 서명 키가 없어도 계정을 복구할 수 있으므로, 시드 구문을 단일 실패 지점으로 만드는 문제를 마침내 해결합니다.
셀프 커스터디에서 이제 핵심이 된 이유
도입 추세는 더 이상 논쟁거리가 아닙니다. EIP-7702는 Pectra 이후 첫 주에 승인 건수가 11,000건을 넘었고, 얼마 지나지 않아 지갑 수가 25,000개를 돌파했습니다. OKX와 MetaMask가 도입을 이끌었습니다. BundleBear의 누적 통계(1.07B UserOps, 56.7M 스마트 계정)도 나머지 흐름을 보여 줍니다.
실제로 달라지는 것은 위협 모델입니다. EOA를 쓰면 사용자는 “시드 구문을 영원히 안전하게 보관하고, 악의적인 거래에 절대 서명하지 않으며, 피싱에 당하지 않고, 잘못된 기기를 재사용하지 않아야” 합니다. 사람이 이런 일을 해내지 못한다는 점은 이미 분명합니다. 스마트 계정을 쓰면 사용자는 “복구 정족수와 지출 정책을 한 번 설정하면” 됩니다. 이 일은 코드로 강제할 수 있습니다.
스마트 계정은 하드웨어 지갑을 대체하지 않습니다. 하드웨어 지갑이 더 많은 일을 할 수 있게 합니다. 실제로 스마트 계정에서 하드웨어 지갑이 여전히 맡는 역할을 영향력이 가장 큰 용도, 즉 고액·저빈도의 마스터 작업에 서명하는 일로 좁혀 줍니다. 일상적인 작업은 세션 키가 처리합니다.
이 시리즈의 다음 내용
이번 글에서는 기본 관점을 살펴봤습니다. 시리즈의 나머지 글에서는 실제 운영에 필요한 내용을 다룹니다.
- 2부에서는 ERC-4337 스택을 자세히 살펴봅니다. UserOperations, Bundlers, EntryPoint, Paymasters와 각 요소가 실패할 수 있는 지점을 다룹니다.
- 3부에서는 EIP-7702 위임을 자세히 설명합니다. 승인 튜플,
0xef0100표시, 그리고 EOA가 다른 사람의 코드를 가리키도록 설정할 때의 보안 고려 사항을 다룹니다. - 4부에서는 주요 스마트 계정 구현 방식(Coinbase Smart Wallet, Safe, Argent, Ambire)을 비교하고 각 구현의 기본 설정을 살펴봅니다.
- 5부에서는 실제 계정에서 셀프 커스터디를 포기하지 않고 복구, 세션 키, 지출 정책을 설정하는 방법을 다룹니다.
2부에서 기억할 한 문장: EOA는 주소가 있는 키이고, 스마트 계정은 키가 할 수 있는 일을 결정하는 컨트랙트입니다.



