[DeFi]自動化做市商是什麼?(Automated Market Maker, AMM)

Ayden Tiao
9 min readJan 20, 2022

--

Hello,我是 Ayden,目前於數位軟體產業擔任 Product Designer。此篇文章是我讀完許多資料後的一些整理,若有任何資訊錯誤,也歡迎隨時交流討論。

自動化做市商 AMM (Automated maeket Maker) 的出現鼓勵用戶變成流通量供應商 LP (liquidity provider) ,在每一次用戶與用戶之間交易當中賺取手續費利潤,也可能得到相對應的免費代幣  — By Andrey Sergeenkov

自動做市商 (AMM) 是一種通過自動交易方式,提供交易所流動性的系統。

AMM 系統於 1990 年代初由 Shearson Lehman Brothers 和 ATD 首次實施後盛行,在他們發明之前,訂單簿是由人工創建的,旨在提高市場流動性的手動交易。

實行後,AMM 解決了由人工做市商引起的問題,基於 AMM 的去中心化交易所中,傳統的訂單簿被流動性池所取代,流動性池為交易對的兩種資產在鏈上預先提供資金,流動性由其他用戶提供,用戶也根據他們提供的流動性池的百分比通過交易費用從存款中獲得被動收入。

◾AMM 怎麼運作呢?

AMM 通過創建流動池為交易者提供了新的選擇,同時也激勵流動性提供者(LP)將更多資產放入流動性池中,池中的資產越多,它可以支持的交易就越大,用戶不再需要在買家/賣家之間進行交易,用戶所做的是與流動資金池進行交易

當用戶為流動性池注入資金時,他們會增加流動性,使交易者能夠以市場價格進行更大的掉期。 使用數學公式對其中的代幣進行定價,AMM 中,可以通過各種方式調整公式以針對不同目的優化池,從而更好地促進不同類代幣之間的交換。

推薦閱讀:什麼是自動化做市商(Automated Market Maker, AMM)?

科普|什麼是掉期利率?為什麼 DeFi 投資商品需要掉期利率?

◾注入資金有什麼好處?

當用戶將資金注入流動池中時,流動性供應者可以賺取手續費,雖然這是激勵供應者最常見和最直接的方式,但流動性供應者還有另一種賺錢方式。

抵押代幣收息 (Yield Farming)
一些 AMM 通過提供「代幣獎勵」來提高流動性,因此流動性提供者通過一種稱為“抵押代幣收息”的做法獲得額外收益。
要參與抵押代幣收息,用戶只需將適當的資產餘額添加到流動資金池中,確定注入後,將自動產生獎勵代幣,流動性提供者可以定期領取獎勵代幣,時間越長,領的獎勵也越多,不過有些資金池的風險也會越高。

◾AMM 目前種類有哪些?

1.CPMM 恆定乘積做市商(Constant Product Market Maker)

實際案例:Bancor、Uniswap等。
函式算法:x*y=k。

解說:其中 x 和 y是池中資產的儲存量,k 是一個不變的常數,該函式根據每個代幣的可用數量(流動性)確定兩種代幣的價格範圍,這代表著代幣 X 的供應量增加,則代幣 Y 的供應量減少以保持恆定值 k。Uniswap (V1) 和 Bancor (V1) 的經典版本已經成功實現了這一點模型。

2.CSMM 恆定和做市商(Constant Sum Market Maker)

不常見,函式算法:x+y=k

解說:此函式僅表示兩個變量的簡單總和,變量可以多次更改,但總和必須保持不變。然而,這種方法對任何 DEX 來說都沒有盈利,因為它不能提供無限的流動性,因為 x和y的兌換關係永遠是1:1,所以會存在其中一種資產被另外一種資產全部兌換完的情況,失去池中的流動性。

AMM TYPES & DIFFERENTIATIONS

3.CFMM 恆定函式做市商(Constant Function Market Maker)

實際案例:STABLE CURVE.FI。
函式算法:為了減少交易者的滑點,Curve.fi 使用混合 CFMM,它結合了 CPMM 和 CSMM (x+y=c),表示如下:

AMM TYPES & DIFFERENTIATIONS

x=資產儲備,n=資產數量,D=反映儲備價值的不變量,A=放大係數。如上圖所示,曲線的一部分幾乎保持不變。混合模型允許它在兩個功能之間切換:平面部分的 CSMM 和其餘部分的 CPMM。如果價格波動並且池變得不平衡,則函數會發生變化。

4.CMMM 恆定的平均做市商(Constant Mean Market Maker)

實際案例:Balancer Protocol。
函式算法:(x*y*z)^(1/3) = c。

