
Спонсирование gas и paymaster: объяснение
Каждая транзакция в Ethereum стоит gas, и в традиционном аккаунте тот, кто отправляет транзакцию, и есть тот, кто за неё платит — в нативной монете сети. Именно это единственное правило приводит к тому, что новый пользователь, у которого есть stablecoin, но нет ETH, может обнаружить, что не в состоянии переместить собственные средства. Account abstraction разрывает эту связь, а механизмом, который её разрывает, является paymaster. Эта статья объясняет, что такое paymaster в ERC-4337, где он находится в потоке и — самое главное — что спонсирование gas на самом деле означает для того, кто хранит собственные ключи.
Это четвёртая статья нашей серии об account abstraction. Если приведённые ниже термины кажутся незнакомыми, начните с Account abstraction с первых принципов; а с базовой моделью комиссий, на которой держится спонсирование gas, познакомьтесь в статье Комиссии gas в Ethereum для пользователей самостоятельного хранения.
Что такое paymaster на самом деле
Paymaster — это smart contract. Его единственная задача — согласиться покрыть gas чужой операции. В рамках ERC-4337, когда smart account выражает то, что хочет сделать, в виде UserOperation, эта операция может указать paymaster. Если paymaster согласен, то именно он — а не аккаунт — рассчитывается за стоимость gas с сетью.
Есть две разновидности этого, и они отвечают на две разные проблемы пользователя:
- Спонсировать gas напрямую. Paymaster платит комиссию от имени пользователя, и пользователь не платит за gas ничего. Именно это люди подразумевают под словом «без gas».
- Принять оплату в токене ERC-20. Paymaster платит сети gas в нативной монете, а затем берёт с пользователя плату в токене ERC-20 — скажем, в stablecoin. Пользователю никогда не приходится держать ETH; он рассчитывается тем токеном, которым уже владеет.
В обоих случаях сеть по-прежнему получает оплату в нативной монете. Gas не становится бесплатным; вопрос лишь в том, кто его финансирует и в какой деноминации пользователь ощущает эту стоимость.
Где paymaster находится в потоке
Чтобы понять, почему paymaster можно доверить оплату, полезно вспомнить, как путешествует операция ERC-4337. Smart account не отправляет обычную транзакцию. Он выпускает UserOperation в отдельный mempool. Bundler собирает их, упаковывает вместе и отправляет в сеть через проаудированный контракт EntryPoint, который обращается к каждому аккаунту, чтобы выполнить его логику валидации до исполнения.
Paymaster вступает в дело на этапе валидации. Когда EntryPoint обрабатывает UserOperation, в которой указан paymaster, он вызывает собственную функцию валидации этого paymaster. Paymaster изучает операцию и тут же решает, готов ли он покрыть gas. Если он соглашается, то фактически гарантирует оплату EntryPoint, и операция продолжается. Если он отказывает, операция не спонсируется — она либо возвращается к тому, что платит аккаунт, либо не проходит на этих условиях.
Важная ментальная модель такова: спонсирование — это решение, принимаемое в момент валидации, контрактом, в отношении конкретной операции. Это не обещание на все случаи. Paymaster смотрит на эту операцию и говорит «да» или «нет».
Чем полезно спонсирование gas
Отделение плательщика комиссии от отправителя открывает несколько конкретных сценариев:
- Спонсируемый онбординг. Новый пользователь может выполнить своё первое действие — swap, mint, получение токенов — не приобретая сначала нативный токен gas на бирже. Устранение этого шага «сначала нужно купить ETH, прежде чем что-либо делать» — одно из самых больших снижений трения, которое предлагает account abstraction.
- Комиссии, спонсируемые dApp. Приложение может выбрать оплату gas за своих пользователей как продуктовое решение — так же, как веб-приложение берёт на себя серверные расходы. Пользователь нажимает кнопку; paymaster приложения покрывает операцию.
- Оплата комиссий в stablecoin. Вместо того чтобы держать отдельный баланс ETH только ради gas, пользователь может заплатить комиссию тем токеном, которым уже оперирует. Paymaster берёт токен и авансирует сети нативную монету.
Каждый из этих случаев — это применение одного и того же примитива (контракта, готового платить gas на устанавливаемых им условиях) к разной задаче.
«Спонсировано» — это не «бесплатно»
Об экономике стоит сказать прямо, потому что слово «без gas» располагает к недоразумению. Сеть всегда взимает gas в нативной монете. Когда транзакция «спонсирована», эта стоимость никуда не исчезла; просто кто-то согласился её на себя принять. Paymaster должен быть профинансирован, и тот, кто его финансирует — приложение, протокол, сервис, — платит реальные деньги за привилегию устранить трение.
Из этого следуют два вывода, которые пользователю самостоятельного хранения стоит держать в уме:
- Paymaster может отказать. Поскольку спонсирование — это решение по каждой операции, нет гарантии, что какая-либо конкретная операция будет покрыта. У программ спонсирования могут быть правила соответствия требованиям, лимиты расходов или они просто могут исчерпать средства. «Без gas» — это особенность конкретного потока, а не свойство сети.
- Вам следует знать, какой paymaster задействован. Paymaster — это контракт, участвующий в вашей транзакции. Как и с любым контрактом, с которым вы взаимодействуете, стоит понимать, чей это paymaster и что он делает: спонсировать комиссию безобидно, но доверие всё равно имеет значение. Когда вы платите комиссии токеном, вы также принимаете тот обменный курс, который paymaster применяет между этим токеном и нативной монетой.
Ничто из этого не повод избегать paymaster. Это повод их понимать: спонсированная транзакция — это услуга, которую кто-то оказывает, а не бесплатный обед, раздаваемый протоколом.
Что это значит для самостоятельного хранения
Вот часть, которая важнее всего для того, кто хранит собственные ключи, и её легко понять наоборот. Спонсирование gas меняет то, кто платит комиссию. Оно не меняет того, кто контролирует средства.
Когда paymaster покрывает ваш gas, вы по-прежнему подписываете операцию собственными ключами. Paymaster не может переместить ваши активы, перенаправить вашу транзакцию или авторизовать что-либо от вашего имени — он может лишь согласиться оплатить комиссию за операцию, которую авторизовали вы. Хранение остаётся нетронутым. Вы по-прежнему единственная сторона, способная одобрить перевод ваших средств; paymaster просто вызвался оплатить проезд за поездку, которую вы решили совершить.
Применительно к SSP это естественно согласуется с моделью безопасности. SSP — это кошелёк самостоятельного хранения, построенный вокруг multisig 2-of-2: один ключ — в браузерном расширении SSP Wallet, второй — в мобильном приложении SSP Key, и оба нужны для одобрения каждой транзакции. На EVM-сетях SSP является smart account ERC-4337, проверяющим Schnorr-агрегированную подпись 2-of-2, проаудированным Halborn в 2025 году. Поскольку это аккаунт ERC-4337, механика gas этого стандарта — включая возможность того, что UserOperation оплачивается paymaster, — применяется к нему так же, как к любому аккаунту ERC-4337. Полный дизайн рассматривается в архитектуре account abstraction SSP.
Чтобы быть точным в том, что это обещает, а что нет: ERC-4337 делает возможными спонсирование gas и потоки оплаты токеном, и аккаунты SSP существуют внутри этого стандарта. Будет ли конкретная совершаемая вами транзакция спонсирована или оплачиваема токеном, зависит от приложения или потока кошелька, который вы используете, и от того, задействован ли paymaster для этой операции. Гарантия же хранения с двумя ключами, напротив, действует всегда, независимо от того, кто платит gas.
Вывод
Paymaster — это контракт, который может оплатить gas некоторой UserOperation от имени пользователя или позволить оплатить этот gas в токене ERC-20 вместо нативной монеты. Он соглашается на это во время валидации, по каждой операции, и может отказать. Он делает возможными онбординг без gas, спонсируемые dApp комиссии и gas в stablecoin — реальные удобства, снижающие барьер для совершения транзакций. Но «спонсировано» означает «профинансировано кем-то», а не «бесплатно», и paymaster никогда не получает никакого контроля над вашими активами. Для пользователя самостоятельного хранения краткое резюме таково: paymaster могут изменить, кто платит за поездку, но ключи от машины по-прежнему у вас.
Остальная часть этой серии
- Account abstraction с первых принципов — почему EOA ограничивают и что означает account abstraction.
- EOA против smart account: различия, которые имеют значение — прямое сравнение двух моделей аккаунтов.
- Архитектура account abstraction SSP — как SSP встраивает ERC-4337 в кошелёк 2-of-2.
- Спонсирование gas и paymaster: объяснение — эта статья: как paymaster отделяют того, кто платит, от того, кто отправляет.
- Account abstraction в сетях, отличных от Ethereum — как та же идея путешествует за пределы Ethereum.
Что касается самого стандарта, авторитетный источник — это EIP-4337, а дорожная карта account abstraction Ethereum отслеживает, куда движутся более широкие усилия. Если вы хотите сперва ознакомиться со стандартом отдельно, прочитайте Что такое account abstraction (ERC-4337)?.


