마지막 업데이트:
**계정 추상화(Account abstraction)**는 스마트 컨트랙트가 사용자 계정 역할을 수행할 수 있도록 하는 이더리움(Ethereum)의 접근 방식입니다. 이는 단순히 외부 소유 계정(EOA)에 의존하는 대신 지갑 보안과 트랜잭션 동작을 프로그래밍할 수 있게 해줍니다. 지갑을 더 유연하고 사용하기 쉽게 만드는 동시에 복구 메커니즘, 트랜잭션 한도, 수수료 지불의 대안적 방법과 같은 기능을 구현하는 것을 목표로 합니다.[1][2]
전통적인 EOA 모델에서 사용자 계정은 개인 키로 제어되며, 주소를 생성하는 데는 공개 키(public key)가 사용됩니다. 서명자와 계정은 동일한 개체입니다. 즉, 개인 키를 제어하는 사람은 누구나 트랜잭션을 승인할 수 있지만, 키를 분실하면 계정에 접근할 수 없게 됩니다. 시드 구문(seed phrase)을 통해 개인 키가 노출될 수 있으며, 시드 구문을 탈취하려는 피싱 시도는 흔한 사기 수법입니다.[1][2]
스마트 계정은 자산을 보유하고 프로그래밍 가능한 규칙을 사용하여 트랜잭션을 승인하는 스마트 컨트랙트입니다. 계정 추상화를 통해 모든 작업을 전통적인 EOA 모델을 통해 직접 승인받는 대신, 트랜잭션 승인 방식을 규정하는 로직을 포함한 지갑 로직이 이더리움 상에서 실행될 수 있습니다.[1]
이더리움 문서는 계정 추상화에 대한 두 가지 접근 방식을 설명합니다. EIP-4337은 기존 프로토콜과 병행하여 별도의 트랜잭션 시스템을 추가하는 반면, EIP-7702는 스마트 컨트랙트가 EOA를 제어할 수 있도록 EOA를 업그레이드합니다. EIP-7702는 2025년 5월 7일로 예정된 이더리움의 펙트라(Pectra) 업그레이드에 포함될 예정입니다.[1]
ERC-4337로도 불리는 EIP-4337은 이더리움의 핵심 프로토콜을 변경하거나 하드 포크(hard fork)를 요구하지 않고 스마트 컨트랙트 지갑 지원을 가능하게 합니다. 이는 제안된 지갑 작업을 나타내는 UserOperations를 도입합니다. ERC-4337에 설명된 시스템에 따라, 번들러(bundler)는 별도의 멤풀(mempool)에서 UserOperations를 수집하여 검증 및 실행을 위해 EntryPoint 스마트 컨트랙트에 번들 형태로 제출합니다.[1][3]
EIP-4337 EntryPoint 컨트랙트는 2023년 3월 1일 이더리움 메인넷(Mainnet)에 배포되었습니다. Ethereum.org에 따르면, 이 표준은 2,600만 개 이상의 스마트 지갑(smart wallet) 생성을 촉진했으며 1억 7,000만 건 이상의 UserOperations 처리를 지원했습니다.[1]
계정 추상화를 통해 지갑 규칙을 다양한 보안 요구 사항에 맞게 조정할 수 있습니다. 지갑은 백업 키를 사용하거나, 노출된 키를 교체하거나, 신뢰할 수 있는 사람들 사이에 제어권을 분산하거나, 고액 트랜잭션에 대해 다중 서명을 요구하거나, 신뢰할 수 있는 주소로만 트랜잭션을 제한할 수 있습니다. 스마트 컨트랙트 지갑은 복구 권한을 신뢰할 수 있는 사람이나 하드웨어 장치에 위임하는 사회적 복구(social recovery)와 일일 지출 한도 설정도 지원할 수 있습니다.[1][3]
이 모델은 트랜잭션 비용 지불 및 실행 방식의 변경도 지원합니다. 페이마스터(paymaster)가 사용자의 가스(gas) 수수료를 대납할 수 있으며, 지갑은 트랜잭션 비용을 위해 ETH를 보유하는 대신 USDC나 DAI와 같은 토큰으로 수수료를 지불할 수 있습니다.
트랜잭션을 일괄 처리(batching)할 수도 있습니다. 예를 들어, 토큰 승인과 스왑 실행을 결합하거나 애플리케이션이 가스비를 대납할 수 있습니다. 이러한 옵션은 원클릭 스왑과 같은 작업을 단순화하고 사용자가 수수료 지불만을 위해 ETH 잔액을 유지해야 하는 필요성을 줄여줍니다.[1][3]
지갑 로직을 단일 키 계정의 한계로부터 분리함으로써, 계정 추상화는 개발자에게 복구, 거버넌스 및 코드 실행 기능을 지갑에 내장할 수 있는 방법을 제공합니다.
Ethereum.org는 이 접근 방식이 지갑 및 탈중앙화 애플리케이션 개발자들에게 기회를 창출한다고 설명하며, 코인베이스(Coinbase)는 프로그래밍 가능한 비수탁형 지갑의 가능성 중 하나로 더 쉬운 복구, 서명 없는 트랜잭션, 팀 지갑 등을 꼽았습니다.[1][2]