# 계정 추상화

2009년 비트코인 주소의 64자리 16진수 개인키부터 2013년 비트코인 개선 제안 39(BIP39)를 통한 시크릿 리커버리 프레이즈 개념 도입까지, 개인키와 시크릿 리커버리 프레이즈는 10여 년간 블록체인에서 자산을 보호하는 핵심 정보로 진화해 왔다. 2020년 비탈릭 부테린의 [EIP-2938: Account Abstraction](https://eips.ethereum.org/EIPS/eip-2938)이 보다 포괄적이고 세부적인 Account Abstraction 개념을 제안한 이후, Account Abstraction 지갑이 발전하기 시작했다.

#### <mark style="color:orange;">**어떻게 “다음 10억 명을 Web3.0으로 이끌 것인가?”**</mark> <a href="#b7a6" id="b7a6"></a>

아마도 Account Abstraction 개념이 가져온 Account Abstraction 지갑이 그 방향 중 하나가 될 수 있다.

#### Key Words <a href="#b991" id="b991"></a>

**Account Abstraction**은 사용자가 스마트 컨트랙트를 계정으로 사용하도록 해 관리와 상호작용의 유연성을 높이는 블록체인 기술이다(Ethereum의 EOA 계정 보완).

**EOA Wallet**은 개인키와 시크릿 리커버리 프레이즈로 제어되는 현재 가장 보편적인 전통 지갑.

**AA Wallet**은 ERC-4337 프로토콜 기반의 스마트 컨트랙트 지갑을 의미한다.

#### <mark style="color:orange;">EOA 지갑의 한계</mark> <a href="#df3f" id="df3f"></a>

처음 EOA 지갑을 썼을 때를 기억하는가?

<figure><img src="https://miro.medium.com/v2/resize:fit:700/1*9Hwa3UV32qaKXPvrNLG1_w.png" alt="" height="444" width="700"><figcaption></figcaption></figure>

EOA의 한계:

> **1. 자산이 개인키와 시크릿 리커버리 프레이즈에 의해 통제된다.**
>
> EOA 지갑은 가장 흔한 지갑 계정 체계로, 전적으로 개인키와 시크릿 리커버리 프레이즈에 의해 통제된다. 이를 유출하면 자산이 손실될 수 있으므로 반드시 안전하게 보관해야 한다.

모든 크립토 사용자에게 이것은 큰 보안 과제다. 우리는 [하드웨어 지갑](https://keypal.pro/), [콜드 지갑](https://medium.com/@tokenpocket-gm/unleashing-the-power-of-cold-wallets-98f09a47a2c6), [멀티시그 지갑](https://medium.com/@tokenpocket-gm/a-new-tip-for-protecting-your-crypto-create-a-multisig-wallet-on-tokenpocket-2a35a9a7746e) 등 여러 솔루션을 소개해 왔지만, 초보자에게는 여전히 어렵고 결국 핵심은 개인키/시크릿 리커버리 프레이즈 보관과 사용에 의존한다.

> **2. 상호작용 로직이 사용자 친화적이지 않다.**
>
> * 높은 온체인 가스비
> * 트랜잭션 확정에 영향을 주는 다양한 요인
> * 복잡한 트랜잭션 과정

예를 들어 이더리움에서는 전송·거래를 실행하려면 네이티브 토큰 ETH를 가스비로 지불해야 한다. 지갑에 ETH가 없다면 중앙화 거래소에서 구매하거나 서드파티 크로스체인 브릿지를 통해 충전한 뒤 지갑으로 옮겨야 한다. 네트워크 혼잡 시 가스비 상승이나 트랜잭션 실패로 사용자 손실이 발생할 수도 있다.

이처럼 EOA 지갑의 한계는 모든 신규 사용자가 겪는 문제다. 이를 해결하려면 많은 학습이 필요하고, 과정 중 “위험 승인”이나 “리스크 토큰” 같은 도전도 마주하게 된다. “Account Abstraction” 개념의 도입과 발전은 이러한 문제를 어느 정도 완화했다.

#### <mark style="color:orange;">Account Abstraction을 어떻게 정의할까?</mark> <a href="#id-9eb0" id="id-9eb0"></a>

“Account Abstraction”은 지갑 자체를 “추상화”한다. 익숙한 “개인키/시크릿 리커버리 프레이즈” 추상화뿐 아니라, 계정 상호작용 프로세스, 사용자 경험, 온체인 경험까지 추상화한다.

기술적으로는 계정을 스마트 컨트랙트가 완전히 제어하며, 일부 컨트랙트 세부사항은 이더리움 프로토콜에서 “추상” 수준으로 다뤄진다. 각 계정이 곧 스마트 컨트랙트이므로, 사용자는 개인키나 시크릿 리커버리 프레이즈를 다루지 않고도 자유롭게 스마트 컨트랙트 계정을 제어할 수 있다.

사용자 관점에서는 계정 상호작용 디테일이 크게 개선·최적화되어, 지갑 사용이 더 편리해지고 Web3.0 적용성이 높아진다.

우리는 “소셜 리커버리”, “서명 추상화”, “가스비 추상화”, “Nonce 추상화” 네 가지 측면에서 Account Abstraction을 소개한다. 이해를 돕기 위해 사례도 함께 제시한다.

> **1. Social Recovery**
>
> “개인키를 어떻게 백업하고 자산을 지킬까?”\
> 이는 사용자가 가장 자주 묻는 질문이자, EOA 지갑의 가장 큰 고통지점이다.
>
> Account Abstraction은 개인키와 시크릿 리커버리 프레이즈를 추상화하여, 지갑 생성 시 이를 백업할 필요가 없다. 만약 지갑이 삭제되거나 앱을 실수로 지웠더라도, 다중 인증과 소셜 리커버리(예: 이메일)로 계정을 복구할 수 있다.

> **2. Signature Abstraction**
>
> 오늘날 EOA 지갑 트랜잭션은 지갑의 개인키로 생성한 [ECDSA 서명](https://ethereum.org/en/glossary/#ecdsa)을 필요로 한다. 즉, 개인키가 자산 통제의 유일한 증표다. Account Abstraction은 ECDSA를 분리하여, 지갑이 발신한 트랜잭션 승인 규칙을 사용자가 직접 정의할 수 있게 한다. 쉽게 말해, 당신 자신이 자산을 통제하는 유일한 자격 증명이 된다.
>
> “트랜잭션 한도”, “다중 승인”, “자동 결제” 기능으로 서명 추상화를 설명할 수 있다:
>
> a) **거래 한도**: 서명 금액이 사전 설정 한도를 넘으면, 스마트 계정에 연결된 지갑이 트랜잭션을 거부하거나 추가 확인을 요구할 수 있다.\
> 예) 신용카드 일/월 한도 초과 시 은행이 거부하거나 연락해 확인하는 것과 유사.
>
> b) **다중 승인**: 신뢰하는 주체(가디언)에게 지갑의 일부 통제 권한을 위임할 수 있다. 가디언은 친구, 가족, 서비스 제공자, 또는 보유한 다른 기기(예: KeyPal 하드웨어 지갑)일 수 있다. 결국 가디언은 계정 자산을 제어할 수 있는 승인 권한을 갖는다.\
> 예) [TokenPocket 멀티시그 지갑](https://medium.com/@tokenpocket-gm/a-new-tip-for-protecting-your-crypto-create-a-multisig-wallet-on-tokenpocket-2a35a9a7746e)은 Account Abstraction 개념의 하나다.
>
> c) **자동 결제**: 특정 정기 지출을 위해 서드파티 서비스가 계정에서 자산을 “자동 인출”하도록 허용할 수 있다.\
> 예) 신용카드처럼 AA 지갑을 구독 결제에 연결할 수 있다(해당 플랫폼이 암호화폐 결제를 지원하는지 확인 필요).
>
> 위 세 가지는 서명 추상화의 대표 시나리오이며, 앞으로 새 AA 지갑 기능과 결합한 더 많은 사례를 소개해 Web3.0 생활에 녹여낼 예정이다.

