본문 바로가기
⛓️ Web3

Acount Abstraction

by meLR 2023. 12. 19.

계정추상화

계정 추상화는 EOA와 CA의 개념을 합친 개념이다.

그렇다면 이 둘을 합친다면 어떤 이점이 존재할까? 이점을 확인하기 전 EOA와 CA 두가지 계정의 역할을 알아야한다.

EOA는 외부소유계정으로 쉽게 말하면 메타마스크이다. 우리는 EOA를 통해 자산을 소유하고 있다고 증명한다. (물론 증명은 개인키와 비밀키로 진행하지만 더 자세한 내용은 다루지 않겠다.) 그리고 EOA는 자체적으로 트랜잭션을 보낼 수 있는데 이 개념이 매우 중요하다.

 

반면 CA는 뭘까? CA는 컨트랙트 계정으로 어떠한 로직(코드)이 적혀있는 계정이라 생각하면된다. 하지만 이 계정은 트랜잭션을 자체적으로 날리지는 못한다. EOA가 트리거가 돼서 실행될 수는 있지만 자체적으로 날리지는 못한다.

 

즉, 두가지를 합치면 서로 할수있고 없었던 일들에 대한 구분이 사라지고 한 계정에서 모든 일을 수행할 수있게 된다.

 

자 그럼 이 둘을 합쳤을 때의 이점에 대해서 알아보자

 

  • 수수료 대납

→ 이는 트랜잭션을 보낼 때 매우 귀찮은 문제 중 하나였다. 아마 모든 돈을 CEX로 보내서 간단한 트랜잭션을 실행할때 “소량의 이더 남겨 놓을걸” 이라는 생각을 한번쯤 해본적이 있을것이다. 계정추상화를 이용하면 간단한 트랜잭션을 보내던 EOA에 로직이 포함된 CA가 들어있어 이를 해결할 수있다.

 

  • 다른 암호화 기능 사용

→ 기본적으로 전자서명에 이더리움은 ECDSA를 사용한다. 이러한 암호화 기법이외에도 더 다양한 암호화 기법을 계정추상화를 통해 가능하다.

 

  • 키를 분실 할 경우 계정 복구가능

→ 현재 메타마스크와 같은 전통적인 지갑은 비밀키를 분실했을 때 영원히 계정을 사용하지 못했지만 계정추상화를 통해 계정 복구가 가능해진다.

 

  • 다중트랜잭션 일괄처리 가능

→ 현재 스왑과 같은 트랜잭션은 두번의 과정을 거쳐야한다 승인과 실행이다. 계정추상화는 이러한 과정을 한번의 과정으로 줄여 실행할 수 있게 도와준다.

 

이처럼 한 계정에서 트랜잭션도 자체적으로 보내고 로직도 실행할 수있기 때문에 지금까지 불편했던 사항을 개선 할수있고 또는 새로운 기능을 추가하여 UX를 향상시킬 수있다.

 

계정추상화 작동 방식

기존 트랜잭션이 블록에 포함되는 방식을 알고 있다면 조금 더 이해가 쉬울거라 생각한다.

기존 방식은 이러하다. 트랜잭션이 EOA에서 출발하고 이는 mempool이라고 하는 트랜잭션이 모여있는 공간에 들어가고 채굴자가 mempool에서 해당 트랜잭션을 블록에 포함 시키면 해당 트랜잭션은 실행되게 된다.

 

 

이러한 개념을 기억하며 계정추상화 작동 방식을 살펴보자

계정추상화에서 가장 중요한 개념중 하나는 UserOperation(userOp)이다. 마치 기존 트랜잭션과 비슷한 개념으로 트랜잭션의 필드와 비슷한 구조를 지닌다.

 

 

계정추상화 userOp 필드
이더리움 트랜잭션 필드

이러한 userOp를 생성하고 이를 보내면 userOperation 멤풀에 들어가게 된다. 마치 트랜잭션이 멤풀에 모이는것 처럼 말이다.

그리고 이를 가져와 번들러가 번들 트랜잭션에 모은다. 이러한 과정은 마치 블록에 트랜잭션을 포함시키는 과정과 유사하다고 볼 수있다.

여기까지 계정추상화의 역할의 대부분이고 이렇게 만들어진 번들 트랜잭션을 블록에 포함 시키게 된다. 이는 앞서 설명한 일반적으로 우리가 알고있는 트랜잭션이 블록에 포함되는 방식이다. (사실 이 사이에 EntryPoint 개념이 포함되어있다. 이는 다음 포스팅에서 살펴보겠다.)

 

이 과정을 그림으로 나타내면 아래와 같다.

 

 

'⛓️ Web3' 카테고리의 다른 글

Azuki Bobu의 ERC 6551  (0) 2023.12.22
다자간 연산 MPC (Multi-party computation)  (0) 2023.11.16
솔리디티 문해력 특강_5강  (1) 2023.09.19
솔리디티 문해력 특강_4강  (0) 2023.09.17
마스터링 이더리움_Ch.4 암호학  (0) 2023.09.15