去中心化金融笔记(三)—— Uniswap V3 详解

  • 0xHowe
  • 更新于 2023-08-21 12:40
  • 阅读 2192

B站梁培利老师《区块链金融》课程笔记 完整笔记请查看 Notion 链接:https://dune-marten-78b.notion.site/85b1d29c86344112a886fcfb2ea1c44c?pvs=4

加粗为自己添加的内容 配套课程视频:【01 区块链金融课程简介】- B站 课程实验以及讲义:liangpeili/defi-practices - Github 完成的实验代码: https://github.com/DestinyWei/defi-practices https://github.com/DestinyWei/defi-theory 若有任何问题或错误,可在Notion评论或直接评论 完整笔记请查看 Notion 链接:https://dune-marten-78b.notion.site/85b1d29c86344112a886fcfb2ea1c44c?pvs=4

Uniswap V3

Uniswap V3 的改进

  1. 提高资金利用率(集中流动性,即只针对某一个范围做流动性,而不是从无穷小到无穷大都做流动性),增加 LP 深度
  2. 增强价格预言机的方便性和准确性
  3. 灵活的手续费收取机制(0.05% / 0.3% / 1%)

Uniswap V2 的资金利用率

在这里插入图片描述

在 V2 中,当我们想要做流动性时需要添加 x 和 y 数量的代币才能实现,但实际参与点到池子流动性的代币数量只有 $x{real}$ 和 $y{real}$,除去这两个部分的资金部分一直都没有被使用到,因此在 V2 当中资金利用率不算很高

示例

在这里插入图片描述

假设当前处于 c 点的位置,x 表示 ETH,y 表示 DAI,两者的价格在 a 到 b 的范围内波动,在 V2 当中我们需要在 c 点投入 10 ETH 和 200 DAI,而在 V3 当中我们只需要在 c 点投入 $x{real}$ 和 $y{real}$ 数量即 5 ETH 和 100 DAI,此时资金的利用率翻了一倍

流动性提供的方式

在这里插入图片描述

在 V2 中提供流动性是可以从 0 到无穷进行提供,但代币的价格从 0 到无穷大的范围内波动的概率很低,一般只会在一个小的范围内波动。所以 V3 允许用户只在某一个小范围区间提供流动性,如图Ⅱ。当多个用户都在自己设定的小范围区间提供流动性时,系统的流动性会变成图Ⅲ

提供 LP 作为限价订单

我们可以像在中心化交易所那样通过做 LP 来做限价订单,区别在于中心化交易所的限价订单的价格是固定的,而 Uniswap 则需要你提供一个小范围

还是以前面的图为例,比如当前 ETH 价格在 c 点,我们预测 ETH 会跌即向 a 点移动,此时我们只需要提供 $y{real}$ 数量的 DAI,而不用提供 $x{real}$ 数量的 ETH。当 ETH 跌到超过 a 点的位置,我们投入的 DAI 便会全部换成 ETH,但如果 ETH 的价格又回到了超过了 a 点的位置,那么我们手里的 ETH 会全部换回 DAI

应用场景

  • 稳定币的兑换(0.99 — 1.01)
  • Interest-bearing ASSET:xSushi/Sushi 等
  • 固定收益债券
  • IDO
  • 保险

影响

  • 波动比例大 ($\frac{\Delta x}{x}$ 和 $\frac{\Delta y}{y}$,我们在 Uniswap V3 中提供的 x 和 y 都比较小,所以波动比例大)
  • 无常损失高
  • LP 挖矿实现机制的更改
  • 手续费计算复杂
  • LP Token:ERC20 → ERC721

Virtual Reserves

在这里插入图片描述 在这里插入图片描述

Virtual Reserves 其实就是前面我们所提到的在 V2 当中没有被利用到的资金量即 $x_v$ 和 $y_v$

由上图我们可以推导出

$$ \begin{align} &x*y=k=L^2 \Rightarrow L=\sqrt{k} \ &x=x_{real}+xv \ &y=y{real}+y_v \end{align} $$

给定 a,b,L 的情况下,求 $x_v$ 和 $y_v$,此时我们已经得知

