시크릿 IT 정보

계정 추상화 — 결제 시스템 혁신을 위한 키

카혼 2023. 11. 16. 12:05

 

면책 고지: 이 보고서의 작성자는 해당 보고서를 작성하거나 조사하는 과정에서 미공개 중요 정보를 활용하여 관련 토큰을 매입 또는 매도하지 않았음을 밝힙니다. 각 보고서의 내용은 해당 보고서의 작성자의 의견을 반영하며 정보 제공을 목적으로 하며, 토큰 매매나 프로토콜 사용을 권장하는 내용으로 이해되어서는 아닙니다. 이 보고서에 포함된 내용은 투자 조언이 아니며, 투자 조언으로 해석해서는 안 됩니다.

서문
지난 5월 17일, VISA가 Ethereum Goerli 테스트넷에 두 개의 페이마스터(Paymaster)를 배포한 사실을 발표하면서 많은 사람들의 관심을 받았습니다. 이 보고서에는 VISA가 직접 Goerli 테스트넷에 배포한 페이마스터 컨트랙트와 실제로 처리된 트랜잭션 요청에 대한 정보가 포함되어 있습니다.

리포트 타이틀, Source: VISA Blog

 

비자(VISA)는 글로벌 디지털 결제 서비스 기업으로서, 21,000여 개의 금융기관이 합작하여 설립한 기업으로 2022년에는 200여 국가에서 약 2,580억 개의 결제를 처리하는 등 굉장히 큰 영향력을 가지고 있습니다. 이와 같이 상당한 영향력을 가진 글로벌 결제 서비스 기업이 블록체인의 새로운 기술 중 하나인 "계정 추상화(Account Abstraction)"와 "페이마스터 컨트랙트"에 대한 실증 실험을 진행하는 소식은 블록체인 업계에서 큰 주목을 받고 있습니다. 그렇다면 "계정 추상화"와 "페이마스터"가 무엇이며, 왜 VISA 같은 디지털 결제 서비스 기업이 이에 관심을 기울이고 있는 것일까요? 이 글에서는 VISA의 이러한 노력을 중심으로 "계정 추상화"의 개념과 이것이 결제 시스템에 미칠 혁신에 대해 살펴보겠습니다.

"계정 추상화(Account Abstraction)"란?
EOA와 CA
우선, "계정 추상화"의 진정한 의미를 이해하기 위해서는 이더리움 계정(account)의 두 가지 주요 유형인 "EOA(Externally Owned Accounts)"와 "CA(Contract Accounts)"에 대해 알아야 합니다. 이 두 계정 유형은 보안, 검증, 트랜잭션 실행 등 다양한 측면에서 차이가 있으며 주로 사용자 계정과 스마트 컨트랙트로 구분됩니다.

EOA

먼저, EOA는 사용자의 개인키(private key)로 제어되는 계정으로, 주로 핫월렛 등에 저장된 계정이 이에 해당합니다. 사용자는 EOA를 통해 트랜잭션을 생성하고 서명하여 자금을 이체하거나 특정 스마트 컨트랙트를 실행시킬 수 있습니다. 이러한 EOA는 금고를 여는 열쇠와 유사하게 쉽고 빠르게 작동하지만, 계정의 보안은 개인키 하나에 의존하고 있어 도난 위험이 있으며, 계정은 프로그래밍할 수 없다는 단점이 있습니다.

CA

반면에 CA는 프로그래밍 가능한 금고에 비유할 수 있습니다. CA는 개인키를 보유하지 않아 스스로 트랜잭션을 실행시킬 수 없으며, 트랜잭션 처리를 위해 반드시 EOA로부터 개인키를 통한 실행 요청을 받아야 합니다. 그러나 EOA와 달리 CA는 계정이 프로그래밍 가능하다는 큰 장점이 있습니다. 이로 인해 CA는 비밀번호를 필요에 따라 변경하거나 생체인식과 같은 보안 기능을 추가할 수 있으며, 높은 수준의 보안을 제공합니다. 따라서 CA는 복잡하지만 안전하며 프로그래밍 가능한 특성을 가지고 있습니다.

