1. 서론
지난 5월 17일, VISA가 이더리움 고얼리(Goerli) 테스트넷에 두 개의 페이마스터(Paymaster)를 배포했다는 사실을 발표하면서 많은 이들의 주목을 모았다. 해당 소식을 담은 리포트에는 VISA가 직접 고얼리 테스트넷에 배포한 페이마스터 컨트랙트와 실제로 처리된 트랜잭션 요청을 확인할 수 있다.
VISA는 21,000여 개의 금융기관이 합작하여 설립한 전 세계적인 디지털 결제 서비스 기업으로 200여 국가에서 2022년 한 해에만 약 2,580억 개의 결제를 처리하였다. 이처럼 상당한 영향력을 가진 글로벌 결제 서비스 기업이 블록체인 신기술 중에서도 아직 실사용이 활발히 일어나지 않고 있는 계정 추상화(Account Abstraction) 및 페이마스터 컨트랙트에 대한 실증 실험을 진행하고 있다는 뉴스는 블록체인 업계의 이목을 끌기 충분하였다. 계정 추상화가 무엇이고 페이마스터가 무엇이길래 이미 디지털 결제 서비스 산업의 리더 중 하나인 VISA가 새로운 변화를 끊임없이 시도하는 것일까? 이번 글에서는 VISA의 이번 사례를 중심으로 계정 추상화와 그것이 결제 시스템에 가져올 수 있는 혁신에 대해 살펴보겠다.
2. 계정 추상화(Account Abstraction)란?
2.1. EOA와 CA
먼저, 계정 추상화의 진정한 가치를 이해하기 위해서는 이더리움 계정(account)의 두 가지 종류인 EOA(Externally Owned Accounts)와 CA(Contract Accounts)에 대해 알아야 한다. 주로 이들은 각각 유저 계정과 스마트 컨트랙트로 불리는데, 두 계정은 보안, 검증, 트랜잭션 실행 가능 여부 등 다양한 방면에서 구별된다.
EOA
먼저 EOA는 사용자의 개인키(private key)로 제어되는 계정으로, 메타마스크(Metamask) 등 핫월렛에 보유한 계정이 대표적이다. 사용자는 EOA를 통해 트랜잭션을 생성하고 서명하여 자금을 이동시키거나 특정한 컨트랙트를 실행시킬 수 있다. 따라서 EOA는 마치 열쇠로 작동시키는 금고에 비유할 수 있는데, 쉽고 저렴하고 빠르다는 장점을 가지고 있지만, 계정의 모든 보안을 개인키 하나에 의존하고 있다는 점에서 도난 위험에 노출되어 있고 계정이 프로그래밍 불가능하다는 단점이 존재한다.
CA
EOA를 열쇠를 가진 금고에 보유했다면, CA는 프로그래밍 가능한 키패드로 작동되는 금고에 비유할 수 있다. CA는 개인키를 보유하고 있지 않기 때문에 스스로 트랜잭션을 실행시킬 수 없으며 반드시 EOA로부터 개인키를 통한 실행 요청이 들어와야지만 트랜잭션을 처리할 수 있다는 단점을 보유하고 있지만, EOA와 달리 계정이 프로그래밍 가능하다는 장점을 가지고 있다. 덕분에 CA는 보안성을 해치지 않으면서 비밀번호를 필요에 따라 변경할 수 있으며 생체인식 등의 기능도 추가될 수 있다. 따라서 CA는 어렵고 복잡하지만, 프로그래밍 가능하고 더욱 안전하다는 장점이 존재한다.
계정 추상화는 한 마디로 말해 EOA와 CA의 역할을 동시에 수행할 수 있도록 계정을 추상화시키는 것을 의미한다. 즉, 계정에 개인키가 없어도 트랜잭션을 실행 및 검증할 수 있도록 새로운 시스템을 구축하는 것이다. 계정 추상화 개념에 대한 논의는 2017년부터 이루어졌지만 유의미한 기술적 변화가 이루어진 것은 2021년 비탈릭 부테린(Vitalik Buterin)이 ERC-4337을 제안한 이후이다.
2.2. ERC-4337
ERC-4337은 합의 레이어(Consensus Layer)를 수정할 필요 없이 계정 추상화를 구현하고자 하는 제안으로, 합의 레이어에서 발생하는 트랜잭션 검증 및 실행 과정을 복제하여 애플리케이션 레이어에서 구현하고자 한다. 이를 위해 유저오퍼레이션(UserOperation), 엔트리포인트(EntryPoint), 번들러(Bundler), 그리고 페이마스터(Paymaster) 등 새로운 컨트랙트 및 주체들이 등장하였다.
기존 EOA 트랜잭션에서는 유저가 자신의 개인키를 활용하여 직접 트랜잭션을 생성하고 사인하여 퍼블릭 멤풀(mempool)에 제출하면, 검증인(validator)이 높은 가스비를 제출한 트랜잭션을 우선순위로 블록에 담아 이더리움 네트워크에 최종 블록을 제출하는 방식으로 트랜잭션이 처리되었다.
하지만 ERC-4337에서는 앞서 언급한 새로 도입되는 주체들로 인해 트랜잭션 처리 과정에 변화가 발생하는데, 전체적인 과정은 아래 그림과 같다.
위 그림을 살펴보면 ERC-4337에서 트랜잭션 처리 과정은 다음과 같다.
- 유저가 ERC-4337 호환 지갑을 통해 생성한 유저오퍼레이션을 유저오퍼레이션 멤풀로 전송.
- 번들러가 여러 유저오퍼레이션을 묶어 번들 트랜잭션을 생성.
- 해당 번들 트랜잭션을 엔트리포인트에 제출
- (옵션) 페이마스터 컨트랙트 호출 후 유저오퍼레이션 검증
- 엔트리포인트에서 각 유저오퍼레이션 검증 및 실행
즉, 합의 레이어에서 트랜잭션을 퍼블릭 멤풀에 제출하고, 검증인이 블록에 모아 트랜잭션을 검증 및 실행하는 기존 과정이 트랜잭션은 ‘유저오퍼레이션’으로, 퍼블릭 멤풀은 ‘유저오퍼레이션 멤풀’로 대체되고 여기에 ‘엔트리포인트’라는 새로운 과정을 추가함으로써 애플리케이션 레이어에서 트랜잭션을 처리할 수 있게 된 것이다. 이제 ERC-4337에서 핵심 주체들의 역할을 하나씩 자세히 살펴보며 ERC-4337이 유저들에게 어떠한 이로움을 가져다주는지 알아보겠다.
유저오퍼레이션(UserOperation)
유저오퍼레이션은 유저가 ERC-4337 호환되는 스마트 컨트랙트 월렛(Smart Contract Wallet, 이하 SCW)에서 생성하는 스마트 컨트랙트로, 기존 EOA 지갑에서 생성하는 트랜잭션에 비유할 수 있다. 엄밀히 말하면 유저오퍼레이션은 트랜잭션이 아니지만, 보유한 필드와 특징을 살펴보면 트랜잭션과 상당히 유사하다.
EOA에서 생성된 트랜잭션이 퍼블릭 멤풀로 보내져 이더리움 블록에 담길 차례를 기다리는 것과 마찬가지로, 유저오퍼레이션이 생성되면 유저오퍼레이션 멤풀로 보내진다.
번들러(Bundler)
번들러는 유저오퍼레이션 멤풀로 보내진 유저오퍼레이션을 모아 하나의 번들 트랜잭션으로 만들고 검증하는 주체로, 기존 트랜잭션 처리 과정에서 검증인과 유사한 역할을 수행한다. 번들 트랜잭션에 포함되는 유저오퍼레이션을 선발하는 순서 역시 EOA 트랜잭션 처리와 마찬가지로 가장 많은 가스비를 제출한 것들부터 트랜잭션에 포함시킨다.
이후 번들러는 엔트리포인트 컨트랙트를 호출하여 번들 트랜잭션에 담겨있는 각 유저오퍼레이션을 검증 및 실행하고 최종적으로 이더리움 합의 레이어에 번들 트랜잭션을 제출하기 위해 ETH로 가스비를 지불한다
엔트리포인트(Entry point)
엔트리포인트는 번들러가 번들 트랜잭션에 담겨있는 각 유저오퍼레이션의 검증 및 실행을 위해 호출하는 컨트랙트로, 검증을 위한 검증 루프(verification loop)와 실행을 위한 실행 루프(execution loop)를 거친다. 검증 루프에서는 각 유저오퍼레이션을 생성한 계정이 번들러에게 제출할 충분한 가스비가 있는지 확인하며, 실행 루프에서는 가스비 재검증 이후 번들 트랜잭션을 실행하고 잔여 가스비를 각 계정에 반환한다.
페이마스터(Paymaster)
페이마스터는 유저가 ETH가 아닌 다른 ERC-20 토큰으로 가스비를 지불할 수 있게 해 주거나 애플리케이션 측에서 가스비를 지원하는 기능을 제공한다. 페이마스터 컨트랙트는 앞서 설명한 번들러 및 엔트리포인트처럼 계정 추상화를 통해 트랜잭션을 처리하기 위해 반드시 필요한 주체는 아니긴 하지만, 그것이 유저들에게 제공하는 장점을 고려한다면 번들러와 엔트리포인트 못지않게 페이마스터 역시 계정 추상화의 핵심으로 볼 수 있다.
페이마스터 컨트랙트를 추가한다면 앞서 엔트리포인트에서 각 유저오퍼레이션을 검증하는 과정에 변화가 생기는데, 유저오퍼레이션을 생성한 계정을 확인하는 것이 아닌 가스비를 대신 지원해 줄 계정이 가스비를 지불할 만큼의 잔액을 가지고 있는지 확인한다.
ERC-20 토큰으로 가스비를 지불하려는 상황에서는, 유저오퍼레이션을 생성한 유저의 ERC-20 토큰 잔액이 충분한지 확인한 후에 가스비를 청구할 수 있다. 엔트리포인트에 모든 유저오퍼레이션에 대한 가스비가 모이면, 엔트리포인트는 번들러에게 ETH로 가스비를 제출함으로써 트랜잭션 처리 과정이 마무리된다.
3. 계정 추상화 & VISA
VISA는 가스비를 ERC-20 토큰으로 지불하는 페이마스터와 가스비를 애플리케이션 측에서 지원하는 페이마스터 모두 배포하였고 각각에 대한 실증 실험을 진행하였다. 글의 서론에서 언급한 5월 17일에 VISA가 공개한 리포트가 바로 이 내용에 대한 것이다. 그렇다면 VISA는 왜 페이마스터라는 신기술에 적극적으로 임하는 것일까?
3.1. VISA가 뛰어든 동기
VISA는 현재 이더리움 네트워크가 가지고 있는 비효율성을 계정 추상화라는 새로운 기술로 해결할 수 있다고 믿고 있다. 이더리움 계정의 수가 약 2억 4000만 개인 반면, 메인넷의 하루평균 트랜잭션은 백만 개를 상회한다는 사실을 언급하며 이더리움 네트워크의 결제가 더욱 활성화될 필요가 있다고 강조하였고, 그들이 현실 세계에서 하루 평균 7억 개가 넘는 거래를 성사시키는 것과 비교하면 그 차이는 더욱 두드러진다고 설명하였다. VISA는 이러한 비효율성을 해결하기 위해서는 계정 추상화를 통해 UX 측면의 개선 및 가스비 지불 과정의 유연화가 반드시 수반되어야 한다고 주장하였으며 여기서 핵심을 담당하는 페이마스터에 집중하였다.
여러 ERC-20 토큰을 받아 유저를 대신하여 ETH로 가스비를 제출하는 역할을 수행하는 페이마스터는 현실 세계에서 환전할 필요 없이 각 국가의 화폐로도 결제할 수 있는 시스템을 제공하는 VISA의 현재 비즈니스 모델과 매우 유사하다고 본 것이다. 즉, 현실 세계에서 결제의 비효율성을 해결하는 데 있어서 선두에 달리고 있는 VISA가 블록체인으로 넘어와서 비슷한 문제를 겪고 있는 이더리움의 네트워크에서도 활약할 수 있다는 믿음을 가지고 페이마스터라는 신기술에 뛰어든 것이라 볼 수 있다.
3.1.1. ERC-20 토큰 가스비 지불 페이마스터
첫 번째 페이마스터는 유저가 ETH가 아닌 다른 ERC-20 토큰으로 가스비를 지불할 수 있도록 해주는 페이마스터이다. VISA는 특히 USDC와 같은 달러 스테이블코인과 CBDC(Central Bank Digital Currency)로 가스비를 지불하는 것에 집중하고 있는데, 실제로 USDC의 경우 작년 3월 이더리움 네트워크에서 대금 지급에 사용될 수 있는 화폐로 추가된 만큼 적극적으로 도입을 고려하고 있다. 가격 변동성이 가장 작고 가치가 $1에 고정된 스테이블코인을 이더리움 가스비로 지불할 수 있게 된다면 유저 입장에서는 네트워크 별 네이티브 토큰을 준비해야 할 불편함을 없앨 수 있어 진입 장벽 완화를 기대할 수 있을 것이고, VISA 입장에서는 상대적으로 변동성이 큰 ETH를 비용으로 스테이블 코인 혹은 CBDC라는 안정적인 자산을 수취할 수 있는 비즈니스 모델을 구축할 수 있기 때문에 양측 모두에게 이득을 제공할 수 있을 것이다.
VISA의 페이마스터 컨트랙트는 이더리움 재단과 ERC-4337 코어 팀에서 제공하는 스타터 코드(starter code)에 기반하여 만들어졌으며 가스비를 수령 후 ETH로 전환하여 번들러에 제출하는 방식으로 작동한다. 아직 실험 단계이며 계정 추상화가 보편화되지 않았기 때문에, VISA 페이마스터를 사용할 수 있는 지갑은 이더리움 재단이 만든 트램펄린 지갑(Trampoline wallet)이 유일하며 번들러로는 웹 3 인프라 기업인 블록네이티브(Blocknative)의 퍼블릭 번들러를 사용하고 있다.
3.1.2. 가스비 지원 페이마스터
두 번째 페이마스터는 유저 대신에 가스비를 전액 지불해 주는 역할을 수행한다. 마찬가지로 스타터 코드를 기반으로 만들어졌으며, 현재는 VISA가 선정한 리스트에 포함된 유저가 생성한 유저오퍼레이션에 대해서만 아무런 보상 없이 가스비를 지원해 주는 실험을 하고 있다.
사실 사용자가 거래 수수료를 지불하는 시스템은 블록체인 생태계에서 두드러지는 특징으로, 특히 대한민국의 웹 2 p2p 금융 거래를 생각한다면, 전송 금액 외에 사용자가 추가적으로 수수료를 지불하는 것은 흔치 않은 일이다. 이러한 점이 사용자가 블록체인을 활용한 결제 시스템을 이용하는 데 높은 진입 장벽으로 작용하여 결국 블록체인 결제의 보편화를 저해할 수 있다. VISA는 위 가스비 지원 페이마스터 실험을 통해 유저가 무료로 자유롭게 이더리움 네트워크 위에서 트랜잭션을 진행할 수 있는 시스템을 구축하여 블록체인 결제의 보편화를 이루고자 한다.
이때 유저가 부담하지 않는 수수료 비용은 SCW나 프로토콜 측에 전가될 수 있다. 계정 추상화가 보편화될수록 이를 지원하는 SCW들 사이의 경쟁도 치열해질 것이다. 서로 더 많은 유저를 끌어들이기 위해 노력할 것이며 이러한 과정에서 유저의 가스비를 대신 제출해 주겠다는 SCW도 증가할 수 있다. 따라서 계정 추상화라는 기술의 발전에 더불어 SCW 간의 경쟁이라는 시장의 논리 덕분에 유저들은 추가적인 비용 없이 이더리움 네트워크에서 트랜잭션을 처리할 수 있게 될 것이다.
4. 결론
가스비로 다른 ERC-20 토큰을 지불하거나 혹은 아예 가스비를 지불하지 않아도 되는 결제 시스템을 구축한다면 유저 입장에서는 획기적인 UX 개선을 느낄 수 있을 것이다. 필자는 복잡한 결제 과정이 블록체인을 대중화시키는 데에 있어 존재하는 대표적인 장애물 중 하나라 생각한다. 가령 신규 유저가 이더리움 네트워크에서 트랜잭션을 처리하기 위해서는 ‘계정 생성 → ETH 구입 → ETH 계정으로 출금 → 트랜잭션 실행 → 여러 승인 요청 서명 → 가스비 지불 → 트랜잭션 처리 대기 → 트랜잭션 실행’이라는 복잡한 단계를 거쳐야 하는데, 각 단계는 신규 유저가 트랜잭션을 처리하는 데 있어서 모두 진입 장벽으로 작용한다. 예를 들어 수수료를 지불할 ETH가 부족한 경우, 많은 서명 요청에 승인하기 꺼려지는 경우 등을 꼽을 수 있다.
계정 추상화를 통한 가스비 지원은 이러한 비효율성을 완화하고 특히, 블록체인 결제 시스템을 복잡하다고 생각하는 잠재적인 유저들을 이끌어들이는 데 큰 효과를 보일 수 있다고 생각한다. 수수료를 지불할 ETH가 부족한 경우에는 다른 ERC-20 토큰으로 지불하거나 혹은 아예 가스비를 지불할 필요가 없기에 하나의 네트워크에 한정될 필요 없이 더 유연하게 블록체인 결제 시스템을 활용할 수 있게 된다.
2021년 ERC-4337에 대한 본격적인 논의가 시작된 이후, 수많은 크립토 기업들이 계정 추상화 실용화를 위해 노력하고 있다. 그 열기는 지난 4월 개최된 ‘ETHGlobal Tokyo’에서도 확인할 수 있었는데, Universal Payment와 Daypass Paymaster 프로젝트는 모두 ETHGlobal Tokyo에서 계정 추상화 부문에서 최우수상을 거머쥐었다.
- Universal Payment: 유니스왑(Uniswap) 팀이 참여한 프로젝트로, 페이마스터에 자금을 예치하면 일정 부분을 유니스왑 혹은 다른 어플리케이션에 유동성으로 제공
- Daypass Payment: 유저들에게 NFT를 제공하여 해당 NFT 홀더만 가스비 지원을 받을 수 있는 페이마스터
또한 지난 리댁티드 카르텔(Redacted Cartel) 아티클에서 살펴보았던 디네로(Dinero)의 리댁티드 릴레이어(Redacted Relayer) 역시, 자체 스테이블코인 DINERO로 가스비를 지불한다는 점에서 앞서 살펴본 사례들과 궤를 같이한다는 점을 알 수 있다.
현재 블록체인 산업은 과도기를 겪는 중이라고 생각한다. 미국 증권거래위원회(SEC)를 필두로 규제 위험이 지속적으로 제기되고 있는 한편, 국내를 비롯하여 최근 각국 정부 주도하에 CBDC 및 STO(Security Token Offering) 등을 통해 블록체인을 활용한 금융 시스템을 도입하려는 움직임이 활발히 이루어지고 있다. VISA의 이번 시도는 웹 2 거물이 앞장서서 이끄는 결제 시스템의 혁신이라는 점에서 그 의의가 크며, 그것이 블록체인 결제 보편화의 포문을 여는 첫걸음이 되기를 기대해 본다.
참고자료
- Ethereum, ERC-4337: Account Abstraction Using Alt Mempool, 2021
- VISA, Rethink Digital Transactions with Account Abstraction, 2023
- Decipher, UX관점에서 살펴보는 ERC-4337 Use case for Web3 Game, 2023
- Messari, The Account Abstraction Landscape: ERC-4337, Bundlers, and Paymasters, 2023