$$ \left{ \begin{aligned} & xy=L^2 \ & P=\frac{y}{x} \end{aligned} \right. \Rightarrow \left{ \begin{aligned} & x=\frac{L}{\sqrt{P}} \ & y=L\sqrt{P} \end{aligned} \right. $$

在 b 点,其为范围的上限,此时 $x_{real}=0$,所以

$$ x=x_{real}+x_v=\frac{L}{\sqrt{P_b}} \Rightarrow x_v=\frac{L}{\sqrt{P_b}} $$

在 a 点,其为范围的下限,此时 $y_{real}=0$,所以

$$ y=y_{real}+y_v=L\sqrt{P_a} \Rightarrow y_v=L\sqrt{P_a} $$

将 $x_v$ 和 $y_v$ 代入 (6) 可得

$$ \begin{aligned} (x_{real}+xv)*(y{real}+yv)=L^2 \ (x{real}+\frac{L}{\sqrt{Pb}})*(y{real}+L*\sqrt{P_a})=L^2 \end{aligned} $$

根据最后得出的公式,我们可以得到下面的图:

在这里插入图片描述

虚拟流动性案例分析

在这里插入图片描述 在这里插入图片描述

注意:因为 $P$ 是使用 $\frac{y}{x}$ 来计算的,所以 $P$ 的单位应该是 DAI / ETH 即一个 ETH 等于多少 DAI

当前价格在 c 点,求 $x_v$ 和 $y_v$

$$ \begin{aligned} &x_v=\frac{L}{P_b}=\frac{20\sqrt{10}}{\sqrt{16000}}=0.5 ETH \ &y_v=L\sqrt{P_a}=20\sqrt{10}\sqrt{1000}=2000 DAI \end{aligned} $$

在 c 点,$\frac{y{real}}{x{real}}=4000$ 的时候,求 $x{real}$ 和 $y{real}$

$$ \left{ \begin{aligned} &(x{real}+0.5)*(y{real}+2000)=4000 \ &\frac{y{real}}{x{real}}=4000 \end{aligned} \right . \Rightarrow \left{ \begin{aligned} &x{real}=0.5 \ &y{real}=2000 \end{aligned} \right . $$

在 b 点,$\frac{y{real}}{x{real}}=8000$ 的时候,求 $x{real}$ 和 $y{real}$

$$ \begin{aligned} &x=x_{real}+xv \Rightarrow 0.5=x{real}+0.5 \Rightarrow x{real}=0 ETH \ &y=y{real}+yv \Rightarrow 8000=y{real}+2000 \Rightarrow y_{real}=6000 DAI \end{aligned} $$

在 a 点,$\frac{y{real}}{x{real}}=2000$ 的时候,求 $x{real}$ 和 $y{real}$

$$ \begin{aligned} &x=x_{real}+xv \Rightarrow 2=x{real}+0.5 \Rightarrow x{real}=1.5 ETH \ &y=y{real}+yv \Rightarrow 2000=y{real}+2000 \Rightarrow y_{real}=0 DAI \end{aligned} $$

如果降到 a 点,移除流动性,会得到多少 x 和 y?

在 a 点 $(x_r,y_r)$ 为 $(1.5,0)$,相当于以均价 $\frac{6000}{1.5}=4000$ 的价格把 6000 个 DAI 换成了 1.5 个 ETH,如果缩小 a,b 点的距离,一定程度上起到了限价订单的作用

假设当前市价为 c 点,用户在超过 a 点或 b 点的位置添加流动性时,只需要添加其中一种代币而不需要同时添加两种代币(具体原因会在后面进行分析)

  • 在超过 a 点的位置表示当前 ETH 价格降低,此时用户只需要投入 DAI。这里我们可以理解为用户预估 ETH 价格会跌,所以想要在超过 a 点的位置做流动性,当 ETH 价格到达该位置时,用户之前所投入的 DAI 将会自动换成 ETH,也就是所谓的“低吸”
  • 在超过 b 点的位置表示当前 ETH 价格增加,此时用户只需要投入 ETH。这里我们可以理解为用户预估 ETH 价格会涨,所以想要在超过 b 点的位置做流动性,当 ETH 价格到达该位置时,用户之前所投入的 ETH 将会自动换成 DAI,也就是所谓的“高抛”

在这里插入图片描述

不同价格区间,流动性 L 和 $x_r$ 和 $y_r$ 的关系

在 Uniswap V2 中,如果想在 c 点添加流动性,需要提供 $(1,4000)$。在 Uniswap V3 中,同样的流动性曲线,只需要真实提供 $(0.5,2000)$,便可以在 a,b 点之间达到同样的 k 值 $(k=x*y)$。如果在 V3 中,真实提供 $(1,4000)$。那么 k 值 $(k=L^2)$ 会如何变化呢?

在这里插入图片描述

注:图中的 $x_r$ 和 $y_r$ 是 a 点和 b 点减去 Virtual Reserves 的结果

  1. 如果在价格 $P \le P_a$ 时,提供流动性,k 值(L 值会如何变化?)

当 $P \le P_a$ 时, $y_r=0$

$$ \begin{aligned} (x_r+\frac{L}{\sqrt{P_b}})L\sqrt{P_a} &= L^2 \ x_r+\frac{L}{\sqrt{P_b}} &= \frac{L}{\sqrt{P_a}} \ x_r=L(\frac{1}{\sqrt{P_a}}-\frac{1}{\sqrt{P_a}}) &= L\frac{\sqrt{P_b}-\sqrt{P_a}}{\sqrt{P_a}\sqrt{P_b}} \ L &= x_r\frac{\sqrt{P_a}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P_a}} \end{aligned} $$

故两者关系为:当 $x_r$ 变大,L 也变大

在这里插入图片描述

  1. 如果在价格 $P \ge P_b$ 时,提供流动性,k 值(L 值会如何变化?)

当 $P \ge P_b$ 时, $x_r=0$

$$ \begin{aligned} \frac{L}{\sqrt{P_b}}(y_r+L\sqrt{P_a}) &= L^2 \ y_r+L\sqrt{P_a} &= L\sqrt{P_b} \ y_r &= L*(\sqrt{P_b}-\sqrt{P_a}) \ L &= \frac{y_r}{\sqrt{P_b}-\sqrt{P_a}} \end{aligned} $$

故两者关系为:当 $y_r$ 变大,L 也变大

在这里插入图片描述

  1. 当 $P_a \lt P \lt P_b$ 时,提供流动性,k 值(L 值会如何变化?)

当 P 处于 $P_a$ 和 $P_b$ 之间的任意一点,$x_r$ 和 $y_r$ 对于维护 $[P_a,P_b]$ 之间的流动性贡献是一样的(因为他们处于同一条曲线,故两者流动性相同)

在这里插入图片描述

先计算 $(P,P_b)$价格之间,单纯由 $x_r$ 贡献的流动性

$$ L=x_r\frac{\sqrt{P_a}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P_a}} =x_r\frac{\sqrt{P}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P}} $$

再计算 $(P_a,P)$价格之间,单纯由 $y_r$ 贡献的流动性

$$ L=\frac{y_r}{\sqrt{P_b}-\sqrt{P_a}} =\frac{y_r}{\sqrt{P}-\sqrt{P_a}} $$

所以

$$ L =x_r\frac{\sqrt{P}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P}} =\frac{y_r}{\sqrt{P}-\sqrt{P_a}} $$

