关于zkSync Era必须要了解的知识(十三)
May 10th, 2023

Paymaster

 想象一下能够为您的协议的用户支付费用!Paymaster是可以补偿其他账户交易的账户。paymasters 的另一个重要用例是方便使用 ERC20 代币支付费用。虽然 ETH 是 zkSync 中的gas代币,但 paymasters 可以提供将 ERC20 代币即时兑换成 ETH 的能力。

 如果用户想与付款人互动,他们应该在他们的 EIP712 交易中提供非零paymaster地址。paymaster 的 paymasterInput 字段中提供了 paymaster 的输入数据。

 #出纳员验证规则

 Tops:

l 验证规则尚未完全执行。

l 即使您的Paymaster目前在工作,如果不遵守以下规则,将来也可能会停止工作。

 由于应该允许多个用户访问同一个paymaster,恶意 paymaster可以对Era的系统进行 DoS 攻击。为了解决这个问题,一个类似于EIP4337 信誉评分的系统将会被使用。

 与原始 EIP 不同,付款人可以接触任何存储槽。此外,如果满足以下任一条件,出纳员将不会受到限制:

 l API 节点验证通过后已经超过 X 分钟(X 的具体值将在后面定义)。

l 读取的槽的顺序与 API 节点上运行期间的顺序相同,并且值已更改的第一个槽是用户的槽之一。这是为了保护Paymaster免受恶意用户的侵害(例如,用户可能已经删除了 ERC20 代币的配额)。

 #内置Paymaster流程

 虽然一些付款人可以在没有任何用户交互的情况下进行简单的操作(例如,始终为用户支付费用的协议),但有些付款人需要交易发送者的积极参与。一个值得注意的例子是将用户的 ERC20 代币交换为 ETH 的 paymaster,因为它要求用户为 paymaster 设置必要的津贴。

 帐户抽象协议本身是通用的,允许帐户和付款人实现任意交互。然而,默认账户 (EOA) 的代码是不变的,但Era仍然希望它们能够参与自定义账户和付款人的生态系统。这就是为什么Era对paymasterInput交易领域进行了标准化,以涵盖 paymaster 功能的最常见用例。

 用户的账户可以自由实施或不实施对这些流程的支持。但是,强烈建议保持 EOA 和自定义帐户的界面相同。

 

Subscribe to zkSync
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from zkSync

Skeleton

Skeleton

Skeleton