tech

비탈릭 부테린이 생각하는 이더리움 계정 추상화의 현재와 미래

이더리움 블록체인을 세상에 내놓고, 2세대 암호화폐 시대를 연 ‘비탈릭 부테린’. 이더리움 공동 창업가이자 전세계 블록체인 분야에서 가장 큰 영향력을 갖고 있는 핵심인물이다. 그는 2024년 5월 7일, 🔗EIP-7702: Set EOA account code for one transaction‘이라는 이더리움 개선안(EIP)을 제안했다. 계정 추상화를 중요하게 생각하는 모습으로, 지금부터 그가 생각하는 계정 추상화의 현재와 미래에 대해서 알아본다.

🔗 그림1. Two practical types of account – Ethereum EVM illustrated

계정 추상화는 기존 지갑인 EOA(Externally Owned Account)대신에 컨트랙트 형태인 CA(Contract Account)형태로 지갑을 사용하자는 제안이다.

EOA는 사용자 측면에서 4가지의 문제를 가지고 있다.

  • 개인 키를 잃어버리거나 해킹 당한 경우 지갑과 자금에 대한 소유권을 찾을 수 없다.
  • 서명 알고리즘이 ECDSA(🔗 타원곡선 DSA)하나 뿐으로 다른 서명 알고리즘을 사용할 수 없다. 또한 양자 컴퓨터가 상용화된다면 보안 문제가 있을 수 있다.
  • 가스비 지불은 네이티브 토큰만 가능하기 때문에 지갑에 이더리움이 필요하다.
  • 한 번에 한 트랜잭션만 보낼 수 있다.

4가지 문제를 CA를 이용하면 해결이 가능하다. EOA를 CA로 이동하여 해결책을 ‘추상화’하는 것을 계정 추상화라고 한다.

비탈릭 부테린이 2017년 2월 10일에 제시한 🔗EIP-86을 시작으로 🔗EIP-2938, 🔗ERC-4337, 🔗EIP-7702까지 계정 추상화에 대한 다양한 제안을 내놓았다. 각 제안을 살펴보고 계정 추상화의 발전 방향을 알아보자.

| EIP-86

EIP-86: Abstraction of transaction origin and signature, 2017년 2월 10일에 제안한 내용으로 서명과 논스 확인을 추상화하여 사용자가 이더리움 프로토콜에서 내장된 검증 로직이 아닌 다른 방법으로 검증이 가능한 “account contracts”라는 추상화된 계정을 생성할 수 있도록 한다는 내용이다.

EIP-86은 프로토콜을 변경하기 때문에 개발 기간, 전환 비용, 블록 체인에 추가 코드를 저장하는 비용, 기존 불변성을 해치는 문제로 인하여 이더리움 표준 규약인 ERC까지는 못갔다. EIP-86에 대한 의논을 보고 싶다면 🔗eip pull request #208, 🔗ethresear에서 확인이 가능하다.

| EIP-2938

EIP-2938: Account Abstraction, 2020년 9월 4일에 제안한 내용으로 지갑 대신 컨트랙트로 트랜잭션을 실행할 수 있도록 AA_TY_TYPE의 트랜잭션을 통해 계정 추상화를 추가하자는 내용이다.

EIP-2938은 이더리움 합의 레이어에서 중요한 부분을 바꿔야 하는 제안으로 ERC에 포함되지 못했다. EIP-2938에 대한 의논을 보고 싶다면 🔗eip pull request #2938, 🔗Ethereum Magicians 에서 확인 가능하다.

| ERC-4337

ERC-4337: Account Abstraction Using Alt Mempool, 2021년 9월 29일에 제안한 내용으로 프로토콜을 변경하지 않는 계정 추상화 제안이다. 2023년 8월에 ERC로 채택됐다.

🔗 그림2. How does this proposal work? – Vitalik Buterin Medium

ERC-4337은 User Operation Mempool이라는 별도의 오프라인 멤풀(mempool)을 사용하고 트랜잭션도 UserOperation라는 별도의 객체로 사용한다.

🔗 그림3. typical lifecycle of a transaction – ERC-4337 Docs