이더리움 계정의 두 종류; EOA와 CA, 출처: Preethi Kasireddy 트위터

 

계정 추상화는 간단히 말해, EOA와 CA의 역할을 동시에 수행할 수 있도록 계정을 추상화시키는 개념을 나타냅니다. 이것은 개인키가 없는 상태에서도 트랜잭션을 실행하고 검증할 수 있는 새로운 시스템을 구축하는 것을 의미합니다. 계정 추상화에 관한 논의는 2017년부터 시작되었지만 실질적인 기술적 변화는 2021년 Vitalik Buterin이 ERC-4337을 제안한 이후에 이루어졌습니다.

ERC-4337
ERC-4337은 합의 레이어를 수정하지 않고도 계정 추상화를 구현하기 위한 제안입니다. 이 제안은 합의 레이어에서 발생하는 트랜잭션 검증과 실행 과정을 애플리케이션 레이어에서 구현하기 위해 유저 오퍼레이션(UserOperation), 엔트리포인트(EntryPoint), 번들러(Bundler), 그리고 페이마스터(Paymaster) 등 새로운 컨트랙트와 주체들이 등장하게 합니다.

기존의 EOA 트랜잭션에서는 유저가 개인키를 사용하여 직접 트랜잭션을 생성하고 서명하여 퍼블릭 메모리 풀(mempool)에 제출합니다. 그런 다음 검증자(validator)는 높은 가스 비용을 지불한 트랜잭션을 우선적으로 블록에 포함시키고 이더리움 네트워크에 최종 블록을 제출하는 방식으로 트랜잭션이 처리되었습니다.

기존 EOA 트랜잭션 처리 과정, 출처: VISA Blog



그러나 ERC-4337에서는 앞서 언급한 새로 도입되는 주체들로 인해 트랜잭션 처리 과정이 변경됩니다. 전체적인 과정은 아래 그림과 같습니다.

ERC-4337에서 트랜잭션 처리 과정, 출처: VISA Blog


그림을 통해 ERC-4337에서의 트랜잭션 처리 과정을 자세히 살펴보면 다음과 같습니다.

유저가 ERC-4337 호환 지갑을 통해 생성한 유저 오퍼레이션(UserOperation)을 유저 오퍼레이션 멤풀로 전송합니다.
번들러(Bundler)는 다수의 유저 오퍼레이션을 모아 번들 트랜잭션을 생성합니다.
생성된 번들 트랜잭션을 엔트리포인트(EntryPoint)에 제출합니다.
(옵션) 페이마스터 컨트랙트를 호출한 후 유저 오퍼레이션을 검증합니다.
엔트리포인트에서 각 유저 오퍼레이션을 검증하고 실행합니다.
이것은 합의 레이어에서 트랜잭션을 퍼블릭 멤풀에 제출하고, 검증자가 블록에 트랜잭션을 검증하고 실행하는 기존 과정이 ERC-4337에서는 "유저 오퍼레이션" 및 "엔트리포인트"라는 새로운 주체와 과정으로 대체되어, 애플리케이션 레이어에서 트랜잭션을 처리할 수 있도록 변화했습니다.

이제 ERC-4337에서 핵심 주체들의 역할에 대해 자세히 알아보겠습니다.

유저 오퍼레이션(UserOperation)

유저 오퍼레이션은 사용자가 ERC-4337 호환 스마트 컨트랙트 월렛(SCW)에서 생성하는 스마트 컨트랙트로, 기존의 EOA 지갑에서 생성하는 트랜잭션과 유사한 역할을 합니다.
유저 오퍼레이션은 트랜잭션이 아니지만, 트랜잭션과 매우 유사한 필드와 특징을 가지고 있어 비슷하게 동작합니다.
번들러(Bundler)

번들러는 유저 오퍼레이션 멤풀로 전송된 다수의 유저 오퍼레이션을 수집하여 하나의 번들 트랜잭션으로 만들고 검증하는 주체입니다.
번들러는 번들 트랜잭션에 포함될 유저 오퍼레이션을 선택하는 데, 가스비가 가장 많이 제출된 것부터 처리합니다.
엔트리포인트(EntryPoint)

