# 赎回机制

## **摘要**

Frax Ether 协议允许 frxETH 持有者通过 frxETH 赎回队列合约将其代币兑换为 ETH。由于 frxETH 由抵押在验证者节点中的 ETH 支持，这些验证者随后将被逐出，通过赎回合约进行 1:1 的 frxETH 兑换 ETH。选择赎回 frxETH 而非在二级市场（如 Curve 这样的自动做市商）进行交易的用户，随时可以将其 frxETH 发送至赎回合约，获得一个赎回 NFT。该 NFT 预定他们在队列中的位置，并通过时间戳显示他们的赎回时间。一旦达到时间戳，NFT 持有者可以调用一个函数，用其 NFT 兑换与其赎回的 frxETH 数量完全相等的 ETH（无需费用或滑点）。该赎回过程旨在防止抢跑、MEV 和其他套利外部性问题，确保持有赎回 NFT 的用户在队列中获得公平的位置。

## **frxETH 赎回队列**

frxETH 赎回队列是一个特定的等待时间系统，赎回者必须等待才能将 frxETH 兑换为 ETH。frxETH 赎回队列的等待时间计算公式为：`posEntryQueue+posExitQueue+deltaFactor`。这意味着等待时间是赎回时的入队和出队总时间加上由治理设定的额外时间，以便节点运营商有足够的时间准备验证者的逐出。

由于质押 sfrxETH 的用户不需要等待（与 ETH 质押者不同，ETH 质押者必须等待入队时间），因此该队列的时长是以太坊权益证明入队和出队总时长之和。如果 Frax Ether 系统在接收质押收益时没有入队时间，那么赎回者在退出时必须承担这一入队时间。赎回者必须等待入队和出队总时间，以便将 frxETH 兑换为 ETH。否则，该系统可能会面临攻击，比如在入队时间较长的情况下用户进入 sfrxETH，然后在权益证明出队时间较长时赎回 ETH。为避免这种攻击，frxETH 赎回系统要求赎回者等待入队和出队总时长及一个附加的 delta 因子。

**FraxEtherRedemptionQueue:** [`0x82bA8da44Cd5261762e629dd5c605b17715727bd`](https://etherscan.io/address/0x82bA8da44Cd5261762e629dd5c605b17715727bd#code)

<figure><img src="https://756501507-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJQZW1mSg2O5N7HXHo0-1995411665%2Fuploads%2Fy7dRL4HXwzfiFzwXjC25%2Fimage.png?alt=media&#x26;token=5ef369bb-220b-4c46-9552-d90376e62c9c" alt=""><figcaption><p>frxETH 赎回系统的完整交易流程</p></figcaption></figure>
