gas 스폰서십과 paymaster 알아보기

·8분 읽기·작성자: SSP Editorial Team
자가 수탁 사용자를 대신해 UserOperation의 gas를 부담하는 ERC-4337 paymaster 다이어그램

gas 스폰서십과 paymaster 알아보기

Ethereum의 모든 트랜잭션은 gas를 소모하며, 전통적인 계정에서는 트랜잭션을 보내는 사람이 곧 체인의 네이티브 코인으로 그 비용을 지불하는 사람입니다. 바로 이 하나의 규칙 때문에, stablecoin은 가지고 있지만 ETH는 없는 신규 사용자가 자기 자금을 움직이지 못하는 상황에 빠질 수 있습니다. account abstraction은 이 결합을 끊어내며, 그 끊어냄을 수행하는 기계 부품이 paymaster입니다. 이 글은 ERC-4337에서 paymaster가 무엇인지, 흐름의 어디에 자리하는지, 그리고 무엇보다도 자기 키를 직접 보관하는 사람에게 gas 스폰서십이 실제로 무엇을 의미하는지를 설명합니다.

이것은 account abstraction 시리즈의 네 번째 글입니다. 아래 용어들이 낯설다면 첫 번째 원리로 풀어보는 account abstraction부터 시작하세요. 그리고 gas 스폰서십이 그 위에 얹혀 있는 기반 수수료 모델에 대해서는 자가 수탁 사용자를 위한 Ethereum의 gas 수수료 설명을 읽어보세요.

paymaster란 실제로 무엇인가

paymaster는 smart contract입니다. 그것의 유일한 임무는 다른 사람의 오퍼레이션에 대한 gas를 부담하기로 동의하는 것입니다. ERC-4337 아래에서 smart account가 자신이 하고 싶은 일을 UserOperation으로 표현할 때, 그 오퍼레이션은 paymaster를 지정할 수 있습니다. paymaster가 동의하면, 계정이 아니라 그 paymaster가 네트워크에 gas 비용을 정산합니다.

여기에는 두 가지 형태가 있으며, 각각 사용자의 서로 다른 두 문제에 응답합니다.

  • gas를 통째로 스폰서하기. paymaster가 사용자를 대신해 수수료를 지불하고, 사용자는 gas에 대해 아무것도 내지 않습니다. 사람들이 "gas 없는(gasless)"이라고 말할 때 의미하는 바가 이것입니다.
  • ERC-20 토큰으로 지불을 받기. paymaster는 네트워크에 네이티브 코인으로 gas를 지불한 뒤, 대신 사용자에게 ERC-20 토큰 — 예컨대 stablecoin — 으로 청구합니다. 사용자는 ETH를 보유할 필요가 전혀 없으며, 이미 가지고 있는 토큰으로 정산합니다.

두 경우 모두 네트워크는 여전히 네이티브 코인으로 지불받습니다. gas가 공짜가 되는 것은 아닙니다. 유일한 물음은 누가 그것을 자금으로 대는가, 그리고 사용자가 그 비용을 어떤 단위로 체감하는가입니다.

paymaster는 흐름의 어디에 자리하는가

paymaster에게 지불을 맡겨도 되는 이유를 이해하려면, ERC-4337 오퍼레이션이 어떻게 이동하는지를 떠올리면 도움이 됩니다. smart account는 일반 트랜잭션을 보내지 않습니다. 별도의 mempoolUserOperation을 내보냅니다. bundler가 이를 모아 함께 묶고, 감사를 거친 EntryPoint 컨트랙트를 통해 온체인에 제출하는데, EntryPoint는 실행 전에 각 계정을 호출하여 그 계정의 검증 로직을 실행합니다.

paymaster는 검증 단계에서 등장합니다. EntryPoint가 paymaster를 지정하는 UserOperation을 처리할 때, 그것은 paymaster 자체의 검증 함수를 호출합니다. paymaster는 그 오퍼레이션을 살펴보고, 바로 그 자리에서 gas를 부담할 의향이 있는지 결정합니다. 동의하면, 그것은 사실상 EntryPoint에 지불을 보증하며, 오퍼레이션은 진행됩니다. 거절하면, 그 오퍼레이션은 스폰서되지 않습니다 — 계정이 지불하는 쪽으로 되돌아가거나, 그 조건으로는 통과되지 않습니다.