案例解析(以虚拟流动性案例分析中的例子为例)

$P_a=1000,P_b=16000,P=4000$

  1. 当 $P=P_a$ 时,$(x_r,y_r)=(1.5,0)$

$$ \begin{aligned} L &= x_r\frac{\sqrt{P_a}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P_a}} \ &= 1.5\frac{\sqrt{1000}\sqrt{16000}}{\sqrt{16000}-\sqrt{1000}} \ &= 1.5\frac{\sqrt{16000}}{\sqrt{16}-1} \ &= 0.540\sqrt{10} \ &= 20\sqrt{10} \end{aligned} $$

  1. 当 $P=P_b$ 时,$(x_r,y_r)=(0,6000)$

$$ \begin{aligned} L &= \frac{y_r}{\sqrt{P_b}-\sqrt{P_a}} \ &= \frac{6000}{\sqrt{16000}-\sqrt{1000}} \ &= \frac{6000}{30\sqrt{10}} \ &= 20\sqrt{10} \end{aligned} $$

  1. 当 $P=P_c$ 时,$(x_r,y_r)=(0.5,2000)$

$$ \begin{aligned} L &= \frac{x_r\sqrt{P}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P}} \ &= \frac{0.5\sqrt{4000}\sqrt{16000}}{\sqrt{16000}-\sqrt{4000}} \ &= \frac{0.5\sqrt{16000}}{\sqrt{4}-1} \ &= 0.540\sqrt{10} \ &= 20\sqrt{10} \end{aligned} $$