解說:CMMM 帶來的一項獨特而革命性的功能是能夠為一個池提供多種資產。與以前的 CPMM 不同,這種類型的 AMM 依賴於每個資產的恆定平均值,或者換句話說,它的權重。

由於 CMMM 類型,Balancer 用戶能夠創建所謂的“自定義池”。由於與代幣權重而不是產品的恆定關係,有可能創建一個提供資產百分比不相等的池,例如 30% DAI 與 70% ETH(或 60/30/10、82/18等等)。在 CMMM 的情況下,這種不對稱並不意味著一種資產價格會自動下降而另一種資產價格會自動上升,就像在 CPMM 模型中那樣。只要加權儲備保持不變,代幣價值就相等。這一決定適用於所有 Balancer 池,這意味著其中包含三個或更多資產,其中代幣權重相應分配。

向池中提供三種或更多資產的可能性為交易者創造了更穩定和愉快的環境。因此,在放置三個或更多代幣的情況下,永久性損失的問題不太可能發生。方程中多於兩個變量可確保更高的穩定性並對曲線的影響更小。

AMM TYPES & DIFFERENTIATIONS

◾AMM 現行遇到的問題?

1.無常損失(impermanent loss)

從本質上講,它發生在存入自動做市商 (AMM) 並在提取它們時會導致損失,而如果你剛剛持有(HODL) 並將它們留在你的錢包中,事實上,您可能實際上並沒有損失任何金錢,而是你的收益相對於你剛剛保持資產不變的情況而言更少。 相反,根據市場的走勢,損失可能會擴大。

HODL 的由來是 2013 年,Bitcointalk 論壇的一名成員寫了一篇文章,他誤植HOLD 變成 HODL,後來也就被幣圈盛行運用,後來也被譯為:“HODL” — ““Hold on for dear life”

無常損失發生於外部市場中,X 與 Y 兩項資產價格產生落差時。由於 AMM 本身不具備偵測市場價格的功能,它的幣價是透過套利者進場,改變資金池比例,以跟上外部市場價格。而想當然,套利者在 AMM 當中的「獲利」直接意味著流動性提供者 (Liquidity Provider) 的「損失」。

What is impermanent loss?

2.交易滑點(Slippage)

當交易執行時市場發生變化,導致交易結果與預期不同時,就會出現滑點。

滑點:假設我想以每個 1 美元的價格出售 10 個蘋果。 然而,在提交交易和執行交易之間,蘋果的價格有所下降。 因此,我賣 10 個蘋果最終得到 9.50 美元,而不是 10 美元。

價格影響:市場流動性低也可能導致價格問題。 想像一下,我試圖花 10 美元以 1 美元的價格購買 10 個蘋果。 但只有 5 個蘋果以 1 美元的價格出售。 我將不得不以 1.10 美元的價格購買其餘的。 因此,由於缺乏流動性,我以 10 美元買了 9.5 個蘋果。

What is Slippage?

那該如何避免滑點?

  1. 使用更多的 Gas — Use More Gas
  2. 於 Layer 2 解決方案上交易 — Trade on a Layer 2 Solution
  3. 調整滑點容忍度 — Adjust Slippage Tolerance Levels

延伸閱讀:What Is Slippage? How To Avoid Slippage On DeFi Exchanges

◾新 AMM 即將到來?

跨鏈 AMM — 儘管 AMM 發展迅速,但一個問題仍然存在,當 AMM 建立在一條鏈上時,它們的交易和資產也將保持在同一條鏈上,幾乎不會轉移到另一條鏈上。

那麼,用戶可以有什麼好處,你可能想知道。跨鏈 AMM 有幾個優點,成本就是其中之一。

如果 AMM 建立在具有超低 gas 費用的高性能鏈上,AMM 可以非常快速地交易流行的基於 ETH 的資產,並且可以毫不費力地在不同的鏈之間交換資產。

這種跨鏈能力可以解決高昂的gas費用和擁塞問題,讓用戶不僅可以在一條鏈上交易資產,還可以在許多其他鏈上交易資產。這將為所有 DeFi 用戶開闢更多投資機會;此外,開發人員可以更加靈活地構建他們的項目,並且鏈本身不會限制他們的創造力。

延伸閱讀:Belt Finance’s Open Protocol Cross-Chain AMM: Portkey

Belt Finance’s Open Protocol Cross-Chain AMM: Portkey

謝謝閱讀完畢🙏,覺得內容有幫助的話也可以給小弟拍手鼓勵。

Ayden Tiao Linkedin

--

--