중요한 사고 모형은 이것입니다. 스폰서십은 검증 시점에, 컨트랙트에 의해, 특정 오퍼레이션에 대해 내려지는 결정입니다. 일괄적인 약속이 아닙니다. paymaster는 오퍼레이션을 보고 예 또는 아니요라고 말합니다.

gas 스폰서십은 무엇에 좋은가

수수료를 내는 자를 보내는 자로부터 분리하면, 몇 가지 구체적인 패턴이 풀려납니다.

  • 스폰서된 온보딩. 신규 사용자는 먼저 거래소에서 네이티브 gas 토큰을 마련하지 않고도 첫 행동 — swap, mint, 청구 — 을 완료할 수 있습니다. "무엇이든 하려면 먼저 ETH를 사야 한다"는 단계를 없애는 것은 account abstraction이 제공하는 가장 큰 마찰 감소 중 하나입니다.
  • dApp이 스폰서하는 수수료. 애플리케이션은, 웹 앱이 서버 비용을 흡수하듯, 제품적 결정으로서 사용자를 위해 gas를 지불하기로 선택할 수 있습니다. 사용자가 클릭하면, 앱의 paymaster가 그 오퍼레이션을 부담합니다.
  • stablecoin으로 수수료 지불하기. 사용자는 gas만을 위해 별도의 ETH 잔액을 유지하는 대신, 이미 거래하고 있는 토큰으로 수수료를 낼 수 있습니다. paymaster가 그 토큰을 받고 네트워크에 네이티브 코인을 선지급합니다.

이들 각각은 동일한 원시 구성 요소 — 스스로 정한 조건에서 gas를 지불할 의향이 있는 컨트랙트 — 가 서로 다른 문제에 적용된 사례입니다.

"스폰서됨"은 "공짜"가 아니다

경제적 측면에 대해서는 분명하게 말할 가치가 있습니다. "gas 없는"이라는 단어가 오해를 부르기 때문입니다. 네트워크는 언제나 gas를 네이티브 코인으로 부과합니다. 트랜잭션이 "스폰서될" 때, 그 비용은 사라진 것이 아닙니다. 누군가가 그것을 흡수하기로 동의한 것입니다. paymaster는 자금이 충당되어 있어야 하며, 그것에 자금을 대는 자 — 애플리케이션, 프로토콜, 서비스 — 는 마찰을 없애는 특권을 위해 실제 돈을 지불하고 있는 것입니다.

여기에는 자가 수탁 사용자가 명심해야 할 두 가지 귀결이 따릅니다.

  • paymaster는 거절할 수 있다. 스폰서십은 오퍼레이션별 결정이므로, 주어진 어떤 오퍼레이션이 부담되리라는 보장은 없습니다. 스폰서십 프로그램에는 자격 규칙이나 지출 상한이 있을 수 있고, 단순히 자금이 바닥날 수도 있습니다. "gas 없음"은 특정 흐름의 특성이지, 체인의 속성이 아닙니다.
  • 어떤 paymaster가 관여하는지 알아야 한다. paymaster는 당신의 트랜잭션에 참여하는 컨트랙트입니다. 당신이 상호작용하는 어떤 컨트랙트와도 마찬가지로, 그것이 누구의 paymaster이고 무엇을 하는지 이해할 가치가 있습니다 — 수수료를 스폰서하는 일 자체는 무해하지만, 그래도 신뢰는 중요합니다. 토큰으로 수수료를 낼 때, 당신은 paymaster가 그 토큰과 네이티브 코인 사이에 적용하는 어떤 환율이든 함께 받아들이는 것입니다.

이 가운데 어느 것도 paymaster를 피할 이유가 되지 않습니다. 그것들을 이해할 이유가 됩니다. 스폰서된 트랜잭션은 누군가가 제공하는 서비스이지, 프로토콜이 나눠주는 공짜 점심이 아닙니다.

자가 수탁에 무엇을 의미하는가

여기가 자기 키를 보유한 사람에게 가장 중요한 부분이며, 거꾸로 이해하기 쉬운 부분입니다. gas 스폰서십은 누가 수수료를 내는가를 바꿉니다. 누가 자금을 통제하는가는 바꾸지 않습니다.

