原文標題:《反饋控制:DeFi 的下一個重要原語》
撰文:Hsien-Tang Kao 與 Tarun Chitr,就職于 Gauntlet
編譯:灑脫喜
前言:原文作者是來自 Gauntlet 的 Hsien-Tang Kao 和 Tarun Chitra,在這篇文章中,他們使用 Ampleforth 的 rebase 機制、RAI 的反射指數、EIP-1559 的費用市場提案及 THORChain 的激勵鐘擺機制來說明反饋控制器在不同機制中的使用,此外,他們還將展示反饋控制如何使鏈上衍生品定價成為可能。
圖片來自:Flickr
今年,我們已看到了大量新出現的 DeFi 協議,它們提供了新的機制來支持交易、借貸以及其他金融活動。盡管這些協議在功能和用途上差異很大,但一些原語已成為了很多新協議的通用組件,其中,常數函數做市商(CFMMs)及自動利率曲線,是兩大最受歡迎的 DeFi 組件,它們出現在眾多 DeFi 產品中(例如 Uniswap 和 Compound)。隨著行業聚集在這些原語周圍,這就引出了一個問題:是否存在更好的選擇?
實際上,反饋控制系統(Feedback control system)正是一種可能改善協議激勵、效率及彈性的方法。
什么是反饋控制?
「反饋是生命體的核心特征,反饋的過程控制著我們如何成長,如何應對壓力及挑戰,以及負責調節體溫、血壓、膽固醇水平等因素。從細胞中蛋白質的相互作用,到復雜生態系統中有機體的相互作用,這些機制在每一個層面都起著作用,」
—— 馬倫·霍格蘭 (Mahlon Hoagland) 和伯特·竇德生 (Bert Dodson) ,《生命的運作方式》,1995 年
控制理論在應用數學、電氣工程及機器人學中得到了廣泛的研究。
它在許多行業都有廣泛的應用,包括航空航天系統、自動駕駛車輛及物聯網設備。在經典的「反饋系統」教科書中,Karl Johan Åström 和 Richard M. Murray 將控制定義為在工程系統中使用算法和反饋,
[1] 開環系統
[2] 閉環系統
圖 [1] 和 [2] 說明了開環和閉環控制系統的區別。在開環系統中,控制器輸出與系統輸出無關。與之相反的是,閉環(反饋)系統的控制器,將系統輸出作為附加輸入,在閉環系統中,系統動力學依賴于控制器動力學,而控制器動力學又依賴于系統動力學,這就產生了系統與控制器動力學的耦合效應。由于循環依賴性,理解反饋系統是非常重要的,
反饋控制與強化學習簡史
比例-積分-微分(PID)控制器是最為常見的反饋控制器,它利用期望系統狀態與觀測狀態之間的差值連續計算控制信號。1922 年,俄國人 Nicolas Minorsky 為美國海軍艦艇的自動操舵系統,發表了第一個 PID 控制器的理論分析,20 世紀 50 年代,商用數字計算機問世,這使得最優控制理論得到迅速發展,最優控制的首要問題,是找到一個能產生最優狀態軌跡,并使動態系統行為的測度最小化或最大化的控制律(control law)。Richard E.Bellman 的「最優性原理」(或貝爾曼 (Bellman) 方程)、動態規劃算法及馬爾可夫決策過程,就是在這一時代發展起來的,它們目的是為解決最優控制問題。20 世紀 80 年代末 90 年代初,在最優控制和人工智能領域的前期工作,推動了強化學習的發展,強化學習在不完全了解系統狀態的情況下,通過試錯學習或逼近來解決最優控制問題,近二十年來,隨著計算和深度學習算法的發展,出現了新一輪成功的深度強化學習算法,深度強化學習通過使用深度神經網路,擴展強化學習,而不需要顯式地設計狀態空間。DeepMind 利用這些算法來創建可以玩 Atari 游戲的人造代理,以及比人類做得更好的 Go。
PID 控制器
了解反饋控制或 PID 控制器的直觀方法,是通過一個比例控制器(P controller)
其中 K_p 是一個常數,在一個比例控制器中,控制輸入 u(t) 與觀測輸出和期望系統輸出之間的誤差 e(t) 成比例,
這里我們將展示一個恒溫器如何使用反饋機制來控制室溫,假設當前溫度為 90°F,恒溫器溫度設置為 70°F,則誤差為 20°F,當 K_p = 0.1 千瓦 /°F 時,恒溫器控制空調設備,使其使用 u(t) = 2 千瓦來冷卻整個房間,
當溫度下降到 80°F 時,誤差減小到 10°F,空調將輸出 1 千瓦的功率。從這個例子中,我們可以看出,恒溫器輸出一個控制信號來改變空調器的輸出功率,并降低溫度,恒溫器測量溫度誤差,并改變輸出控制信號,這種反饋回路使室溫逐漸收斂到所需溫度,
PID 控制器方塊圖(來源:Wikipedia)
PID 控制器擴展了比例控制器的概念,除了當前誤差 e(t),它還測量累積誤差 \int e(t) 及誤差變化率 \frac{de(t)}{dt} 來計算控制輸入:
其中,K_p、 K_i 以及 K_d 都為常數。
反饋控制和 DeFi
反饋控制是一種簡單而強大的思想,它在現實世界中已經被廣泛應用。在現有的應用之外,反饋控制也是 DeFi 應用的重要組成部分,
假設一個協議有一個高層次的目標,該協議測量當前狀態的距離,并使用反饋機制更新協議參數,以激勵市場參與者將系統推向期望狀態。例如,穩定幣協議希望將代幣與 1 美元錨定,協議根據穩定幣價格不斷調整利率,當穩定幣價格高于 1 美元時,該協議將降低利率并激勵參與者發行更多的穩定幣,否則,協議將提高利率并激勵參與者償還債務。通過算法調整利率,當穩定幣在 1 美元左右時,市場就可以達到供需平衡。
很多 DeFi 應用已經在協議設計中隱式或顯式地使用這種模式。這里我們將使用 Ampleforth 的 rebase 機制、RAI 的反射指數、EIP-1559 的費用市場提案及 THORChain 的激勵鐘擺機制來說明反饋控制器在不同機制中的使用。我們還將展示反饋控制如何使鏈上衍生品定價成為可能。
波動性抑制資產
Ampleforth 和 RAI 開創了不相關和低波動性加密資產的概念。乍一看,這些協議似乎有不同的底層機制。AMPL 動態調整供應,以解決不適應性問題,而 RAI 則使用動態贖回率機制來最小化反射指數波動。然而,這兩個協議本質上都是反饋控制系統,它們旨在創造一個波動性抑制資產,而這些協議的主要區別,在于它們使用了不同的控制輸入。我們將使用反饋控制框架來展示這兩種協議之間的異同。
Ampleforth Rebase 機制
AMPL 是一種根據市場價格動態調整供應的數字資產,當 AMPL 的價格高于 1 美元時,其供應量就會擴大,反之則會縮小,代幣供應機制的擴張與收縮,激勵理性的 AMPL 交易員介入,推動 AMPL 價格向 1 美元目標邁進,
為了用公式表示 rebase 機制,我們首先將誤差定義為目標值與觀測值之間的差:
假設目標值為 1 美元,觀察值為當前價格,則誤差項為:
當價格偏差 e(t) 大于偏差閾值 d_t 時,AMPL 的供應調整為:
根據上面的方程,我們可以將 rebase 表示為一個比例控制器,其中:
控制規則:
從這個例子中可以看出,rebase lag 是決定系統行為的關鍵參數,
選擇適當的 rebase lag 參數與調節控制器的比例增益是一樣的。比例增益對系統特性的影響在控制系統中得到了廣泛的研究:高比例增益(或低 rebase lag)可以減小穩態誤差,加快上升時間,但會增加超調量(overshoot),使系統更具振蕩性,
來源:Matlab 和 Simulink 的控制教程
RAI 反射指數
反射指數是一種波動性低于其抵押品的資產。該系統使用類似 MakerDAO 的債務抵押頭寸(CDP)進行資產發行。當反射指數的贖回價格偏離市場價格時,協議會調整贖回率(贖回價格的變化率),以激勵 CDP 持有人產生更多債務或償還未償債務。
RAI 反射指數是在協議設計中第一個明確引用 PID 控制器的協議。這個反射指數中的誤差項是市場價格和贖回價格之間的差額:
贖回率是控制輸入,并由一個比例控制器修改:
以及
在上面提到的兩個例子(Ampleforth 和 RAI)中,都有一個反饋控制系統。這些協議以特定的參考價格為目標,但使用不同的經濟機制來影響代幣的供應,Ampleforth 直接改變了系統的總供應量,以激勵參與者進行「供應發現」或「市值發現」,從而將 AMPL 價格推向 1 美元。RAI 改變了贖回價格,激勵參與者重新平衡未償債務總額,以減少價格波動。
EIP-1559: 以太坊費用市場更改提議
當前的以太坊費用市場使用簡單的第一價格拍賣機制來定價交易費用。這種拍賣機制是次優的,它為競拍人帶來了相當大的開銷,因為每個競拍人都需要根據其他競爭對手的預期出價進行競標。EIP-1559 通過一種自適應的收費機制解決了這個問題,這樣收取的總費用可以超過網路的社會成本,
擬議的交易費用包括動態調整的基礎費用(base fee)以及給礦工的額外小費(tip fee),區塊使用量是決定基礎費用的主要因素:
當區塊使用量高于目標使用量時,基礎費用增加,反之則降低,這種費用調整算法尋求博弈論均衡并建立費用下界,這項提議可能是以太坊 1.0 最重大的變化,它將極大地改變用戶體驗和貨幣政策。
毫不奇怪,EIP-1559 可以被描述為一個反饋控制問題,它的基礎費用調整算法為:
算法中的誤差項為:
基礎費用調整算法也是一個比例控制器,其中:
控制輸入為:
以及
THORChain 的激勵鐘擺機制
THORChain 是一個為跨鏈資產交換提供便利的去中心化網路,該協議要求系統的總池子資本大于擔保資本,以保證其安全。在 THORChain 中,2:1 的資本比例被認為是最優的系統狀態,這種激勵鐘擺機制是為了使系統處于平衡狀態,它將總的通貨膨脹報酬和交易費用重新分配給參與者,使系統逐漸收斂到最優狀態,特別是,分配給流動性提供者的系統收入比例為:
其中,b 和 s 表示總的擔保資本和總的池子資本,其余部分則給予擔保人(bonder)。在最優狀態下,激勵鐘擺將 33% 的系統收益分配給流動性提供者,將 66% 的系統收益分配給擔保人(bonder)。如果系統只有擔保資本,激勵鐘擺會將 100% 的系統收入分配給流動性提供者。
THORChain 的激勵鐘擺使用鏈一個確定的公式來計算系統的收入分配,雖然它沒有使用 PID 控制器的公式,但是激勵鐘擺和 PID 控制器有一個非常相似的概念:
- 該機制試圖將誤差隨時間的變化最小化,即使系統狀態收斂到最優狀態;
- 控制信號是一個誤差函數,其中誤差是測量的 bonded-to-pooled 資本和最佳 bonded-to-pooled 資本之間的差;
鏈上衍生品定價
2020 年當中最大的驚喜之一是,現貨資產 DEX 能夠處理和中心化交易所相同數量級的現貨交易。
然而,最活躍的加密交易產品——永續合約,尚未實現去中心化。
盡管目前已經有了一些去中心化期貨產品的嘗試,比如 FutureSwap 和 McDEX,但截至目前,這些協議都沒有實現他們的承諾,其中的一個主要原因是,相比現貨交易,期貨交易對延遲要敏感得多,這是因為預言機價格更新需要非常迅速,以避免搶先交易(front running)和延后交易(back running),此外,由于較低的保證金要求允許用戶用較少的抵押品進行大規模押注,因此流動性往往會以更快的速度在衍生品交易場所增加和移除,然而,在不需要高流動性速度的情況下,有許多新的機制可以復制衍生品的結果,這些方法涉及自動做市商(如 Uniswap),它們具有動態曲線,在這一方向上的一個基本工作是 Alex Evans 的一個定理,其表明,如果一個 Balancer 池根據一個修改后的 PID 控制器調整其權重(如下所示),那么你可以復制任何無杠桿回報。
在上面的等式中,Balancer 池的權重 w* 遵從控制方程,作為預期收益 g 的一個函數,生成任意的衍生品收益是一個增加杠桿作用的問題 —— 如果某人可以針對支付 g(x,t) 的 Balancer 池股份進行借貸,并用借入的資金創建新的資金池份額,那他們就可以將自己的敞口杠桿化為 g 的常數倍數。而像 Aave 和 Compound 這樣的鏈上借貸平臺,就非常適合進行這種操作。那這與永續合約交易有什么關系?
我們可以將永續合約產品視為一個將指數價格 p (t) 映射為正或負回報的函數,例如 Balancer 這樣的常數函數做市商(CFMMs),允許將 p(t) 表示為一個數量向量,以及池的權重控制著從數量到價格的映射。因此,我們可以將永續產品(用金融術語來說,是一個復制投資組合)的替代結構視為一個 CFMM,其形狀正在調整以保持收益。雖然權重更新仍可以前推和后推,但要做到這一點要比操縱價格要困難得多。這是因為你需要操縱做市商持有的數量(上面等式中的 x)來調整收益 g。與操縱價格(單一標量)不同,你必須調整抵押品數量 x(許多 LP 鎖定的一對現貨資產),正如我們在 Uniswap 論文的附錄 D 中所指出的,隨著鎖定的總值增加,這種操縱會越來越困難(難度呈線性上升),
這個例子說明,當使用適當的比例控制器時,當與動態調整的做市商耦合時,很多衍生品產品可存在于鏈上。雖然設計此類控制器的研究尚處于起步階段,但像 Yield、Opyn 及其他團隊設計的 CFMM,這種流行趨勢已經表明,控制理論使得鏈上衍生品成為可能,
以太坊的計算和存儲容量有限
在關于反饋控制與強化學習的歷史上,算法的進步可以說是成功的主要因素,然而,人們往往忽視了這樣一個事實:計算和存儲范式的轉變,也導致了這些技術突破。在 20 世紀 50 年代沒有商用計算機的情況下,動態規劃(Dynamic programming)是解決最優控制問題的一種方法,如果沒有 GPU 集群和巨大的存儲空間,Deepmind 無法有效地訓練用于玩 Atari 游戲的深度強化學習模型,
我們知道,以太坊的計算和存儲容量是有限的,目前,大多數的 DeFi 協議都是通過使用簡單的反饋算法來克服這些限制,這些算法不需要大量的存儲來跟蹤歷史狀態的變化,因此,PID 控制器或其他恒定的空間及時間復雜度算法(run time 和空間需求不會隨著輸入大小的增長而增長)很適合資源受限的計算環境。
關于鏈上杠桿控制理論自然而然的下一步,是制定 DeFi 協議反饋機制作為一個最佳控制問題,原因有二:關于最優控制,已有大量的理論工作,而且它不依賴于龐大的計算能力,另一個可能的途徑是通過協議的治理過程,在鏈上引入更復雜的算法優化參數。許多中立的第三方可以在鏈外處理區塊鏈數據及外部數據源,運行復雜的算法,并提交優化的治理投票參數,以提高協議效率。
最后的想法
- 比例控制器是工業中最常見的控制器形式,它以電流誤差為輸入,較好地解決了大部分問題。為了進一步改進現有的反饋系統,協議可以考慮添加「過去誤差」(積分項)和「預期未來誤差」(導數項)作為控制器的輸入,
- 聯合曲線或利率曲線是激勵特定用戶行為的機制。參數化這些曲線是非常重要的,因為設計空間很廣,例如,具有不同形狀的曲線,可能會獲得非常相似的結果,但很難斷言其中一條曲線嚴格優于另一條曲線,基于聯合曲線的方法存在維數災難(curse of dimensionality),參數化三維或更高維曲面,似乎是一項具有挑戰性的任務,協議開發團隊可以考慮使用反饋控制方法來簡化設計及參數化方法。開發人員不需要設計描述一系列參數值之間關系的整個曲線,而只需要關注參數值的「變化率」,
- 考慮到智能合約通常涉及高風險及反饋系統的動態性,設計一個基于反饋控制的智能合約是一項挑戰,我們知道,模擬在工業中被廣泛應用于參數調試,而 Gauntlet 可幫助協議設計者通過模擬大量的協議參數及市場環境來對他們的協議進行壓力測試。建立一個安全高效的 DeFi 生態系統,一直是我們的首要任務。
感謝 JohnMorrow 和 Rei Chiang 為這篇文章所做的有益的編輯、評論及建議。