技術詳解剛剛上線的 Fei Protocol 運作機制與代幣經濟模型
本文發布於鏈聞ChainNews,作者:鐘捷,Zonff Partners 合夥人。
Rai stone 或 Fei stone 是密克羅尼西亞雅浦群島當地居民製造並珍視的眾多大型手工藝品之一,它們也被稱為雅浦石錢。RAI (Reflexer Labs)和 FEI (Fei Protocol)。今天我們要了解的就是 Fei。
若想完整理解本文,請事先閱讀完整的白皮書及項目公告,白皮書中已有的內容,若本文提及將會⼀筆帶過,本文會在重點之處提出和白皮書中不⼀樣的看法或對白皮書中的內容做進⼀步的延伸。
日程及基本概念介紹
Fei 協議基本介紹
「飛」協議的目標是保持 ETH/FEI 的交易價格緊緊跟隨 ETH/USD 的價格,並保持市場的⾼流動性。FEI 采⽤的是⼀種新型的穩定幣機制,我們把他稱為 直接激勵機制 來實現此目的。該機制利用動態的流動性挖礦獎勵和基於 DEX 交易量的銷毀懲罰機制來錨定到⼀個固定價格(1 美元),初始我們將在 Uniswap 啟動這⼀協議,後期根據需要可以通過治理來增加並更新 其他的 DEX 平台和流動性激勵。初始流通的「飛」 代幣 FEI 只能通過以 ETH 計價的聯合曲線來購買,這裡我們把這些通過購買進來的 ETH 定義為協議控制資產價值 Protocol Controlled Value (以下簡稱 PCV)。
PCV 是完全由協議擁有並控制的鎖定在智能合約中的資產,而不是之前⼴泛存在的 I OWE YOU (IOU)欠條,前者可以理解成 Total Value Locked (TVL)的⼀種更強大用例的子集。FEI 協議創世時將用PCV 全部資產為 Uniswap 上的 ETH/FEI 提供流動性,這是一種不需要超額抵押的「流動性擔保」模型。
隨著供應的增長,聯合曲線的代幣價格接近預⾔機的固定價格,當 Uniswap 價格高於錨定價時可確保產生套利機會,而如果 Uniswap 價格低於錨定價⼀段時間則 PCV 可以提供流動性來支撐其回到錨定價。
FEI 協議的治理代幣我們稱為 TRIBE 部落 代幣,TRIBE 獎勵給 Uniswap 的 FEI/TRIBE 的 LP 持有者。FEI 「飛」協議具有其他的穩定幣協議不具有的核心優勢,它保證了去中心化和可擴展,同時新的代幣供應公平的分配給了新的需求⽅。PCV 為「飛」協議提供了更大的靈活性以保證項⽬的長期目標,FEI 代幣持有者真正從⼀個高穩定度和高流動性的穩定幣協議中受益。
PCV
PCV 是 FEI 協議中最重要的概念(此處篇幅較大)。 PCV 最明顯的⼀個⽤例是,讓協議成為 Uniswap 等自動做市商 (AMM) 的流動性提供者 (LP)。 在交易量足夠情況下,該協議將從本質上控制交易對的匯率。 它可以使⽤其 PCV 來做市場的對手方來重新平衡價格,可以鎖定或燃燒多餘的代幣。 舉個例⼦飛協議擁有 90% 的流動性。 飛協議可以⾃動執⾏以下交易 :
- 收回所有流動性 (990 FEI 和 900 USDC)
- 將~5 USDC 換為~5 FEI(剩餘流動性為~105/105 FEI/USDC)
- 以 1:1 的匯率再供應 895 FEI 和 895 USDC 上述交易的淨效果是協議花費了 5 個 USDC 的 PCV 來恢復錨定價格,即 FEI 還是 1USDC 的匯率 (1000FEI:1000USDC)
當然白皮書舉的這⾥例⼦,並未考慮 Uniswap AMM 算法的恆定乘積及滑點問題。(不考慮 gas)流程如下圖所示。
圖表 1.1 PCV 流動性占⽐0.9 初始價格 FEI/USDC=0.91,PCV 再供應維持匯率價格過程(不考慮 AMM 特徵),來源:Zonff Partners
當考慮 Uniswap AMM 算法的恆定乘積及滑點時,可以看到是將 4.88 個 USDC 置換成了 5.12 個 FEI。
圖表 1.2 PCV 流動性占⽐0.9 初始價格 FEI/USDC=0.91,PCV 再供應維持匯率價格過程(考慮 AMM 特徵),來源:Zonff Partners
當 PCV 流動性占 Uniswap 總流動性⽐為 0.0465,我們可以看到,FEI 協議中所有的 USDC (46.54 個)被⽤
來進⾏再供應。 也就是此時 Fei 協議中的 USDC 被榨⼲了才能恢復 FEI/USDC=1 的匯率。
圖表 1.3 PCV 流動性占⽐0.0465 初始價格 FEI/USDC=0.91,PCV 再供應維持匯率價格過程(考慮 AMM 特徵),來源:Zonff Partners
圖表 1.4 PCV 流動性占⽐0.0465 初始價格 FEI/USDC=0.5,PCV 再供應維持匯率價格過程(考慮 AMM 特徵),來源:Zonff Partners
綜上:我們可,看到協議最終都能夠控制 PCV 使得 FEI/USDC 的價格恢復到 1。 但是起始的匯率不同,起始的 FEI 協議控制的 LP token 的占⽐不同,會使得協議達到⽬標匯率付出的代價不同,甚⾄具有不同的極限,超過這個極限值協議本身講不可能調整斜率到 1,也就是 FEI 協議流動性擊穿。
我們在不考慮以上⼿續費的情況下,將以上過程數學公式化。 來模擬推導 FEI 協議流動性擊穿過程。
PCV 擊穿過程
當滿⾜(1.1.10) 關係時,意味著 PCV 中的⽤於維持⽬標匯率 P~end~ 的 Z 已經消耗殆盡。 FEI 協議將不能維持⽬標匯率,此時會造成 PCV 擊穿,也就是不能再維持 FEI 與 USDC 的價格。 FEI 的價格將取決於 Uniswap 中的 FEI
的數量和 ETH 數量,此時⾮常容易造成踩踏,也就是外部的湧⼊FEI 將會繼續兌換 ETH。 使得 FEI 的價值下跌得,⽽FEI 的價值下跌這⼀信號會加速⼈們恐慌性的拋出⼿中的 FEI,使得 FEI 的價值進⼀步螺旋下降。
協議設計機制
⻜協議有幾個核⼼組件 :Fei core (內核)、 Fei stablecoin (穩定幣)、 bondingcurve(s) 聯合曲線、PCV Deposits PCV 存⼊、 PCV Controllers PCV 控制器、 Fei IncentivesFEI 激勵、 TRIBE governance token TRIBE 治理代幣和 DAO 組織。
圖表 1.5 FEI 協議設計機制來源:FEI⽩⽪書
⻜協議通過 TRIBE Token 來管理整個系統的運轉,在 Uniswap 上跑的 FEI 的基礎架構核⼼由 FEI 內核、 FEI 穩定幣和價格預⾔機組成;激勵系統有 Staking Pool 和激勵的智能合約構成;PCV 協議控制資產值由聯合曲線,PCV 的存⼊和 PCV 控制器所組成。
Fei 內核
Fei Core 是 Fei 協議的訪問控制中⼼,它定義了下⾯的⻆⾊以及每個⻆⾊可以做什麼,它還控制哪個合約對應哪個⻆⾊,各個⻆⾊如下:
- 挖礦 Minter-鑄幣 FEI 到任何地址燒毀 Burner-從任何地址燃燒 FEI
- 控制 Controller-從初始存款移動 PCV 的進出
- 治理 Governor-可以授予 / 撤銷任何⻆⾊,並升級協議組件,TRIBE and DAO⼀節進⼀步討論。
FEI 代幣
FEI 是⻜協議的錨定穩定幣,遵循 ERC-20 標準,FEI 的供應是⽆上限的,Minter 和 Burner 合約通過聯合曲線和交易激勵控制其發⾏。 FEI 代幣有⼀些⾮標準的 ERC-20 功能,但僅針對部分交易。 有動態激勵會給到涉及到想要給激勵的地址,激勵地址是⻜協議想要激勵某些⾏為的特定合約地址。 激勵合約控制著每次激勵的流動⽅向和額度。 激勵合約被指定為鑄幣 Minter 和銷毀 Burner,如果⽤戶將 FEI 發送到⼀個激勵地址,他們的餘額將受到鑄幣 Minter 或銷毀 Burner 過程影響⽽產⽣變化。 ⻜協議的主要激勵地址在 FEI/ETH uniswap 池。
- FEIp : 協議控制的 FEI,部署在 LP 池或不同 PCV 控制的其他池⼦
- FEIb : 聯合曲線分配給⽤戶的 FEI,每個聯合曲線會計算各⾃的數量
- FEIu : ⽤戶控制的 FEI,總供應量 FEI 減去少 FEI
聯合曲線
圖表 1.6 FEI 聯合曲線來源:FEI⽩⽪書
⼀旦聯合曲線達到 Scale 階段規模,它將固定匯率在 1 美元+b。 b 是⼀個緩衝值,使平均價格保持在 1 美元左右。 當任何⼆級市場價格超過 $1 + b 時,就存在⽆⻛險盈利機會。 套利者可以在聯合曲線購買 FEI,然後在⼆級市場上出售獲利。 在 b = 0 時,價格⽅差⼤部分低於 1 美元。 通過添加緩衝區 b(最初設置為 1%),$1 以上也有⼀些價差空間。 考慮這種價格調整機制,定價函數修改為
對聯合曲線等價變換
對(1.6.1)進⾏變形得到單位 FEI 的 USD 價格為
對聯合曲線進⾏積分,以確定從給定供給量 r 到另⼀供給量 s 所需的 USD 數量 Q(USD):
變換的後的聯合曲線以 USD 計更加直觀。
FEI 激勵
我們將在 FEI 代幣⼀節討論 FEI 激勵合約的機制。 本節主要討論激勵合約如何維持錨定匯率。 最初只有單⼀激勵的 Uniswap ETH/FEI 池,如果價格低於錨定匯率,激勵合約將向交易者提供 FEI 鑄幣,下⼀個買⼊FEI 的交易者將獲得該鑄幣,作為協助恢復錨定價格的獎勵。 這⼀激勵措施是與錨定價格的距離的時間加權平均。
銷毀在官⽹公中有更新為:
在錨定價格以下時任何波動應該導致淨通縮才對,此時任何與購買有關的激勵都不應超過為達到那個價格 銷毀的數量,這樣就導致代幣的通縮。 將總激勵更新為:
每次 Uniswap 交易恢復錨定價格時,時間變量 t 將重置為 0。 如果⼀筆交易部分接近了錨定價格,t 將乘以⼀個 mend/mstart 系數。 若按照錨定價格需要交易量靠近了 40% 時間變量 t 減少 40%,t 會以速率 r 恢復增⻓。
PCV 控制器
調整權重意味著協議利⽤其控制的 PCV 將 ETH/FEI 的現貨價格拉回到錨定價格。 在假設交易者不願⽀持拉回錨定價格的不利條件下,這⼀點很重要,即使在 I(x,t) = B(x)(銷毀和激勵⼀樣的狀態)的最⼤時間權重下,FEI 的激勵也可能不夠。 在這個情況下協議將利⽤PCV 控制器把價格價格拉回到錨定價格。 具體過程詳⻅下文。
早期參與 FEI3 個階段
創世階段
任何⼈都可以通過在 DApp 承諾為 FEI 簽署 ETH 來獲得 FEI (按照 ETH 份額並⾮按照聯合曲線)。 每個⼈在創世階段獲得的 FEI 的價格相同。 聯合曲線創世⽬標發⾏100,000,000 FEI,起價 0.50 美元。 參與創世的成員可以⽀付的最⾼價格是 $1.01/FEI。
FEI 和 TRIBE 將在 2021 年 4⽉3⽇下午 12:01(太平洋時間) 在創世結束時發布。 北京時間 4⽉4⽇凌晨 4 點。
IDO
IDO 的作⽤是為 TRIBE-FEI 提供初始流動性,為 Pre-Swap 做準備。 IDO 的上市價格確定如下 : 取 TRIBE 在 Genesis 的完全稀釋估值,並將其設為在 Genesis 聯合曲線上購買的 FEI 數量。 因此,在 IDO 中 20%TRIBE 將與 Genesis 創世 20% 的 FEI⼀起放⼊Uniswap 提供 Tribe-FEI 流動性,IDO 是為了 Pre-Swap 做準備和⽤戶⽆關。
Pre-Swap
為防⽌在最初的 FEI-TRIBE 池部分⼈中搶先交易。 FEI 協議允許⽤戶選擇直接為 TRIBE 交換他們的 FEI 的 Genesis 分配。 ⽤戶可以 Pre-Swap 他們 從 Genesis 任意百分⽐來的 FEI 交換 TRIBE。 預交換將參與者在 Genesis 獲得的 FEI,並在啟動流動性池初始化時將其交換給 TRIBE。 Pre-swap 的作⽤是防⽌搶跑,使得⼤家在 Pre-Swap 之後的得到的 TRIBE 價格⼀致。 操作也在 DApp 中完成。 創世階段完成後,Pre-Swap 緊接著完成。
常見的概念誤區
創世階段哪⼀天進去協議都是⼀樣的。
聯合的曲線的作⽤是根據 ETH 總量對 FEI 進⾏定價最後定價的結果取決於創世結束時 ETH 的價格和 ETH 的數量,並⾮像資⾦盤⼀樣。
IDO 和 Pre-Swap 有區別。 IDO 是為 Pre-Swap 提供價格發現和⼀部分流動性。
Pre-Swap 完成時,每個⼈換取 Tribe 的價格都是⼀致的。
Pre-Swap 完成後 創世空投的 Tribe 才可以進⾏交易。
TRIBE 經濟模型介紹分析
圖表 2.1 TRIBE 經濟模型介紹,來源:Zonff Partners
可以⽐較容易的看到 TRIBE 的 Staking APY 相較於傳統的流動性挖礦項⽬⽽⾔是⾮常低的。 第⼀年的 APY 在 10%-20% 左右。 短期內並不能在初期 TRIBE 本身幣價讓⼤家 fomo 買 TRIBEStakeing 強烈⽀撐,但是。
FEI 幣價定價過程
根據 1.6 節和 1.7 節,我們已經知道了創世過程中的 ETH 總價值決定了 FEI 的具體發⾏數值。
⽬標發⾏的 FEI 數量為 1 億個。 起始發⾏價為 0.5。 最⾼發⾏價為 1.01 美元。
0.5 FEI/USD 初始發行過程
FEI 項⽬⽅採取的是⽅式⼀⽽⾮⽅式⼆,這樣的發⾏理論上會讓 FEI 在聯合曲線中擁有較低的定價,也就是需要更多價值的 USD 才能觸碰到 1.01 價格。 但是實際上那種⽅式都會讓聯合曲線觸碰到達到 Q(USD)/1.01 的定價。
沿著⽅式⼀,我們繼續推導,當創世池中有價值多少 USD 的 ETH 的時候,FEI 的匯率會變成 1.01 呢? S=100,000,000 K=1/3 S=33,333,333.33 代⼊(3.1.3)中,令
解得:
當 Q=223,601,552USD 時,FEI 的聯合曲線定價為 1.01USD
同理⽅式⼆下,當 Q=167,701,164USD 時,FEI 的聯合曲線定價為 1.01USD。
若從 0USD 開始 FEI 的創世發⾏
從 0USD 開始創世發⾏,記做⽅式三得到創世過程最後得到的 FEI 數量為 y3 時
同理可以解得當 Q= USD,FEI 聯合曲線的定價為 231,817,725 USD。
FEI 為何要從 0USD 開始 FEI 的創世發行
其實個⼈認為也沒有太⼤的必要。
方式⼀:Q=223,601,552USD ,FEI=1.01USD, ⽅式三:Q=231,817,725 USD ,FEI=1.01USD。
我們知道⽅式三相當於把聯合曲線拉得更平。
我們已經知道了 FEI 的發⾏數量 Y 和存⼊的 ETH 價值 Q(USD) 之間的函數關係時。 Q(USD)/Y 的經濟意義就是聯合曲線中⽣成單位 FEI 需要的 USD 價值⼤⼩。
可以通過直觀的繪圖來看到項⽬⽅這麼做的原因。 萬⼀沒有沒有達到⽬標中 2.2 億 USD 價值 ETH 存⼊時。FEI 的成本在⽅式 3 中具有較好的效果。 但是我們知道對於項⽬⽅最有利的其實是⽅式⼆。 然⽌項⽬⽅並未發現該⽅案。
我們在同⼀直⻆坐標系下,以 Q(USD) 為橫軸軸,以 Q(USD)/Yn 為縱軸得到如下的相關關係可以看到 Q(USD) 和 FEI 之間的關係。
圖表 3.1 Q(USD) 不同聯合曲線 FEI 創世價格。來源:Zonff Partners
燒傷函數與激勵函數理解分析
燒傷函數
我們知道當 FEI 低於 1USDC 的時候,⽆論是向 Uniswap 中發送 FEI 還是添加流動性,都会先被銷毀⼀部分 FEI 才能夠完成後續的操作。 在 1.8 節中,我們對公式 (1.8.3) 進⾏變形。
可以看到式 (4.2) 和式 (1.8.2)⾮常接近。
圖表 4 FEI 價格與燒傷,數據來源:Zonff Partners
激勵函數
當 FEI 價格低於 1USDC 時,在 Uniswap 中提供 ETH 買⼊FEI 的⼈將獲得獎勵,這⼀獎勵的上限是賣出 FEI 燒 傷,這樣做是為了保證 FEI 協議的淨通縮。
當激勵函數和燒傷函數值相等時,意味著與購買 FEI 相關的激勵達到了極限,⽽此時價格仍然沒有達到錨定價格,此時就就需要 PCV 使⽤協議擁有的 ETH-FEI 進⾏再平衡操作。 再平衡操作在 1.2 節有詳細演示。 PCV 是有極限位置的,也就是存在理論上的穿倉可能。
IDO 與 Pre-Swap 關係及對 Tribe 價格的影響
IDO 是 Intial Dex Offering.IDO 的作⽤是為 TRIBE-FEI 提供初始流動性,為 Pre-Swap 做準備。 IDO 的上市價格確定如下 : 取 TRIBE 在 Genesis 的完全稀釋估值,並將其設為在 Genesis 聯合曲線上購買的 FEI 數量。 因此,在 IDO 中 20%TRIBE 將與 Genesis 創世 20% 的 FEI⼀起放⼊Uniswap 提供 Tribe-FEI 流動性,IDO 是為了 Pre-Swap 做準備和⽤戶⽆關。
圖表 5.1 Pre-Swap 測算來源:FEI 社區
IDO 及 Pre-Swap 計算關係式
IDO FEI = FEI generated by Genesis * IDO TRIBE % IDO TRIBE = TRIBE supply * IDO TRIBE %Pre-swapped FEI =
FEI generated by Genesis * Pre-swap %TRIBE out for Pre-Swap = IDO TRIBE-(IDO TRIBE * IDO FEI)/ (IDO FEI
+ Pre-swapped FEI) avg TRIBE price per FEI = Pre-swapped FEI / TRIBE out for Pre-Swap
Pre-swap% 和 Value Committed 越⼤。 那麼 Tribe 在 Pre-Swap 階段的價格就會越⼤,注意 Pre-Swap 的價格是⽤戶獲得 Tribe 的成本,此價格越⼤,⽤戶成本越⼤,⻛險越⾼。 Tribe 的持有⻛險和 Pre-swap% 和 Value Committed 成正⽐。
我們假設 Value Committed 在 $250,000,000-2,500,000,000 之間。 Pre-swap%⽐例在 10%-90% 之間 Tribe 的價格⾛勢
代⼊具體數據到 IDO 及 Pre-Swap 計算關係式 我們推到 Tribe 的 Pre-Swap 成本為:
avg TRIBE price per FEI = (Value Committed/1.01)*Pre-swap% /[200,000,000-200,000,000* (Value Committed/1.01)*0.2/
((Value Committed/1.01)*0.2 +(Value Committed/1.01)*Pre- swap%)]
用Python 作三維圖可得:
圖表 5.2 TRIBE 價格-Preswap_percentage-總存⼊ETH 價值與 TRIBE 關係
建模所用到的代碼如下所示:
import matplotlib as mpl
import numpy as np
import matplotlib.pyplot as plt
Value_Committed = np.linspace(250, 2500, 19)
Preswap_percentage = np.linspace(0.1, 0.9, 8)
Value_Committed, Preswap_percentage = np.meshgrid(Value_Committed
, Preswap_percentage)
Value_Committed[:2].round(1)
Tribe_FEI = (Value_Committed/1.01*Preswap_percentage)/ (200-200*V
alue_Committed*0.2/(Value_Committed/1.01*0.2+Value_Committed/1.01
*Preswap_percentage))
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure(figsize=(10, 6))
ax = fig.gca(projection='3d')
surf = ax.plot_surface(Value_Committed, Preswap_percentage, Tribe
_FEI, rstride=2, cstride=2,
cmap=plt.cm.coolwarm, linewidth=0.5,
antialiased=True)
ax.set_xlabel('Value_Committed(million$)')
ax.set_ylabel('Preswap_percentage')
ax.set_zlabel('Tribe_FEI_price')
fig.colorbar(surf, shrink=0.5, aspect=5);
通過公式推理,我們知道在 Pre-Swap 中被買走的 TRIBE 是⼀個只和 Pre-Swap比例有關係的數字。 和存入ETH 價值無關。