$$ \begin{aligned} L &= \frac{y_r}{\sqrt{P}-\sqrt{P_a}} \ &= \frac{2000}{\sqrt{4000}-\sqrt{1000}} \ &= \frac{6000}{20\sqrt{10}-10\sqrt{10}} \ &= \frac{200}{\sqrt{10}} \ &= 20\sqrt{10} \end{aligned} $$

因此,我们回到最开始的那个问题

如果在 V3 中,真实提供 $(1,4000)$。那么 k 值 $(k=L^2)$ 会如何变化呢?

即在 $P=4000$,$(P_a,P_b)=(1000,16000)$,$(x_r,y_r)=(1,4000)$ 的情况下,求 L

$$ L = \frac{x_r\sqrt{P}\sqrt{P_b}}{\sqrt{P_b}-\sqrt{P}} = \frac{1\sqrt{4000}\sqrt{16000}}{\sqrt{16000}-\sqrt{4000}} = \frac{1*\sqrt{16000}}{\sqrt{4}-1} = 40\sqrt{10} $$

Uniswap V3 无常损失的计算

在这里插入图片描述

仍然以图中的这个数据来进行举例计算,分别计算当用户在 c 点添加 $(1,4000)$ 的流动性且价格从 c 点变到 a 点时 V2,V3 中的无常损失

在 Uniswap V2 中

$$ \begin{aligned} Vc &= 1*4000+4000=8000 \ V{hodl} &= 11000+4000=5000 \ V_2 &= 21000+2000=4000 \ \therefore V2中 & 无常损失为(V_{hodl}-V_2)=1000 \end{aligned} $$

在 Uniswap V3 中,因为 V3 多了一个 Virtual Reserves 及其曲线与 V2 也有差异,在 V2 添加的流动性数量同样添加到 V3 中会有更大的影响,因此我们必需先计算出该 V3 曲线的 $x_v,y_v$,再去反推某个点上的 $x_r,y_r$,最后才进行价格的计算

在 c 点 $(x_r,y_r)=(1,4000)$,先求 $x_v,y_v$

$$ \begin{aligned} x_v &= \frac{L}{\sqrt{P_b}}=\frac{40\sqrt{10}}{\sqrt{16000}}=1 \ y_v &= L\sqrt{P_a}=40\sqrt{10}\sqrt{1000}=4000 \end{aligned} $$

由此可得实际曲线为:

在这里插入图片描述

在 a 点

