Fei Protocol 的 创始人 Joey 最近提出了名为「Asynchronous ERC-4626 Tokenized Vaults」的提案 EIP-7540。 这一提案旨在通过添加对异步存款和赎回流程的支持,来扩展 ERC-4626 代币化金库(Tokenized Vaults) 标准。
为什么 ERC4626 需要扩展?
随着交易需求的不断增长,涉及金融交易和资产管理的复杂性也不断增加。ERC-4626 为资产存款和赎回操作提供了一种标准化的方式,但它在处理异步操作或有延迟的情况下存在限制,当达到限制后,不允许新的存款或赎回请求,这不适用于需要异步操作的复杂的资产交易。异步操作指的是不会立即执行而是需要一些时间或依赖于外部条件或事件的操作。异步操作不会阻塞执行线程,用户不必等待长时间看到操作结果后进行下一步,他们可以提交请求后继续浏览应用或执行其他任务。通过引入异步操作,EIP-7540 扩展了 ERC-4626 的适用范围,为 DeFi 生态系统提供更大的灵活性和互操作性。
为什么需要异步操作?
当下流动性质押如火如荼的进行着,在这一背景下,异步赎回的需求变得尤为明显。ERC4626 可以通过支持标准化存款、标的(如 ETH)和质押份额之间的转换来有效地对流动性质押金库(vault)进行建模,但问题出在用户的提款上。在大多数流动性质押的情况下,由于质押奖励的锁定期,用户只能在特定的时间点请求提款。这种提款操作需要金库建立自己的跟踪系统,跟踪每个用户打算提取的金额,还需要精确的计时提款窗口,并配置管理员来确保提款在正确的时间进行。而 EIP-7540 下,用户可以随时请求赎回,不必等待提款窗口或提款时间。用户在有需求时使用 requestRedeem
来请求赎回,然后使用 pendingRedeemRequest
来监控他们发出的请求(下面会详细解释)。当资金可用时,自动进行提款。
此外,当涉及到 RWA 领域,代币化金库的智能合约需要与外部数据或者实际资产进行通信,实际资产可能需要时间来验证,这些都需要异步操作来完成的。一些复杂的金融交易操作需要多步骤的流程,包括批准、验证和清算,这些步骤不能立即完成,并且有些场景下可能需要根据实时数据或事件触发,而不是等待固定时间,异步操作可以满足这些需求。
异步存取的流程
EIP-7540 定义了异步存取的流程,通过引入请求(Request)实现这一目标。请求会经历待处理、可声明、已声明三个主要阶段。
Pending(待处理):在这个阶段,用户通过调用「
requestDeposit」或者是「requestRedeem」
函数提交异步存款或赎回请求。在提交后,请求被标记为待处理 ,相应的 「pendingDepositRequest」或「pendingRedeemRequest」
会增加。Vault 记录了这些待处理请求,表示资产或份额已被锁定,但尚未被实际转移。requestDeposit:
允许用户将资产锁定到 Vault 中pendingDepositRequest
:用于查询操作者在待处理阶段请求中的资产数量。
Claimable(可声明):当 Vault 可以满足请求,请求变为可声明时,表示请求已准备好被执行。操作者可以调用相应的存款、赎回函数来执行请求。
Claimed(已声明):在此阶段,实际的存取操作已完成。资产已转移,相应的值会相应减少或增加。Vault 记录了已声明的请求和相应的状态更改。
EIP-7540 的优势
同时支持不同类型请求:在 ERC-4626 中,Vault 只能对请求时完全已知的数量进行确定的操作,因此必须专注于一种类型的请求(要么 deposit/withdraw,要么 mint/redeem),无法同时支持deposit 和 mint 或 withdraw 和 redeem。EIP-7540 可以做到。
流程的可选择性:某些用例只需要在请求和赎回之间的一个流程异步化,而另一个流程可以保持同步。例如,流动性质押代币,解锁期需要支持异步提现,但存款可以是完全同步的。
不允许请求的早期终止(short-circuiting):不允许请求的早期终止可以确保请求按照预期的方式进行处理,防止集成者产生混淆。
不必依赖于用户的所有权:requestDeposit
和 requestRedeem
上操作员参数的引入允许智能合约代表用户管理请求的生命周期,而不必依赖于用户的所有权或接收方的定义。
向后兼容性:EIP-7540 的接口保持了与早期版本的 ERC-4626 的向后兼容性,使现有的实现能够平滑过渡到新的规范。
总的来说,EIP-7540 提供了一种异步操作标准化方式,以便智能合约系统可以更好地处理异步存款和赎回流程,将异步操作引入 Vault 合约,从而使更多的协议能够与 Vault 互操作,增加了 ERC-4626 的适用范围,为 DeFi 生态系统提供更大的灵活性和互操作性。