> **3. Gas Fee Abstraction**
>
> 앞서 언급했듯 이더리움 지갑의 어떤 트랜잭션도 네이티브 토큰 ETH를 가스비로 지불해야 온체인 확정이 된다. 이는 특히 신규 사용자에게 비우호적이며, 채굴 수수료 확보 과정이 복잡하다. Account Abstraction은 이 문제를 효과적으로 해결한다.
>
> AA 체계에서는 사용자가 만든 스마트 컨트랙트 계정이 ERC-20 토큰 등 다른 토큰으로 가스비를 지불할 수 있다. 컨트랙트 레벨에서 “릴레이”가 ERC-20 토큰을 네이티브 ETH로 변환해 트랜잭션을 체인에 밀어 넣는다.
>
> 향후 프로젝트는 릴레이를 통한 기부·스폰서 방식으로 사용자 수준에서 “수수료 없는 상호작용”도 구현할 수 있어, Web2.0과 유사한 편의성을 달성할 수 있다.

<figure><img src="https://miro.medium.com/v2/resize:fit:700/1*bdJqCtG7IBI99y1fKLwe8Q.png" alt="" height="444" width="700"><figcaption></figcaption></figure>

> **4. Nonce Abstraction**
>
> 이더리움에서 Nonce는 트랜잭션이 특정 순서로 실행되도록 보장하는 중요한 개념이다. 순서를 유지해 재실행(리플레이) 공격과 무질서 실행을 방지한다.
>
> 두 개 이상 트랜잭션을 발행할 때 Nonce가 0과 1이라면, Nonce=0이 실행·확정된 뒤 Nonce=1을 실행해야 한다. 배치 작업이 필요한 사용자에게 이는 지나치게 경직되어 효율을 낮춘다.
>
> Account Abstraction은 이더리움 프로토콜이 강제하는 엄격한 순서를 대신해, 사용자 정의 재실행 방지 메커니즘을 만들 수 있게 한다. 예를 들어 여러 트랜잭션을 배치 처리하는 Nonce 전략을 사용해 동시에 여러 건을 온체인에 밀어 넣을 수 있다. 이는 특정 순서 요구로 인한 문제를 해결해 Web3.0을 더 가볍게 만든다.

<figure><img src="https://miro.medium.com/v2/resize:fit:700/1*j_GvzoAjidjkqtAkoVk5LA.png" alt="" height="444" width="700"><figcaption></figcaption></figure>

**그렇다면 AA 지갑의 상호작용 프로세스는 어떻게 될까?**

<figure><img src="https://miro.medium.com/v2/resize:fit:700/1*QIHN6BqE_y-tfEoM59qfHQ.png" alt="" height="444" width="700"><figcaption></figcaption></figure>

#### <mark style="color:orange;">**Conclusion**</mark> <a href="#f34e" id="f34e"></a>

Account Abstraction은 EOA 지갑의 한계를 해결하는 최적의 솔루션 중 하나로, 지갑 분야에 더 큰 유연성과 조작성을 가져온다. TokenPocket은 곧 AA 지갑을 출시해 사용자에게 더 많은 Web3.0 가능성을 제공할 예정이다.
