Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enhance Frax project description and algorithm explanation #1219

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions defi/Frax/algorithm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
Frax 的算法稳定性(Algorithmic Stability)设计最初通过部分算法、部分抵押来动态调整其稳定币(FRAX)的供应,最终实现价格锚定。
以下将通过技术分析和 JavaScript 演示来解释其原理。

### 1. **算法稳定的基础原理**

Frax 使用部分抵押和部分算法调节的机制来维持其稳定性。

- **抵押部分**:一部分 FRAX 是通过资产(如 USDC)完全抵押的。
- **算法部分**:另一部分 FRAX 是通过治理代币 FXS 作为铸币和销币工具。

当 FRAX 的市场价格偏离 $1 的目标时:
- **当 FRAX > $1**:系统会通过铸造更多 FRAX 来降低价格。
- **当 FRAX < $1**:系统会通过销毁 FRAX 来提升价格。

### 2. **关键参数**

- **Collateral Ratio (CR)**:抵押比率,代表有多少 FRAX 由抵押品支持。
初始设定 CR < 100%,通过市场和算法动态调整。

- **Target Price**:目标价格 $1。

- **Market Price**:FRAX 当前的市场价格。

### 3. **算法演示**

通过简单的 JS 模拟,展示如何根据市场价格动态调整 FRAX 和 FXS 的供需:

```javascript
// 假设市场价格与抵押比率的关系,动态调整 CR
let fraxPrice = 1.02; // 当前FRAX市场价格
let collateralRatio = 0.8; // 初始抵押比率
const targetPrice = 1.00; // 目标价格

function adjustCollateralRatio(currentPrice) {
if (currentPrice > targetPrice) {
// 价格高于目标价,需要降低抵押率以铸造更多FRAX
collateralRatio -= 0.01;
} else if (currentPrice < targetPrice) {
// 价格低于目标价,提高抵押率以减少FRAX供应
collateralRatio += 0.01;
}
collateralRatio = Math.max(0, Math.min(1, collateralRatio)); // 确保CR在[0,1]范围内
return collateralRatio;
}

// 模拟市场价格波动与抵押率动态调整
for (let i = 0; i < 10; i++) {
console.log(`Iteration ${i + 1}`);
console.log(`Market Price: $${fraxPrice.toFixed(2)}`);
console.log(`Collateral Ratio: ${(adjustCollateralRatio(fraxPrice) * 100).toFixed(2)}%`);

// 模拟市场价格变动
fraxPrice += (Math.random() - 0.5) * 0.05;
}
```

### 4. **代码解释**

- **初始价格和抵押率**:设置 FRAX 初始市场价格为 1.02,抵押率为 80%。
- **动态调整**:根据价格偏离目标值的程度调整抵押率,市场价格高于 $1 时降低抵押率,反之亦然。
- **模拟市场波动**:通过 `Math.random()` 生成随机价格波动。

### 5. **实际运行效果**

在实际的 Frax 协议中,这个过程会通过链上智能合约实现,结合 AMM(如 Fraxswap)和治理模块进行稳定性调控。

### 6. **改进后的完全抵押模式**

随着 Frax v3 的升级,FRAX 已转向完全抵押机制(100% CR)。算法部分更多用于流动性管理和收益生成(如 AMO)。