엔트리포인트는 번들러가 생성한 번들 트랜잭션에 포함된 각각의 유저 오퍼레이션을 검증하고 실행하는 스마트 컨트랙트입니다.
검증 루프(verification loop)와 실행 루프(execution loop)를 통해 각 유저 오퍼레이션의 가스비를 확인하고 실행합니다.
번들 트랜잭션을 최종적으로 이더리움 합의 레이어에 제출하기 위해 가스비를 지불합니다.
ERC-4337은 이러한 주체들과 과정을 통해 기존의 트랜잭션 처리 방식을 개선하고, 유저들에게 어떠한 이점을 제공하는지에 대해 다루고 있습니다.

번들러와 엔트리포인트, 출처:  UniPass Wallet

 

페이마스터(Paymaster)

페이마스터는 유저가 ETH가 아닌 다른 ERC-20 토큰으로 가스비를 지불하거나 애플리케이션 측에서 가스비를 지원할 수 있도록 도와주는 기능을 제공합니다. 페이마스터 컨트랙트는 번들러와 엔트리포인트와 마찬가지로 계정 추상화를 통해 트랜잭션을 처리하는 데 필수적인 주체는 아니지만, 유저들에게 제공하는 이점을 고려할 때 번들러와 엔트리포인트와 마찬가지로 페이마스터 역시 계정 추상화의 핵심 역할을 합니다.

페이마스터 컨트랙트를 추가하면 엔트리포인트에서 각 유저 오퍼레이션을 검증하는 과정이 변경됩니다. 이때, 유저 오퍼레이션을 생성한 계정을 확인하는 대신, 페이마스터가 가스비를 대신 지불할 계정이 가스비를 지불할 만큼의 잔액을 가지고 있는지 확인합니다.

ERC-20 토큰으로 가스비를 지불하려는 상황에서는, 유저 오퍼레이션을 생성한 유저의 ERC-20 토큰 잔액이 충분한지 확인한 후에 가스비를 청구할 수 있습니다. 엔트리포인트에 모든 유저 오퍼레이션에 대한 가스비가 모이면, 엔트리포인트는 번들러에게 ETH로 가스비를 제출함으로써 트랜잭션 처리 과정을 완료합니다.

계정 추상화 & VISA VISA는 가스비를 ERC-20 토큰으로 지불하는 페이마스터와 애플리케이션 측에서 가스비를 지원하는 페이마스터를 모두 도입하고 이에 대한 실험을 진행했습니다. VISA가 이러한 기술에 적극적으로 참여하는 이유는 무엇일까요?

VISA의 참여 동기 VISA는 현재 이더리움 네트워크의 효율성 문제를 해결하기 위해 계정 추상화라는 새로운 기술을 통해 개선할 수 있다고 믿고 있습니다. 이더리움 네트워크에는 약 2억 4000만 개의 계정이 있지만, 메인넷의 하루 평균 트랜잭션 수는 백만 개를 넘습니다. VISA는 이더리움 네트워크의 결제 활성화를 위해 계정 추상화를 통한 사용자 경험(UX) 개선과 가스비 결제 프로세스의 유연성이 반드시 필요하다고 강조하며, 현실 세계에서 하루에 7억 개가 넘는 거래를 처리하는 데 비교하면 이더리움 네트워크의 효율성 문제가 더욱 두드러진다고 설명합니다. VISA는 이러한 비효율성을 해결하기 위해 페이마스터에 집중하고 있으며, 페이마스터는 여러 ERC-20 토큰을 받아 유저를 대신하여 ETH로 가스비를 제출하는 역할을 수행합니다. 이러한 기능은 VISA의 현재 비즈니스 모델과 유사하며, 현실 세계에서 결제 비효율성을 해결하는 데 효과적인 방법이라고 생각됩니다. 따라서 VISA는 블록체인으로 확장하고, 이더리움 네트워크에서도 비슷한 문제를 해결할 수 있는 믿음을 가지고 페이마스터와 같은 신기술에 참여하고 있습니다.

 
ERC-20 토큰 가스비 지불 페이마스터

 