$$ \left{ \begin{aligned} x &= x_r+x_v \ y &= y_r+y_v \end{aligned} \right . \Rightarrow \left{ \begin{aligned} 4 &= x_r+1 \ 4000 &= y_r+4000 \end{aligned} \right . \Rightarrow \left{ \begin{aligned} x_r &= 3 \ y_r &= 0 \end{aligned} \right . \ \begin{aligned} V3 &= 3*1000=3000 \ V{hodl} &= 1*1000+4000=5000 \ \therefore V3中 & 无常损失为(V_{hodl}-V_3)=2000 \end{aligned} $$

由此我们可以看出,Uniswap V3 的无常损失更大

我们再将其抽象为更通用的模型:

在这里插入图片描述

前提条件

$$ \left{ \begin{aligned} & xy=k \ & P=\frac{y}{x} \end{aligned} \right . \Rightarrow \left{ \begin{aligned} & x=\frac{\sqrt{k}}{\sqrt{P}} \ & y=\sqrt{k}\sqrt{P} \end{aligned} \right . $$

$$ \begin{aligned} 在V3中 \ x_v &= \frac{L}{\sqrt{P_b}}=\frac{\sqrt{k}}{\sqrt{P_b}} \ y_v &= L\sqrt{P_a} = \sqrt{k}\sqrt{P_a} \end{aligned} $$

  1. 假设起始价格 $P_0$,变化后的价格 $P_1$ 都满足 $P_0,P_1 \in [P_a,P_b]$,求此时的无常损失(无手续费)

$t_0$ 的时候 $(x_0,y_0),P_0=\frac{y_0}{x_0},x_0*y_0=k$

$$ t_0 \left{ \begin{aligned} & t_1:(x_1,y_1),P_1=\frac{y_1}{x1} \ & t{hodl}:(x_0,y_0),P_1=\frac{y_1}{x_1} \end{aligned} \right . \ f(d)=\frac{V1-V{hodl}}{V_{hodl}}=\frac{V1}{V{hodl}}-1 $$

同时在前面我们还计算得到

$$ \begin{aligned} x &= x_{real}+xv \ y &= y{real}+y_v \ x_1 &= \frac{\sqrt{k}}{\sqrt{P_1}} \quad y_1 = \sqrt{k}\sqrt{P_1} \ x_0 &= \frac{\sqrt{k}}{\sqrt{P_0}} \quad y_0 = \sqrt{k}\sqrt{P_0} \end{aligned} $$

通过上面的这些公式,我们可以计算出

$$ \begin{aligned} V1 &= x{real}P1+y{real} \ &= (x_1-x_v)P_1+(y_1-y_v) \ &= (\frac{\sqrt{k}}{\sqrt{P_1}}-\frac{\sqrt{k}}{\sqrt{P_b}})P_1+(\sqrt{k}\sqrt{P_1}-\sqrt{k}\sqrt{P_a}) \ &= 2\sqrt{k}\sqrt{P_1}-\sqrt{k}\sqrt{P_a}-\frac{\sqrt{k}}{\sqrt{P_b}}P_1 \end{aligned} $$

$$ \begin{aligned} V{hodl} &= x{real}P1+y{real} \ &= (x_0-x_v)P_1+(y_0-y_v) \ &= (\frac{\sqrt{k}}{\sqrt{P_0}}-\frac{\sqrt{k}}{\sqrt{P_b}})P_1+(\sqrt{k}\sqrt{P_0}-\sqrt{k}\sqrt{P_a}) \ &= \sqrt{k}(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})*\sqrt{k} \end{aligned} $$

$$ \begin{aligned} f(d) &= \frac{V1-V{hodl}}{V_{hodl}}=\frac{V1}{V{hodl}}-1 \ &= \frac {2\sqrt{k}\sqrt{P_1}-\sqrt{k}\sqrt{P_a}-\frac{\sqrt{k}}{\sqrt{P_b}}P_1} {\sqrt{k}(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})\sqrt{k}} -1 \ &= \frac {2\sqrt{P_1}-\sqrt{P_a}-\frac{P_1}{P_b}} {(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})} -1 \end{aligned} \tag 1 $$

  1. 其他条件不变,假设变化后的价格 $P_1 \lt P_a$,计算无常损失

在 $P_1 \lt Pa$ 时,$y{real}$ 为 0

$$ \begin{aligned} V1 &= x{real}P1+y{yeal} \ &= x_{real}P_1 \ &= (\frac{\sqrt{k}}{\sqrt{P_1}}-\frac{\sqrt{k}}{\sqrt{P_b}})*P_1 \end{aligned} $$

$$ \begin{aligned} f(d) &= \frac {(\frac{\sqrt{k}}{\sqrt{P_1}}-\frac{\sqrt{k}}{\sqrt{P_b}})P_1} {\sqrt{k}(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})\sqrt{k}} -1 \ &= \frac {(\frac{1}{\sqrt{P_1}}-\frac{1}{\sqrt{P_b}})P_1} {(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})*P_1+(\sqrt{P_0}-\sqrt{P_a})} -1 \end{aligned} \tag 2 $$

  1. 其他条件不变,假设变化后的价格 $P_1 \gt P_b$,计算无常损失

在 $P_1 \gt Pb$ 时,$x{real}$ 为 0

$$ \begin{aligned} V1 &= x{real}P1+y{yeal} \ &= y_{yeal} =y-y_v\ &= \sqrt{k}\sqrt{P_1}-\sqrt{k}*\sqrt{P_a} \end{aligned} $$

$$ \begin{aligned} f(d) &= \frac {\sqrt{k}\sqrt{P_1}-\sqrt{k}\sqrt{P_a}} {\sqrt{k}(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})\sqrt{k}} -1 \ &= \frac {\sqrt{P_1}-\sqrt{P_a}} {(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})*P_1+(\sqrt{P_0}-\sqrt{P_a})} -1 \end{aligned} \tag 3 $$

