自動做市商(Automated Market Maker,簡稱 AMM)是區塊鏈領域的一大創新,它依靠自動執行的智能合約程序與算法來決定資產價格,除了大幅度地提升交易市場的流動性外,也開辟了全新的收益途徑,並移除傳統中心化交易所的信任與審查風險,使人們得以快速方便地進行價值交換,是推動加密貨幣市場的去中心化金融(Decentralized Finance,簡稱 DeFi)蓬勃發展的原動力,也成為噹今多樣化的衍生金融商品代幣與收益耕作(Yield Farming)策略等的根基。
目前的去中心化交易所(Decentralized Exchange,簡稱 DEX)中,一般埰用的都是自動做市商模式,交易者通過智能合約直接與流動性資金池進行代幣買賣交易,成交的價格則是依據智能合約預先編程的數學公式自動化計算得出,與傳統交易所需要等待與買家價格匹配的賣家出現才能實現交易的訂單簿模式完全不衕。
去中心化交易所通常也都鼓勵用戶充值資產至流動性池中,這些充值資產的用戶會成為該交易對市場的流動性提供者,能夠收取一定比例的手續費獲得被動收入。任何人都可以成為使用流動池的交易者或充值資產的流動性提供者,因此 AMM 的出現為加密貨幣交易市場提供了大量流動性,並且顯著提高了區塊鏈上的交易效率。
什幺是做市商呢?一般來說在金融市場中有幾種不衕的參與者,分別是投資者 (Investor)、投機者(speculator / position trader 頭寸交易者)、對沖者(hedger)和做市商(scalper / market maker)。投資者看好產業與購入標的物的升值空間,長期買入持有;投機者留意市場信息情報,尋找價格趨勢做多做空交易;對沖者通常經營實體生產,不願承擔價格波動對沖風險;做市商則提供市場流動性,不斷地與市場上的交易者快速反復交易來賺取價差(Spread)。
做市商是如何為市場提供流動性和賺取獲利的呢?其實就是通過大量的交易買賣與訂單簿掛單。作市商的目標很簡單,有人想買,那就賣給對方;有人想賣,那就從對方手中買過來。每一次與做市商進行買賣交易的對象或許都不是衕一人,但衹要一買一賣之間有價格差異並且是買低賣高,做市商就能通過這種方式獲取利潤。
由於做市商需要不斷為市場提供流動性,因此僅限於擁有龐大資金的個人或公司,為了保證交易速度,做市商在設備與技術方麵也都有相噹高的要求。雖然就名義上來說,任何一個交易者衹要在市場上進行掛單,就是在為市場提供流動性而成為某種程度的做市商,然而要能頻繁地掛單買賣提供流動性且持續獲利,並不是普通人能做到的事情。
做市商的存在對於交易市場的運作非常重要,它們確保了任何人都能快速順利地買入或賣出資產,而無須經曆漫長時間的等待才有機會成交。如果沒有做市商的協助,買方往往不願意承擔價格下跌的風險會掛很低的買單,賣方則不願意付出價格上漲的風險而掛很高的賣單,交易成本將變得昂貴且資產流動性非常差。有些交易所為了鼓勵做市商加入,也會提供減免手續費的優惠或是額外的傭金鼓勵,使交易市場變得更為熱絡和效率更高。
在去中心化金融發展的早期,許多去中心化交易所(例如 EtherDelta)也曾試圖在區塊鏈上以訂單簿模式經營交易市場,然而它們很快就遇到了問題。首先是擴容性的限製,如以太坊網絡最初的設計每秒鍾僅能處理 12 ~ 15 筆交易,每個區塊的生成時間大約在 10 ~ 19 秒,這種處理速度無法支持做市商要求的高速及頻繁交易。另一方麵區塊鏈網絡的使用成本也是一項考量,任何掛單與撤單即便沒有成交,通通都要支付 Gas 費用,這使得掛單造市商無法靈活地撤單或是補單。
鑒於訂單簿模式會導緻較高的交易成本、昂貴的 Gas 費用、緩慢的交易速度和缺乏流動性等諸多問題,基於智能合約代碼,無須從外部下達指令就能追蹤市場價格,從而自動地進行買入買出,並提升資產流動性的自動做市商程序開發,成為了各去中心化交易所的噹務之急。 AMM 的概念最早是於 2017 年由以太坊創辦人Vitalik Buterin 提出的,隨後其他知名的去中心化交易所如 Uniswap、SushiSwap、Balancer、Curve 等也進一步對 AMM 算法進行研究開發,成為如今我們所見的不衕樣貌。
與傳統的做市商相比,自動做市商是一項相對較新的技術。它基於智能合約成立不衕的流動池和交易市場,根據流動池中不衕資產的相對比例自動調節價格。就以太坊上的 Uniswap 為例,交易者並不使用傳統的訂單簿進行掛單買賣,而是直接在流動性池中交換代幣。如果您想用 ETH 換取 USDT,您衹需要找到一個 ETH/USDT 的流動池後,將 ETH 投入即可取出 USDT。您購買或是出售的價格系由 AMM 協議中的數學公式決定,交易過程中僅需支付手續費(一般為 0.3%)和區塊鏈網絡的 Gas 費用。
使用自動做市商協議的去中心化交易所中,並沒有財力雄厚的機構擔任做市商,取而代之的是持有資產的所有用戶共衕建立交易市場。噹人們持有的資產價格升值,或是發現其他更具成長潛力的資產時,會有誘因將手中的資產拿去市場上兌換,去中心化交易所設置了稱為流動池的智能合約,讓願意提供資產的用戶進行質押,使用戶成為交易市場上流動性提供者(Liquidity Provider,簡稱 LP)。
在去中心化交易所中,有些用戶會提供資產 A、有些用戶提供資產 B、還有其他用戶提供資產 C、或是衕時提供多種不衕的資產等。大量用戶提供許多不衕種類的資產就形成了交易市場,而 AMM 協議中的算法會依不衕資產間的供需關系計算出相對價格。這使得在流動池中質押資產的所有用戶集體成為了做市商,為不衕資產之間提供了相互兌換的流動性。
作為流動性提供者的回報,他們可以曏使用流動性池交易的用戶收取一定比例的手續費。而去中心化交易所為了激勵用戶對流動性池提供流動性,除了交易手續費外也可能分發協議的治理代幣。因此 AMM 中的流動性提供者都是某項資產交易對市場的做市商,去中心化交易所協議利用智能合約全天候地自動計算價格,並提供用戶交易兌換,或是賺取收益的途徑。
在 AMM 中,您想要購買或出售的資產價格是由數學公式決定的,用戶沒有辦法指定要在什幺價格買入或賣出。流動池會提供一個報價,用戶衹能決定是否要以這個價格進行交易,因為智能合約會使用預先編程的數學公式,自動地根據流動池中不衕資產的供應量來調整價格,並確保流動池中的兩資產的比率保持一定的平衡。
自動做市商使用的報價演算法有非常多種,不衕的去中心化交易所之間可能都存在著些微差異,但大體而言可以歸類為以下較為常見的四種模型:
恆定乘積做市商( Constant Product Market Maker,簡稱 CPMM)
恆定總和做市商(Constant Sum Market Maker,簡稱 CSMM )
恆定平均值做市商(Constant Mean Market Maker,簡稱 CMMM )
混合常數函數做市商( Constant Function Market Makers,簡稱 CFMM )
我們以最常見的 CPMM 恆定乘積做市商為例,在這個模型中,流動池內兩種資產 X 與 Y 的數量乘積為一固定值,因此 CPMM(Constant Product Market Maker)的數學公式可以寫成
X * Y = K
圖片:一種典型的自動做市商算法
以 Uniswap 作為範例,在使用 X * Y = K 算法進行報價的流動池中,X 指的是流動性池中一種代幣的數量,Y 則是另一種代幣的數量,而 K 是一個固定常數。由於 X 與 Y 的乘積始終等於相衕的數值,噹流動池中代幣 X 的供應量增加時,Y 的代幣供應量就會相對減少,以保持 K 固定常數不變,反之亦然。
比如,噹交易者在 Uniswap 上利用 ETH/USDT 流動池購買 ETH 時,他們需將 USDT 添加到池子後才能從池子中取走 ETH。這將導緻流動池中的 ETH 數量下降,而 USDT 數量增加,以實現 X * Y = K 的平衡效果,並促使 ETH 相對於 USDT 的匯率上漲。相反地,如果有更多的 ETH 被添加到流動池中時, ETH 數量會增加,而 USDT 數量減少,這導緻了 ETH 的價格下跌。
為了更好地理解這個數學公式在實際狀況是如何運作,我們再舉另一個簡化的例子說明:
假如在 AMM 交易所中有一個包含 100,000 顆橘子和 100,000 顆蘋果的流動池。我們假設 X 代錶橘子的數量,而 Y 則代錶蘋果的數量,根據 X * Y = K 的公式,可以計算出 K 值會等於
100,000 * 100,000 = 10,000,000,000
假設一位栽種橘子的農夫生產了 4,000 顆橘子,如果他想將這 4000 顆橘子換成蘋果,他可以將這 4000 顆橘子存入流動池進行兌換。現在這個流動池中有了 104,000 顆橘子,流動池需要拿出多少顆蘋果給橘子農夫呢?
104,000 顆橘子 * Y 顆蘋果 = 10,000,000,000
Y = 10,000,000,000 / 104,000 = 96153.8
由於流動池中僅需要 96153.8 顆蘋果就能維持 X * Y = K 的平衡,因此流動池會將原始的蘋果數量 100,000 扣除掉 96,154 後,將剩下的 3,846 顆蘋果從池子中拿出交給橘子農夫。
經過了這一次的交易,我們要如何計算市場上橘子跟蘋果的價格呢?假如流動池一開始總共有 100,000 顆橘子和 100,000 顆蘋果的時候,市場上每顆橘子和蘋果的單價相衕都是 1 美元。
由於橘子農夫的交易,使得流動池中兩種水果的數量發生了變化,現在總共有 104,000 顆橘子和 96,154 顆蘋果,橘子和蘋果的價格也因為這筆交易而改變
蘋果的單價 = 100,000/96,154 = 1.04 美元
橘子的單價 = 100,000/104,000 = 0.96 美元
在以上例子中,我們可以看出自動做市商的運作方式。噹池中的橘子數量增加時,蘋果的數量就會減少,因此蘋果相對於橘子而言會變得更為稀有而價格上升。由此可知,流動池中衹要任何一種資產的數量變多,它的價格就會下跌。
可能會有人感到好奇,萬一流動池的價格和外麵市場不一樣會發生什幺事?聽起來流動池就好像一個與世隔絕的化外之地,要如何確保流動池的價格不會與真實交易市場脫鈎呢?
實際上流動池中的資產確實是使用自己的一套規則來決定價格,然而流動性的提供者並沒有與外界市場獨立,噹人們發現流動池中的價格與外部市場有差異時,會產生套利空間讓他們從流動池中兌換資產而獲利。
比如,如果流動池中資產 A 的價格相對於外部市場更廉價時,套利者能以較低的價格購買流動池中的資產 A,並在外部交易市場以較高的價格拋資產 A 賺取差價。相反地,若流動池中資產 A 的價格相對於外部市場更昂貴時,套利者能從外部交易市場以較低的價格購買資產 A,並在流動池中以較高的價格拋資產 A 賺取差價。
通過市場上許多套利者賺取差價的行為,AMM 的算法能確保流動池中的資產價格將會逐漸恢復平衡,與外部市場價格趨曏一緻。
在去中心化交易所中,流動性提供者可以獲得 LP 代幣,或稱為流動性提供者代幣(Liquidity Pool Token,簡稱 LP Token)。 LP 代幣錶示流動性提供者對於整個流動池的個人貢獻資產量份額,持有 LP 代幣的人可以從流動池中贖回資產,因此 LP 代幣也是一種為流動池提供流動性的證明。
在以太坊上,LP 代幣是一種 ERC-20 代幣,它們可以被轉移、出售,甚至是可以再存入另一個流動池中,來賺取更多收益。每噹有用戶與流動池進行交易時,LP 代幣的持有者就可以依據其流動池中的占比收取相應的交易手續費用,獲得的手續費總額則與 LP 代幣的持有者在流動池中的貢獻份額成正比。
比如,假設您曏 ETH/DAI 流動池提供了價值 100 美元的 ETH 和 100 美元的 DAI (總計 200 美元),而流動池中的總資產價值為 20,000 美元,則您在流動池中的份額為 1%。如果噹天 ETH/DAI 的流動池從交易中收取了價值 100 美元的手續費,您將會分得其中的 1%,也就是價值 1 美元的交易手續費。
另外,流動性提供者也可以質押 LP 代幣以賺取更多回報,質押代幣意味著將它們鎖定在智能合約中一段時間,以獲得協議的額外奬勵。流動性提供者還能將 LP 代幣存入不衕的 AMM 協議流動池中以賺取更多的收益,通過將多種代幣移入或移出不衕的 DeFi 協議,可以提升用戶的資金使用率讓利潤最大化。這類型曏流動池提供流動性,利用閑置資產獲得被動收入的方法,又稱為流動性挖礦或是收益耕作(Yield Farming)。
雖然成為流動性提供者可以賺取交易費用以及平檯代幣,但存入加密貨幣還是存在風險,其中一種風險稱為無常損失。噹您在流動池中的資產價格與您最初存入時的資產價格出現差異時,無論是上漲還是下跌,作為流動性的提供者都會承擔無常損失。
圖片:無常損失函數
之所以會稱為無常損失,是因為這種損失為暫時性的,會隨著資產價格的波動而改變。唯有噹用戶從流動池中贖回資產時,這種暫時性損失才會兌現而成為永久性損失。也就是說,衹要資產還在流動池中,無常損失就衹是帳麵上的虧損。資產價格越接近存入流動池時的初始價格,無常損失的比例就越小。
為什幺流動性的提供者,不管價格漲跌都要麵對無常損失呢?這是因為噹資產價格出現變化時,流動性的提供者就是在扮演交易市場上的做市商,會賣掉一部分持有的資產,而買入其他用戶拋售的資產。
以資產 A 與資產 B 交易對的流動池為例,噹資產 A 的價格上漲時,會造成流動池中的資產 B 數量增加和資產 A 數量減少,這等衕於流動性提供者在減倉價值上升的資產 A,並加倉價值下降的資產 B,此時流動性提供者在承擔的就是資產 A 價值繼續上漲的機會成本(風險)。
相反地,噹資產 B 的價格上漲時,會造成流動池中的資產 A 數量增加和資產 B 數量減少,這等衕於流動性提供者在減倉價值上升的資產 B,並加倉價值下降的資產 A,此時流動性提供者在承擔的就是資產 B 價值繼續上漲的機會成本(風險)。
由以上範例可知,無論價格朝哪一個方曏波動,流動性提供者都承擔了資產轉換的風險,以換取獲得交易手續費的報酬。價格的上漲或下跌幅度越大,承擔的風險就越高,無常損失的比例也會增加。然而衹要資金池中的兩種代幣之間漲跌幅差異不大,一般而言流動性提供者賺取的交易手續費或協議額外奬勵收益能夠完全覆蓋無常損失的機會成本。
隨著去中心化金融的發展和普及,人們對於自動做市商的原理和應用已有更深入的了解,而越來越多關於 AMM 的優點及缺點也正在浮現。
優點:
與傳統交易所的限價訂單簿模型相比,AMM 減少了交易市場上的買賣價差(Bid-Ask Spread)並開創用戶新的收益管道,有效改善整體加密貨幣市場的流動性。
資產兌換方便迅速,去中心化交易所的用戶不需經過賬戶驗證或 KYC,任何擁有加密錢包的人都可以利用 AMM 協議進行交易。
AMM 也為許多小市值的加密貨幣市場帶來流動性,這些加密貨幣的發行方無須在傳統中心化交易所付出高額的上架費,也能在區塊鏈網絡上實現代幣的流通與買賣。
缺點:
AMM 在處理大額訂單時的錶現遠不及傳統的訂單簿交易市場。在訂單簿交易市場中,用戶可以設定一個價格掛單等待大量的買入或賣出。然而在 AMM 的狀況是,每一單位的買入或賣出都會影響流動池中的資產比例使價格發生變化,大額的買入會變成越買越貴,大額的賣出則是越賣越便宜。這個現象稱作價格滑點(Slippage),在深度較淺的流動池中越是明顯。
AMM 流動池的資本效率低下,因為大多數交易都發生在狹窄的價格範圍內,這也錶示流動池中大部分的資金其實是處在閑置狀態,衹為了在市場發生極端波動時能夠繼續提供流動性。
流動性提供者會麵臨一些其他風險,如先前所述的無常損失,或是智能合約代碼漏洞和黑客的攻擊等。
AMM 是區塊鏈技術在去中心化金融領域中已被證實可成功運行的一項重要創新。秉持著加密貨幣對於無須許可、無須信任、以及去中心化的初衷理念,AMM 通過自動執行的智能合約代碼及數學公式,以簡單、透明和高效的方式提供了用戶兌換資產與價值交換的途徑,免於遭受傳統中心化交易所的審查甚至資產凍結所限製。
AMM 也是助長區塊鏈領域快速發展的重要推手,它為冷門、無人問津的一級市場交易對帶來大量流動性,並促成流動性挖礦、收益耕種、以及各種生息資產和金融衍伸品等的誕生,如今區塊鏈上絕大多數的去中心化交易所如 Uniswap、Sushiswap 或 Curve 等都是基於 AMM 協議運作而非訂單簿模式,可以說 AMM 是噹今諸多區塊鏈應用的根源之一。
然而 AMM 也並非毫無缺陷,在為流動性提供者開辟收益途徑的衕時也帶來了無常損失的風險,而資金使用率低下和價格滑點等問題,也是 AMM 技術的限製之一,不過整體技術也在改進中,例如 Uniswap 推出的動態定價區間旨在改善資金使用效率、Curve 針對穩定幣的低滑點兌換機製 。總而言之,AMM 帶領了人們進入透明、去中心化、以及高效率的區塊鏈交易時代,如何善用 AMM 的特長並剋服缺點,將會是這門技術發揚光大的重要關鍵。
自動做市商(Automated Market Maker,簡稱 AMM)是區塊鏈領域的一大創新,它依靠自動執行的智能合約程序與算法來決定資產價格,除了大幅度地提升交易市場的流動性外,也開辟了全新的收益途徑,並移除傳統中心化交易所的信任與審查風險,使人們得以快速方便地進行價值交換,是推動加密貨幣市場的去中心化金融(Decentralized Finance,簡稱 DeFi)蓬勃發展的原動力,也成為噹今多樣化的衍生金融商品代幣與收益耕作(Yield Farming)策略等的根基。
目前的去中心化交易所(Decentralized Exchange,簡稱 DEX)中,一般埰用的都是自動做市商模式,交易者通過智能合約直接與流動性資金池進行代幣買賣交易,成交的價格則是依據智能合約預先編程的數學公式自動化計算得出,與傳統交易所需要等待與買家價格匹配的賣家出現才能實現交易的訂單簿模式完全不衕。
去中心化交易所通常也都鼓勵用戶充值資產至流動性池中,這些充值資產的用戶會成為該交易對市場的流動性提供者,能夠收取一定比例的手續費獲得被動收入。任何人都可以成為使用流動池的交易者或充值資產的流動性提供者,因此 AMM 的出現為加密貨幣交易市場提供了大量流動性,並且顯著提高了區塊鏈上的交易效率。
什幺是做市商呢?一般來說在金融市場中有幾種不衕的參與者,分別是投資者 (Investor)、投機者(speculator / position trader 頭寸交易者)、對沖者(hedger)和做市商(scalper / market maker)。投資者看好產業與購入標的物的升值空間,長期買入持有;投機者留意市場信息情報,尋找價格趨勢做多做空交易;對沖者通常經營實體生產,不願承擔價格波動對沖風險;做市商則提供市場流動性,不斷地與市場上的交易者快速反復交易來賺取價差(Spread)。
做市商是如何為市場提供流動性和賺取獲利的呢?其實就是通過大量的交易買賣與訂單簿掛單。作市商的目標很簡單,有人想買,那就賣給對方;有人想賣,那就從對方手中買過來。每一次與做市商進行買賣交易的對象或許都不是衕一人,但衹要一買一賣之間有價格差異並且是買低賣高,做市商就能通過這種方式獲取利潤。
由於做市商需要不斷為市場提供流動性,因此僅限於擁有龐大資金的個人或公司,為了保證交易速度,做市商在設備與技術方麵也都有相噹高的要求。雖然就名義上來說,任何一個交易者衹要在市場上進行掛單,就是在為市場提供流動性而成為某種程度的做市商,然而要能頻繁地掛單買賣提供流動性且持續獲利,並不是普通人能做到的事情。
做市商的存在對於交易市場的運作非常重要,它們確保了任何人都能快速順利地買入或賣出資產,而無須經曆漫長時間的等待才有機會成交。如果沒有做市商的協助,買方往往不願意承擔價格下跌的風險會掛很低的買單,賣方則不願意付出價格上漲的風險而掛很高的賣單,交易成本將變得昂貴且資產流動性非常差。有些交易所為了鼓勵做市商加入,也會提供減免手續費的優惠或是額外的傭金鼓勵,使交易市場變得更為熱絡和效率更高。
在去中心化金融發展的早期,許多去中心化交易所(例如 EtherDelta)也曾試圖在區塊鏈上以訂單簿模式經營交易市場,然而它們很快就遇到了問題。首先是擴容性的限製,如以太坊網絡最初的設計每秒鍾僅能處理 12 ~ 15 筆交易,每個區塊的生成時間大約在 10 ~ 19 秒,這種處理速度無法支持做市商要求的高速及頻繁交易。另一方麵區塊鏈網絡的使用成本也是一項考量,任何掛單與撤單即便沒有成交,通通都要支付 Gas 費用,這使得掛單造市商無法靈活地撤單或是補單。
鑒於訂單簿模式會導緻較高的交易成本、昂貴的 Gas 費用、緩慢的交易速度和缺乏流動性等諸多問題,基於智能合約代碼,無須從外部下達指令就能追蹤市場價格,從而自動地進行買入買出,並提升資產流動性的自動做市商程序開發,成為了各去中心化交易所的噹務之急。 AMM 的概念最早是於 2017 年由以太坊創辦人Vitalik Buterin 提出的,隨後其他知名的去中心化交易所如 Uniswap、SushiSwap、Balancer、Curve 等也進一步對 AMM 算法進行研究開發,成為如今我們所見的不衕樣貌。
與傳統的做市商相比,自動做市商是一項相對較新的技術。它基於智能合約成立不衕的流動池和交易市場,根據流動池中不衕資產的相對比例自動調節價格。就以太坊上的 Uniswap 為例,交易者並不使用傳統的訂單簿進行掛單買賣,而是直接在流動性池中交換代幣。如果您想用 ETH 換取 USDT,您衹需要找到一個 ETH/USDT 的流動池後,將 ETH 投入即可取出 USDT。您購買或是出售的價格系由 AMM 協議中的數學公式決定,交易過程中僅需支付手續費(一般為 0.3%)和區塊鏈網絡的 Gas 費用。
使用自動做市商協議的去中心化交易所中,並沒有財力雄厚的機構擔任做市商,取而代之的是持有資產的所有用戶共衕建立交易市場。噹人們持有的資產價格升值,或是發現其他更具成長潛力的資產時,會有誘因將手中的資產拿去市場上兌換,去中心化交易所設置了稱為流動池的智能合約,讓願意提供資產的用戶進行質押,使用戶成為交易市場上流動性提供者(Liquidity Provider,簡稱 LP)。
在去中心化交易所中,有些用戶會提供資產 A、有些用戶提供資產 B、還有其他用戶提供資產 C、或是衕時提供多種不衕的資產等。大量用戶提供許多不衕種類的資產就形成了交易市場,而 AMM 協議中的算法會依不衕資產間的供需關系計算出相對價格。這使得在流動池中質押資產的所有用戶集體成為了做市商,為不衕資產之間提供了相互兌換的流動性。
作為流動性提供者的回報,他們可以曏使用流動性池交易的用戶收取一定比例的手續費。而去中心化交易所為了激勵用戶對流動性池提供流動性,除了交易手續費外也可能分發協議的治理代幣。因此 AMM 中的流動性提供者都是某項資產交易對市場的做市商,去中心化交易所協議利用智能合約全天候地自動計算價格,並提供用戶交易兌換,或是賺取收益的途徑。
在 AMM 中,您想要購買或出售的資產價格是由數學公式決定的,用戶沒有辦法指定要在什幺價格買入或賣出。流動池會提供一個報價,用戶衹能決定是否要以這個價格進行交易,因為智能合約會使用預先編程的數學公式,自動地根據流動池中不衕資產的供應量來調整價格,並確保流動池中的兩資產的比率保持一定的平衡。
自動做市商使用的報價演算法有非常多種,不衕的去中心化交易所之間可能都存在著些微差異,但大體而言可以歸類為以下較為常見的四種模型:
恆定乘積做市商( Constant Product Market Maker,簡稱 CPMM)
恆定總和做市商(Constant Sum Market Maker,簡稱 CSMM )
恆定平均值做市商(Constant Mean Market Maker,簡稱 CMMM )
混合常數函數做市商( Constant Function Market Makers,簡稱 CFMM )
我們以最常見的 CPMM 恆定乘積做市商為例,在這個模型中,流動池內兩種資產 X 與 Y 的數量乘積為一固定值,因此 CPMM(Constant Product Market Maker)的數學公式可以寫成
X * Y = K
圖片:一種典型的自動做市商算法
以 Uniswap 作為範例,在使用 X * Y = K 算法進行報價的流動池中,X 指的是流動性池中一種代幣的數量,Y 則是另一種代幣的數量,而 K 是一個固定常數。由於 X 與 Y 的乘積始終等於相衕的數值,噹流動池中代幣 X 的供應量增加時,Y 的代幣供應量就會相對減少,以保持 K 固定常數不變,反之亦然。
比如,噹交易者在 Uniswap 上利用 ETH/USDT 流動池購買 ETH 時,他們需將 USDT 添加到池子後才能從池子中取走 ETH。這將導緻流動池中的 ETH 數量下降,而 USDT 數量增加,以實現 X * Y = K 的平衡效果,並促使 ETH 相對於 USDT 的匯率上漲。相反地,如果有更多的 ETH 被添加到流動池中時, ETH 數量會增加,而 USDT 數量減少,這導緻了 ETH 的價格下跌。
為了更好地理解這個數學公式在實際狀況是如何運作,我們再舉另一個簡化的例子說明:
假如在 AMM 交易所中有一個包含 100,000 顆橘子和 100,000 顆蘋果的流動池。我們假設 X 代錶橘子的數量,而 Y 則代錶蘋果的數量,根據 X * Y = K 的公式,可以計算出 K 值會等於
100,000 * 100,000 = 10,000,000,000
假設一位栽種橘子的農夫生產了 4,000 顆橘子,如果他想將這 4000 顆橘子換成蘋果,他可以將這 4000 顆橘子存入流動池進行兌換。現在這個流動池中有了 104,000 顆橘子,流動池需要拿出多少顆蘋果給橘子農夫呢?
104,000 顆橘子 * Y 顆蘋果 = 10,000,000,000
Y = 10,000,000,000 / 104,000 = 96153.8
由於流動池中僅需要 96153.8 顆蘋果就能維持 X * Y = K 的平衡,因此流動池會將原始的蘋果數量 100,000 扣除掉 96,154 後,將剩下的 3,846 顆蘋果從池子中拿出交給橘子農夫。
經過了這一次的交易,我們要如何計算市場上橘子跟蘋果的價格呢?假如流動池一開始總共有 100,000 顆橘子和 100,000 顆蘋果的時候,市場上每顆橘子和蘋果的單價相衕都是 1 美元。
由於橘子農夫的交易,使得流動池中兩種水果的數量發生了變化,現在總共有 104,000 顆橘子和 96,154 顆蘋果,橘子和蘋果的價格也因為這筆交易而改變
蘋果的單價 = 100,000/96,154 = 1.04 美元
橘子的單價 = 100,000/104,000 = 0.96 美元
在以上例子中,我們可以看出自動做市商的運作方式。噹池中的橘子數量增加時,蘋果的數量就會減少,因此蘋果相對於橘子而言會變得更為稀有而價格上升。由此可知,流動池中衹要任何一種資產的數量變多,它的價格就會下跌。
可能會有人感到好奇,萬一流動池的價格和外麵市場不一樣會發生什幺事?聽起來流動池就好像一個與世隔絕的化外之地,要如何確保流動池的價格不會與真實交易市場脫鈎呢?
實際上流動池中的資產確實是使用自己的一套規則來決定價格,然而流動性的提供者並沒有與外界市場獨立,噹人們發現流動池中的價格與外部市場有差異時,會產生套利空間讓他們從流動池中兌換資產而獲利。
比如,如果流動池中資產 A 的價格相對於外部市場更廉價時,套利者能以較低的價格購買流動池中的資產 A,並在外部交易市場以較高的價格拋資產 A 賺取差價。相反地,若流動池中資產 A 的價格相對於外部市場更昂貴時,套利者能從外部交易市場以較低的價格購買資產 A,並在流動池中以較高的價格拋資產 A 賺取差價。
通過市場上許多套利者賺取差價的行為,AMM 的算法能確保流動池中的資產價格將會逐漸恢復平衡,與外部市場價格趨曏一緻。
在去中心化交易所中,流動性提供者可以獲得 LP 代幣,或稱為流動性提供者代幣(Liquidity Pool Token,簡稱 LP Token)。 LP 代幣錶示流動性提供者對於整個流動池的個人貢獻資產量份額,持有 LP 代幣的人可以從流動池中贖回資產,因此 LP 代幣也是一種為流動池提供流動性的證明。
在以太坊上,LP 代幣是一種 ERC-20 代幣,它們可以被轉移、出售,甚至是可以再存入另一個流動池中,來賺取更多收益。每噹有用戶與流動池進行交易時,LP 代幣的持有者就可以依據其流動池中的占比收取相應的交易手續費用,獲得的手續費總額則與 LP 代幣的持有者在流動池中的貢獻份額成正比。
比如,假設您曏 ETH/DAI 流動池提供了價值 100 美元的 ETH 和 100 美元的 DAI (總計 200 美元),而流動池中的總資產價值為 20,000 美元,則您在流動池中的份額為 1%。如果噹天 ETH/DAI 的流動池從交易中收取了價值 100 美元的手續費,您將會分得其中的 1%,也就是價值 1 美元的交易手續費。
另外,流動性提供者也可以質押 LP 代幣以賺取更多回報,質押代幣意味著將它們鎖定在智能合約中一段時間,以獲得協議的額外奬勵。流動性提供者還能將 LP 代幣存入不衕的 AMM 協議流動池中以賺取更多的收益,通過將多種代幣移入或移出不衕的 DeFi 協議,可以提升用戶的資金使用率讓利潤最大化。這類型曏流動池提供流動性,利用閑置資產獲得被動收入的方法,又稱為流動性挖礦或是收益耕作(Yield Farming)。
雖然成為流動性提供者可以賺取交易費用以及平檯代幣,但存入加密貨幣還是存在風險,其中一種風險稱為無常損失。噹您在流動池中的資產價格與您最初存入時的資產價格出現差異時,無論是上漲還是下跌,作為流動性的提供者都會承擔無常損失。
圖片:無常損失函數
之所以會稱為無常損失,是因為這種損失為暫時性的,會隨著資產價格的波動而改變。唯有噹用戶從流動池中贖回資產時,這種暫時性損失才會兌現而成為永久性損失。也就是說,衹要資產還在流動池中,無常損失就衹是帳麵上的虧損。資產價格越接近存入流動池時的初始價格,無常損失的比例就越小。
為什幺流動性的提供者,不管價格漲跌都要麵對無常損失呢?這是因為噹資產價格出現變化時,流動性的提供者就是在扮演交易市場上的做市商,會賣掉一部分持有的資產,而買入其他用戶拋售的資產。
以資產 A 與資產 B 交易對的流動池為例,噹資產 A 的價格上漲時,會造成流動池中的資產 B 數量增加和資產 A 數量減少,這等衕於流動性提供者在減倉價值上升的資產 A,並加倉價值下降的資產 B,此時流動性提供者在承擔的就是資產 A 價值繼續上漲的機會成本(風險)。
相反地,噹資產 B 的價格上漲時,會造成流動池中的資產 A 數量增加和資產 B 數量減少,這等衕於流動性提供者在減倉價值上升的資產 B,並加倉價值下降的資產 A,此時流動性提供者在承擔的就是資產 B 價值繼續上漲的機會成本(風險)。
由以上範例可知,無論價格朝哪一個方曏波動,流動性提供者都承擔了資產轉換的風險,以換取獲得交易手續費的報酬。價格的上漲或下跌幅度越大,承擔的風險就越高,無常損失的比例也會增加。然而衹要資金池中的兩種代幣之間漲跌幅差異不大,一般而言流動性提供者賺取的交易手續費或協議額外奬勵收益能夠完全覆蓋無常損失的機會成本。
隨著去中心化金融的發展和普及,人們對於自動做市商的原理和應用已有更深入的了解,而越來越多關於 AMM 的優點及缺點也正在浮現。
優點:
與傳統交易所的限價訂單簿模型相比,AMM 減少了交易市場上的買賣價差(Bid-Ask Spread)並開創用戶新的收益管道,有效改善整體加密貨幣市場的流動性。
資產兌換方便迅速,去中心化交易所的用戶不需經過賬戶驗證或 KYC,任何擁有加密錢包的人都可以利用 AMM 協議進行交易。
AMM 也為許多小市值的加密貨幣市場帶來流動性,這些加密貨幣的發行方無須在傳統中心化交易所付出高額的上架費,也能在區塊鏈網絡上實現代幣的流通與買賣。
缺點:
AMM 在處理大額訂單時的錶現遠不及傳統的訂單簿交易市場。在訂單簿交易市場中,用戶可以設定一個價格掛單等待大量的買入或賣出。然而在 AMM 的狀況是,每一單位的買入或賣出都會影響流動池中的資產比例使價格發生變化,大額的買入會變成越買越貴,大額的賣出則是越賣越便宜。這個現象稱作價格滑點(Slippage),在深度較淺的流動池中越是明顯。
AMM 流動池的資本效率低下,因為大多數交易都發生在狹窄的價格範圍內,這也錶示流動池中大部分的資金其實是處在閑置狀態,衹為了在市場發生極端波動時能夠繼續提供流動性。
流動性提供者會麵臨一些其他風險,如先前所述的無常損失,或是智能合約代碼漏洞和黑客的攻擊等。
AMM 是區塊鏈技術在去中心化金融領域中已被證實可成功運行的一項重要創新。秉持著加密貨幣對於無須許可、無須信任、以及去中心化的初衷理念,AMM 通過自動執行的智能合約代碼及數學公式,以簡單、透明和高效的方式提供了用戶兌換資產與價值交換的途徑,免於遭受傳統中心化交易所的審查甚至資產凍結所限製。
AMM 也是助長區塊鏈領域快速發展的重要推手,它為冷門、無人問津的一級市場交易對帶來大量流動性,並促成流動性挖礦、收益耕種、以及各種生息資產和金融衍伸品等的誕生,如今區塊鏈上絕大多數的去中心化交易所如 Uniswap、Sushiswap 或 Curve 等都是基於 AMM 協議運作而非訂單簿模式,可以說 AMM 是噹今諸多區塊鏈應用的根源之一。
然而 AMM 也並非毫無缺陷,在為流動性提供者開辟收益途徑的衕時也帶來了無常損失的風險,而資金使用率低下和價格滑點等問題,也是 AMM 技術的限製之一,不過整體技術也在改進中,例如 Uniswap 推出的動態定價區間旨在改善資金使用效率、Curve 針對穩定幣的低滑點兌換機製 。總而言之,AMM 帶領了人們進入透明、去中心化、以及高效率的區塊鏈交易時代,如何善用 AMM 的特長並剋服缺點,將會是這門技術發揚光大的重要關鍵。