출처:  VISA Blog

 

첫 번째 페이마스터는 유저가 ETH가 아닌 다른 ERC-20 토큰으로 가스비를 지불할 수 있도록 해주는 페이마스터입니다. VISA는 특히 USDC와 같은 달러 스테이블코인 및 CBDC(Central Bank Digital Currency)로 가스비를 지불하는 데 중점을 두고 있으며, 실제로 작년 3월에 이더리움 네트워크에서 사용 가능한 화폐로 USDC가 추가되었으므로 이러한 자산을 적극적으로 도입하고자 합니다. 스테이블코인과 CBDC를 이용하여 이더리움 가스비를 지불하게 되면 유저는 네트워크의 네이티브 토큰을 준비해야 할 필요가 없어져서 진입 장벽이 낮아지며, VISA는 더 안정적인 자산인 스테이블 코인이나 CBDC를 수취할 수 있는 비즈니스 모델을 구축할 수 있게 됩니다. 이로써 양측 모두에게 이점이 생길 것입니다.
VISA의 페이마스터 컨트랙트는 이더리움 재단과 ERC-4337 코어 팀에서 제공하는 스타터 코드를 기반으로 하며, 가스비를 수령한 후 ETH로 전환하여 번들러에 제출하는 방식으로 작동합니다. 현재 실험 단계이며 계정 추상화가 아직 보편화되지 않았기 때문에 VISA 페이마스터를 사용할 수 있는 지갑은 이더리움 재단에서 개발한 트램펄린 지갑(Trampoline wallet)뿐이며, 번들러로는 웹 3 인프라 기업인 블록네이티브(Blocknative)의 퍼블릭 번들러를 사용하고 있습니다.

가스비 지원 페이마스터

 

출처:  VISA Blog


두 번째 페이마스터는 유저 대신에 가스비를 전액 지불해 주는 역할을 수행합니다. 이 페이마스터 또한 스타터 코드를 기반으로 만들어져 있으며, 현재는 VISA가 선정한 리스트에 포함된 유저가 생성한 유저오퍼레이션에 대해서만 아무런 보상 없이 가스비를 지원해 주는 실험을 진행하고 있습니다.

허용된 유저만 가스비를 지원해주고 있는 VISA 페이마스터 컨트랙트, 출처: cygaar 트위터

 

이더리움 계정 추상화와 VISA의 페이마스터 프로젝트는 블록체인 결제 시스템에 혁신을 가져올 수 있는 중요한 발전입니다. 가스비를 다른 ERC-20 토큰으로 지불하거나, 사용자가 가스비를 부담하지 않아도 되는 시스템을 구축함으로써 사용자 경험을 개선하고 블록체인 결제의 보편화에 기여할 수 있습니다. 현재까지는 사용자가 복잡한 결제 과정과 수수료를 지불하는 것이 블록체인 결제의 주요 장벽 중 하나였습니다. 하지만 이러한 기술적 발전을 통해 이러한 문제를 완화하고 블록체인 결제를 보다 쉽게 접근할 수 있게 될 것입니다.

또한, VISA와 같은 대형 기업이 이더리움 생태계에 진입하여 계정 추상화와 페이마스터 프로젝트를 통해 블록체인 결제를 혁신하려는 노력은 블록체인 기술의 상용화를 촉진할 수 있습니다. 이러한 노력은 블록체인 기술이 더 많은 사용자와 기업에게 열린 길을 제공하고, 금융 시스템의 혁신을 가속화할 수 있습니다.

계정 추상화와 페이마스터 프로젝트는 앞으로 블록체인 결제 시스템의 진화와 혁신을 주도할 중요한 요소로 간주될 것이며, 이러한 발전은 블록체인 생태계와 금융 시스템 전반에 긍정적인 영향을 미칠 것으로 기대됩니다.