[계정 추상화 시리즈] Part0 Web3 대중화 Account Abstraction

molly·2023년 1월 8일
1

계정추상화

목록 보기
1/2
post-thumbnail

계정 추상화를 알아야 하는 이유

  1. 현재 지갑(계정)은 다양한 한계점과 web3로의 진입을 힘들게 하고 있음
  2. 일반 web2 사용자가 web3에 유입되는데에 수수료 문제는 큰 걸림돌임
  3. web3의 기본중에 기본인 지갑에서의 계정 추상화는 앞으로의 web3 대중화에 가장 중요한 요소

지갑이란?

지갑은 계정과 상호작용 할 수 있는 애플리케이션

지갑을 통해 잔액을 확인하고 거래를 보내고 애플리케이션에 연결할 수 있음

계정을 관리하기 위한 도구일 뿐

계정이란

거래를 보낼 수 있고, 네이티브 자산이 있다면 자산의 잔액이 있음

계정 추상화란?

  • 기존의 EOA, CA로 나누어진 계정을 Contract Acoount로 합친다는 의미

각 계정의 기존 역할은?

EOA - 이더리움 거래 및 트랜잰셕 서명을 위해 개인 키를 발급 받아 생성되는 계정

CA - 스마트 컨트랙트가 발행 될 때 생성, EOA와 실행 코드와 함께 코드 실행이 가능

현재의 문제점

  • CA는 트랜잭션 발행, 서명의 권한이 없음으로 서명 및 발행을 하려면 EOA가 필요
    • 예를 들어 잔액이 0인 유저가 테스트 이더를 줄 수 있는 스마트 컨트랙트를 호출하여 테스트이더를 받으려 하는데 잔액이 0이기에 유저는 수수료를 낼 수 없고 테스트 이더를 받기 위해 별도의 EOA계정(수수료가 있는)이 필요한 상황
    • 수수료를 대납할 수 있다면 해결 될 수 있음
  • 현재 EOA의 서명은 이더리움 프로토콜에 하드코딩된 ECDSA 서명만 사용 가능
    • ECDSA가 양자컴퓨터가 발전하면 쉽게 뚫릴 위험이 있음
    • 다양한 서명을 도입하면 해결 가능

계정 추상화 구현 기술적인 한계

  • 먼저 이더리움 상 모든 트랜잭션의 시작은 EOA로 부터 시작되서 이더리움 프로토콜에서 검증을 거친 다음 EVM에서 실행하게 됨
  • 계정 추상화를 위해선 프로토콜에 하드 코딩되어 있는 검증(서명)로직을 프로토콜의 코드를 건들이기에 무리기 때문에 EVM으로(스마트 컨트랙) 변경해야 함
  • 위의 솔루션은 EIP-4337을 통해 컨센서스 레이어의 변경 없이도 계정 추상화를 실현할 수 있게 함

계정 추상화가 필요한 이유

  • 다양한 검증을 도입
    • 스마트 컨트랙트에서 거래에 서명 및 검증을 한다면 검증 로직 자체를 코드를 통해 커스텀 할 수 있음
    • 멀티시그 방식, signer를 주기적으로 변경할 수 있는 방식
    • account와 signer를 분리함으로써, 하나의 private key에 모든 account의 정보를 의존하지 않아도 됨
  • ECDSA이외의 다른 암호체계를 쓸 수 있음
    • ECDSA에 의존하지 않고 다양한 서명 로직을 사용할 수 있음
    • Schnorr signatures, BLS signatures , Lamport/Winternitz
  • 컨트랙트 지갑을 자유롭게 만들 수 있음
    • ERC20로 수수료 지급, 수수료 착불(대납) 등이 가능함
  • 비밀번호를 찾는 게 가능
    • 2,3명의 믿을 수 있는 사람과 커뮤니티를 이루어 동의하에 개인키를 찾 을 수 있게 됨
profile
BlockChain R&D

0개의 댓글