這篇是想寫給新手看的,網路上很多資料教人如何使用DEX,但細節常講不清楚,為什麼將代幣放入池中後拿到LP代幣又可以再放到農場二次獲利...等問題。
寫的順序可能會有點亂,希望大家能初步了解 DEX 如何運作,當初我不懂的地方會特別拿出來說明。
什麼是去中心化交易所
不用透過第三方,用戶利用智能合約,訂單在交易者之間直接配對,實現點對點交易,聽起來好像很難? 繼續看下去吧。
恆定乘積
一個交易對中假設有A幣及B幣,其中A幣數量*B幣數量為定值K。
先有個概念就好,總之兌換的代幣越多,可兌換的比例越少。(圖以K=10為例)
兌換(Swap)
Dex最主要當然就是提供兌幣功能,兌幣的程序為先交出交易手續費,扣除交易手續費的代幣數再以恆定乘積,算出可兌換的代幣數。
假設手續費為0.1%,該池當下A幣數量:B幣數量為10:20,因此,恆定乘積值為10*20=200。
此時我要將1個A代幣兌換成B代幣,可得B代幣數量算法如下:
首先,先收手續費為1*0.1%=0.001,所以實際只有拿0.999個代幣A進到池中以恆定乘積兌換,池中A代幣數量變為10.999,為維持恆定乘積200不變,池中B代幣數量應為200/10.999=18.183,所以可得B代幣數量為20-18.183=1.817,手續費回到池中,池中A:B數量最終為11:18.183,K值變為200.013。
※以A換B,手續費就收A;以B換A,手續費就收B。
※先抽手續費 → 維持恆定乘積進行代幣交易(K值不變A、B交易) → 把手續費丟回交易對中 → K值改變。
流動性提供者LP(Liquidity Provider)
將2種幣放入資金池中供用戶兌換者稱為LP,而LP提供流動性後會獲得LP代幣以證明該用戶有提供流動性。
無常損失(Impermanent Loss)
拿上面兌換的例子假設該池原A幣數量:B幣數量為10:20,A幣價格:B幣價格為2元:1元。
某天B幣價格漲到3元,這時就會有人想要套利,把A換成B,再假設有人將1個A兌換成B(正常是會被換到池中AB總價值相同為止,這邊只是假設。)
最終池中A:B數量變為11:18.183。原本池中的幣經漲價後價值應為10*2+20*3=80,而經過兌換後價值暫時變為11*2+18.183*3=76.549,不提供流動性的話原本還能多賺3.5元左右,這就是無常損失,搬磚人會在各交易所中換取價差,使池中的幣價與外界平衡,在幣漲時賺的變少,幣跌時賠的更多。
無常損失公式如下:
無常損失(%)=100*((-2)*(A+1)^0.5*(B+1)^0.5+A+B+2)/(A+B+2)
※A為A幣漲幅,B為B幣漲幅。(A、B值>-100%)
※花了2個小時才算出來(吐血
農場(Farm)
為了吸引LP將特定幣對加入資金池中,DEX通常會以平台代幣鼓勵LP們去提供特定的資金池,LP們可將LP代幣質押進指定的農場以獲取獎勵。
※將LP代幣質押進農場的LP們可同時獲得農場收益及流動性池的手續費。
※而沒有農場的LP代幣,僅能獲得流動性池的手續費。
質押(Stake)
通常將單種代幣放入交易所中稱為質押,質押不會像提供流動性那樣,不會產生手續費也不會發生無常損失。
區塊產量
平台的代幣通常以區塊推進為基底造出,產出的代幣再分配給農場、質押池、DEX營運者...等。
以MistSwap的運作模式為例
區塊產量為100MIST,其中10%給開發者(Kasumi),90%流進農場。
有農場的LP可質押LP代幣進農場獲得獎勵的MIST,而沒有農場的LP僅能獲得交易時產生的0.25%手續費。
MistBar為Mist的質押池,單押MIST並從所有交易中抽0.05%換成MIST後,加入質押池。
xMIST詳細運作方式: https://read.cash/@Amiao/mistswapxmist-50835b3a