자세하게 ERC-4337을 사용하는 프로세스는 위와 같으며 구성요소를 정리하면 다음과 같다.

  • UserOperations: 별도로 사용되는 유저 트랜잭션이다.
  • Bundlers: UserOperations를 패키징하여 EntryPoint 컨트랙트로 보낸다.
  • EntryPoint: 트랜잭션의 검증과 실행 로직을 처리하는 컨트랙트다.
  • Account Contract: 사용자가 소유한 지갑 컨트랙트다.
  • Factory Contract: 지갑 생성을 위한 컨트랙트다.
  • Paymaster Contracts: Account Contract에 대한 가스비를 지원한다. 사용자는 ERC-20토큰으로 가스비 대신 수수료를 낼 수 있다.

ERC-4337으로 EOA의 4가지 문제를 해결할 수 있다.

  • 프로토콜이 아닌 EVM에서 검증을 하기 때문에 키 변경이 가능하여 소유권을 잃어버릴 걱정이 없다.
  • ECDSA 서명방식 외에 BLS 서명과 같은 다른 서명 방식을 사용할 수 있다.
  • Paymaster Contracts를 통해 다른 토큰으로 가스비 대신 토큰으로 수수료를 낼 수 있다.
  • Bundlers를 사용하여 사용자는 여러 개의 트랜잭션을 보낼 수 있다.
🔗 그림4. ERC-4337 Smart Accounts – @niftytable Dune

2024년 5월 15일 기준으로 ERC-4337로 생성된 계정은 4,472,047개, 만들어진 트랜잭션(UserOp)은 19,434,221개이며 꾸준한 계정 생성을 보여준다.

해당 제안에 대한 의논을 보고 싶다면 🔗eip pull request #4337, 🔗Ethereum Magicians에서 확인 가능하다.

EIP-7702: Set EOA account code for one transaction, 2024년 5월 7일에 제안한 내용으로 EOA가 트랜잭션 중 일시적으로 CA 지갑의 기능을 수행하고 원래 상태로 돌아오는 트랜잭션 유형을 제안한다.

EIP-7702를 통해서 3가지 이점을 얻을 수 있다.

  • 트랜잭션 일괄 처리: EOA가 일시적으로 CA 지갑 기능을 수행할 수 있어서 일괄 처리가 가능하다.
  • 후원: EOA가 일시적으로 CA 지갑 기능을 수행할 수 있어서 개인 지갑에서 paymaster기능인 토큰으로 가스비 지불이 가능하다.
  • 단계적 권한 부여: EOA에 대한 전체 접근이 아닌 특정 권한을 부여할 수 있다.

해당 제안에 대한 의논을 보고 싶다면 🔗eip pull request #8527, 🔗Ethereum Magicians에서 확인 가능하다.

© Unsplash

EIP-7702를 통해 ERC-4337로 생성된 계정이 아니라도 계정 추상화의 기능을 사용할 수 있게 될 수 있다. 비들 아시아 2024에서 비탈릭 부테린이 “🔗계정 추상화, 연구에서 제작 단계로 진입 중“이라고 말한 발언으로 비춰보면, 계정 추상화가 점차 도입되어 블록체인 UX문제를 한단계씩 해결할 수 있을 것이라고 본다.

이미 체인 프로토콜 내에서 기본적으로 컨트랙트 지갑, Paymaster 기능을 지원하는 체인도 존재한다. zkSync와 Starknet이다. ERC-4337이 아닌 체인 내장 기능으로 호환은 되지 않지만 계정 추상화의 보급에 도움을 주고 있다. 또한, 🔗VISA에서 테스트넷에 paymaster를 배포하고 USDC의 🔗Circle사도 계정 추상화를 지원하고 있다.

계정 추상화 기술이 발전하고 이더리움에 점차 적용됨에 따라서 많은 프로젝트에서 적용을 시도하고 있다. 비탈릭 부테린이 관심과 힘을 쏟고 있는 만큼 계정 추상화는 블록 체인에서 중요한 기술이고 대중화에 중요한 기술이라고 생각한다.

참고

이학성 기자

최근 DePIN이라는 블록체인+IoT프로젝트가 늘어나고 있는 만큼 블록체인 대중화가 다가오고 있습니다. 대중화에 힘을 쏟는 관련자에게 감사 인사 올립니다.


TOP