paymaster가 당신의 gas를 부담할 때에도, 당신은 여전히 자기 키로 오퍼레이션에 서명합니다. paymaster는 당신의 자산을 움직이거나, 당신의 트랜잭션을 다른 곳으로 돌리거나, 당신을 대신해 무언가를 승인할 수 없습니다 — 그것은 오직 당신이 승인한 오퍼레이션의 수수료를 지불하는 데 동의할 수 있을 뿐입니다. 수탁은 손대지 않은 채로 남습니다. 당신의 자금 이전을 승인할 수 있는 유일한 당사자는 여전히 당신이며, paymaster는 단지 당신이 떠나기로 결정한 여정의 통행료를 내겠다고 자청했을 뿐입니다.

SSP에 한정해 말하면, 이것은 보안 모델과 자연스럽게 맞물립니다. SSP는 2-of-2 multisig을 중심으로 구축된 자가 수탁 지갑입니다. 한 키는 SSP Wallet 브라우저 확장에, 두 번째 키는 SSP Key 모바일 앱에 있으며, 모든 트랜잭션을 승인하려면 둘 다 필요합니다. EVM 체인에서 SSP는 Schnorr 집계된 2-of-2 서명을 검증하는 ERC-4337 smart account이며, 2025년에 Halborn의 감사를 받았습니다. ERC-4337 계정이기 때문에, 이 표준의 gas 메커니즘 — UserOperation이 paymaster에 의해 지불될 수 있는 능력을 포함하여 — 은 여느 ERC-4337 계정에 적용되는 것과 동일하게 SSP에도 적용됩니다. 전체 설계는 SSP account abstraction 아키텍처에서 다룹니다.

이것이 무엇을 약속하고 무엇을 약속하지 않는지 정확히 말하자면, ERC-4337은 gas 스폰서십과 토큰 지불 흐름을 가능하게 하며, SSP의 계정은 그 표준 안에 존재합니다. 당신이 하는 특정 트랜잭션이 스폰서되는지, 혹은 토큰으로 지불 가능한지는 당신이 사용하는 애플리케이션이나 지갑 흐름, 그리고 그 오퍼레이션에 paymaster가 관여하는지 여부에 달려 있습니다. 반면에 두 키 수탁 보장은 누가 gas를 내든 상관없이 언제나 유효합니다.

핵심 정리

paymaster는 UserOperation의 gas를 사용자를 대신해 지불할 수 있거나, 그 gas를 네이티브 코인 대신 ERC-20 토큰으로 지불하도록 할 수 있는 컨트랙트입니다. 그것은 검증 중에, 오퍼레이션별로 동의하며, 거절할 수도 있습니다. gas 없는 온보딩, dApp이 스폰서하는 수수료, stablecoin gas를 가능하게 합니다 — 거래의 문턱을 낮추는 실제적인 편의입니다. 그러나 "스폰서됨"은 "누군가가 자금을 댔음"을 뜻하지 "공짜"를 뜻하지 않으며, paymaster는 당신의 자산에 대한 어떤 통제권도 결코 얻지 못합니다. 자가 수탁 사용자에게 깔끔한 요약은 이렇습니다. paymaster는 누가 여정의 비용을 내는지를 바꿀 수 있지만, 자동차 열쇠는 여전히 당신이 쥐고 있습니다.

이 시리즈의 나머지

  1. 첫 번째 원리로 풀어보는 account abstraction — 왜 EOA가 제약이 되는지, 그리고 account abstraction이 무엇을 의미하는지.
  2. EOA 대 smart account: 중요한 차이들 — 두 계정 모델의 직접 비교.
  3. SSP account abstraction 아키텍처 — SSP가 ERC-4337을 2-of-2 지갑에 어떻게 엮는지.
  4. gas 스폰서십과 paymaster 알아보기 — 이 글: paymaster가 누가 내는가를 누가 보내는가로부터 어떻게 분리하는지.
  5. Ethereum이 아닌 체인에서의 account abstraction — 같은 발상이 Ethereum 너머로 어떻게 이동하는지.

표준 자체에 대한 권위 있는 참고 자료는 EIP-4337이며, Ethereum의 account abstraction 로드맵은 더 폭넓은 노력이 어디로 향하는지를 추적합니다. 먼저 표준을 따로 보고 싶다면 account abstraction(ERC-4337)이란 무엇인가?를 읽어보세요.

이 글 공유하기

관련 글