由 (1) 我们可以得知,当 $P_a$ 趋向于 0,$P_b$ 趋向于 $\infty$ 的时候

$$ \begin{aligned} f(d) &= \frac {2\sqrt{P_1}-\sqrt{P_a}-\frac{P_1}{P_b}} {(\frac{1}{\sqrt{P_0}}-\frac{1}{\sqrt{P_b}})P_1+(\sqrt{P_0}-\sqrt{P_a})} -1 \ &= \frac{2\sqrt{P_1}}{\frac{P_1}{\sqrt{P_0}}+\sqrt{P_0}}-1 \ \because P_1 &= P_0d,则 \ f(d) &= \frac{2\sqrt{P_0d}}{\frac{P_0d}{\sqrt{P_0}}+\sqrt{P_0}}-1 \ &= \frac{2\sqrt{d}}{1+d}-1 \end{aligned} $$

从这看出其与 V2 的公式相同,即说明 V3 的公式推导正确

在这我们说回前面所提到的问题

假设当前市价为 c 点,用户在超过 a 点或 b 点的位置添加流动性时,只需要添加其中一种代币而不需要同时添加两种代币

在这里插入图片描述

V3 与 V2 最大的不同是引进了集中流动性并带来了 Virtual Reserves,当我们在上面的曲线添加流动性时必须要用减去 $x_r,y_r$ 的值之后的曲线再进行计算。否则在原来的曲线进行计算,即使在超过 a 点或 b 点的位置添加流动性,其结果仍会是两种代币都需要添加;而使用减去 $x_r,yr$值之后的曲线进行计算则可以得到正确的结果,因为当处于超过 a 点或 b 点的位置,$x{real}$ 或 $y_{real}$ 总会有一个超出范围而变为 0(如下两图),即只需要添加一种代币即可

在这里插入图片描述 在这里插入图片描述

同时我们需要的注意的是,当我们是在下图的情况下(市价在 c 点,想要在 d 点到 e 点添加流动性)时,其仍需同时添加两种代币。因为本质上其仍处于 $x{real}$ 和 $y{real}$ 的范围之内

在这里插入图片描述

Staking Rewards

这是一个关于用户抵押资金,在一段时间之后取回本金并计算可以拿到多少奖励的算法

在这里插入图片描述

由此引出了相应的数学公式:

在这里插入图片描述

使用上面的公式进行计算时,有时候不利于开发者编写代码(一是在最后统一进行计算需要对每个用户进行轮询计算,代码难以实现;二是这么做 gas 费会很高),因此对上面公式的表达进行了修改即计算 k 到 n-1 秒的奖励从原先的直接计算改为通过计算从 0 到 n-1 秒的奖励减去 从 0 到 k 秒的奖励:

在这里插入图片描述

示例:

只有一个用户质押

在这里插入图片描述

有两个用户质押,并且中途有用户进行提款操作

在这里插入图片描述

多个用户参与质押与提款

在这里插入图片描述

算法设计

在这里插入图片描述

最后,这部分的材料来源:Staking Rewards - Intro | DeFi - YouTube

再补充一个个人认为比较好的相关材料:流动性挖矿-合约原理详解 — xyyme.eth


后续笔记会在之后发布,让我们尽情期待,您也可以关注我的推特账号(@weihaoming)以获取更多笔记资源……

点赞 1
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
0xHowe
0xHowe
0xE3aa...6658
区块链本科在读 | Web3 buidler and researcher | Everything is possible!