Uniswap是以太坊上的一種協議,用於交換ERC20令牌。與大多數交易所收取費用的交易方式不同,Uniswap旨在充當一個工具的作用,不收取任何的平臺費用或中間商的社區貿易代幣,任何用戶只要安裝了去中心化錢包軟體都可以使用這個協議。並且與大多數交易所的撮合交易(通過匹配買賣雙方來確定價格並執行交易)不同,Uniswap使用簡單的數學方程式以及代幣和ETH池來完成相同的工作。且用戶的交易對手並不是其他交易用戶,而是跟代幣池進行交易,且有自動做市的模型來計算交易價格。
普通的交易所都會有限價訂單的概念,一般的做市商提供流動性都會設定價格,而這些在Uniswap都沒有。在Uniswap,做市商只需提供代幣資金,剩下的可以通過機制來解決。普通的交易所需要交易對手,做市商通過設置買入價和賣出價,一是為市場提供流動性,二是可以獲得交易的利差。這些設置的價格形成了限價訂單。當然這些訂單可能成交,也可能不會成交。如果交易所將所有人的訂單都集中到兩個大型的池中,交易者不會願意,他們不希望自己的訂單跟其他人的訂單混在一起。
而Uniswap要做的就是將代幣混在一起,同時做市商無須指定其希望買入和賣出的價格。Uniswap為什麼會這麼做?這源於Uniswap自動做市商的設計。
Uniswap將每個人的流動性集中到一起,然後根據算法進行做市。也就是它本質上是基於算法的自動做市服務。Uniswap會有一些預定義的規則,根據這些規則它會向用戶提供兌換代幣的報價。
讓我們假設,流動性提供商提供ETH/MKR的交易對。假設根據當前的匯率,1MKR=3.5ETH,如果你想為Uniswap提供流動性資金,你向資金池提供100MKR和350ETH的資金。那麼,Uniswap會將兩個數值相乘,得出100*350=35000。
X*Y=K曲線圖 (K為常數)
其公式是X*Y=K,其中X是ERC20代幣,Y是ETH,K是常數。Uniswap會讓K常數35000保持不變。為了保持K不變,那麼,X和Y就是此消彼長的關係。如果有人在這個合約中購買了ETH,那麼MKR就會增加,因為購買者向流動性池中增加MKR,同時減少ETH。而ETH被購買者買走,從而使其在流動池中的數量減少。
Uniswap 有以下的特色:
1.易用性在Uniswap交易所上買賣幣時,你只要決定好賣出的幣種、買入什麼幣、買或賣的數量是多少,按下Swap送出交易,在交易上鏈後就能立即取得你應得的幣。而且就算是Token A換Token B,在Uniswap也只要發出一筆交易就能完成兌換,在其它交易所中可能需要發兩筆交易(第一筆交易將Token A換成某種中介貨幣(如ETH, DAI)再發第二筆交易換成Token B)才能完成。註:實際上在Uniswap也是將Token A換成ETH再換成Token B,只是它讓這兩個動作發生在同一筆交易裡。
2.gas利用率較高Uniswap交易消耗的gas量是以太坊上的幾家主流交易所之中最低的,也就代表在Uniswap交易要付的礦工費最少。
這主要得益於它相對簡單的做市機制:Uniswap不是採用掛單搓合機制來完成交易,而是根據合約中儲備的資金量算出當下的交易價格,並在交易發生時立刻從合約的儲備金中取出使用者應得的量傳給使用者。3. 抗審查性抗審查性體現在Uniswap上架新幣的門檻:就是沒有門檻,任何使用者都能在Uniswap上架任何Token。這點即使在眾多去中心化交易所之中也是少見的,大多數的去中心化交易所雖然不會像中心化交易所那樣向你收取上幣費,但還是要申請上幣、通過審查後,運營團隊才會讓你的Token可以在他們的交易所上交易。上架後也沒有人能迫使它下架。但這樣也會使得市場上充斥著各種Token。
4. 零抽租在Uniswap的合約設計中,沒有人有任何特權,開發團隊也不從交易中抽取費用。但這不代表在Uniswap 上交易是沒有手續費的。第一,要讓交易被打包進以太坊區塊鏈就要付gas fee,這筆錢跟交易的金額大小無關,以近期的幣價和網路擁擠程度估計,大約付$0.05 ~ $0.5的費用就能讓交易在一分鐘內上鏈,第二,Uniswap會對每一筆ETH Token的交易抽取0.3%的費用,(Token Token的交易則會抽兩次,共0.5991%)這筆費用稱為liquidity provider fee(流動性提供者費用) ,會付給流動性提供者們。
本文來源: 金色財經 / 作者:字母B