如果你希望运行这段代码并观察模拟结果,请告知,我可以为你提供实时演示!
41 changes: 33 additions & 8 deletions defi/Frax/readme.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,36 @@
# Frax
[Frax Finance](https://frax.finance/)
Frax Finance 是一个去中心化金融(DeFi)协议,旨在提供多种稳定币和相关金融服务。其核心目标是创建一个高度可扩展、无需信任、极其稳定的链上货币系统。Frax 的主要产品包括三种稳定币:FRAX、FPI 和 frxETH,以及多个子协议和治理代币。

1. 混合算法 —— Frax是第一个也是唯一的一个部分供应由抵押品和部分供应由算法支持的稳定币项目。抵押品和算法的比率取决于市场对稳定币的定价。如果FRAX的交易价格高于1美元,该协议将降低抵押品比率。如果FRAX的交易价格低于1美元,该协议将提高抵押品比率。
2. 去中心化&治理最小化——社区治理,强调高度自治、没有主动管理的算法。
3. 完全上链的预言机——Frax v1使用Uniswap (ETH, USDT, USDC时间加权平均价格)和Chainlink的oracle(美元价格)。
4. 两种代币—— FRAX是一种目标区间1美元/币左右的稳定币。Frax股份(FXS)是一种治理代币,用于产生费用、铸币税收入和超额抵押品价值。
5. 基于交换的货币政策——Frax利用Uniswap等自动做市商的原理,通过套利创造基于交换的价格发现和实时稳定激励机制。
**1. 核心稳定币**

- **FRAX**:与美元(USD)挂钩的稳定币,目标是保持 1:1 的价值比率,即每 1 FRAX 等于 1 美元。最初,FRAX 采用部分抵押机制,即通过 USDC 等抵押品和治理代币 FXS 的组合来维持其价值。然而,2023 年 2 月,Frax 社区投票通过了将 FRAX 转为完全抵押机制的提案,将抵押率设定为 100%,以消除算法元素,增强稳定性。

## 参考链接
- FRAX 总体介绍: https://proud-jumpsuit-f82.notion.site/FRAX-1faa585552a2400db22b18f029310bcb
- **FPI**:Frax 价格指数(FPI)是首个与一篮子消费品价格指数(CPI)挂钩的稳定币,旨在保持其购买力不受通货膨胀影响。FPI 的设计目标是提供一种对冲通胀的工具,使持有者的资产价值与现实世界的消费品价格保持一致。

- **frxETH**:与以太坊(ETH)挂钩的流动性质押衍生品(LSD),旨在 1:1 反映 ETH 的价值。用户可以将 ETH 存入系统,获得等量的 frxETH。此外,sfrxETH 是 frxETH 的收益变种,持有者可以通过质押 frxETH 获得质押奖励。

**2. 子协议和应用**

- **Fraxswap**:Frax 的原生自动化做市商(AMM),基于 Uniswap V2,增加了时间加权平均做市商(TWAMM)订单功能,用于在无需信任的情况下进行长周期的大宗交易。

- **Fraxlend**:一个无许可的借贷市场,允许用户在任意 ERC-20 代币之间创建市场,支持债务发起、自定义非托管贷款,以及将抵押资产引入 Frax 生态系统。

- **AMO(算法市场操作)**:Frax 运营多个 AMO 智能合约,以管理其抵押品并生成收益。例如,Curve AMO 和 Uniswap V3 AMO 等。

**3. 治理代币**

- **Frax Shares(FXS)**:Frax 生态系统的治理代币,持有者可以参与协议的治理决策,并从协议的收益中获得回报。FXS 的价值与 FRAX 的使用和需求密切相关。

- **veFXS**:用户可以将 FXS 锁定一段时间,获得 veFXS,以增加投票权和收益权重,类似于 Curve 的 veCRV 模型。

**4. 发展历程**

Frax 自 2020 年 12 月推出以来,经历了多个版本的迭代:

- **Frax v1**:初始版本,目标是构建一个部分算法的稳定币,通过动态调整抵押率(CR)来维持 FRAX 的稳定性。

- **Frax v2**:暂停去抵押化,推出 AMO,参与 DeFi 生态系统,如 Curve 战争,积累协议拥有的流动性,增强 FRAX 的稳定性和使用场景。

- **Frax v3**:引入真实世界资产(RWA),成为多元化完全抵押的稳定币,进一步增强 FRAX 的稳定性和抗风险能力。

总体而言,Frax Finance 通过创新的稳定币设计和多样化的金融服务,致力于在 DeFi 领域提供稳定、高效的金融工具,满足用户多样化的需求。
Loading