99久久国产亚洲高清观看2020_国产免费成人_四虎国产精品永久地址入口_国产精品免费一区二区久久夜色_美国超碰在线_男人天堂tv

您的位置:首頁 > 互聯網 >

Uniswap協議可通過智能合約實現代幣的自動交易 已經在以太坊上部署

2019-11-26 11:23:26 來源: 區塊網

最近想換換腦子,看了看Uniswap協議。Uniswap協議是一種通過智能合約實現代幣間自動交易的協議。本文介紹Uniswap協議,生態,交易價格以及

最近想換換腦子,看了看Uniswap協議。Uniswap協議是一種通過智能合約實現代幣間自動交易的協議。本文介紹Uniswap協議,生態,交易價格以及流動性收益的計算。

1. Uniswap協議基本介紹

Uniswap協議通過智能合約實現了代幣之間的自動交易。目前,Uniswap協議已經在以太坊上部署,可以實現ETH和代幣以及代幣和代幣的之間交易。Uniswap協議的整個框架如下圖所示:

Uniswap Exchange Factory以及Uniswap Exchange都是由以太坊上的智能合約(vyper語言)實現,相關的代碼的github地址如下:

https://github.com/Uniswap/contracts-vyper

通過UniswapExchangeFactory可以創建Uniswap Exchange。每個Uniswap Exchange實現一種代幣和ETH之間的交易。

在多種代幣都能和ETH交易的前提下,代幣和代幣之間也能交易,如下圖所示:

兩個Exchange,一個提供了ABC和ETH的交易,一個提供了XYZ和ETH的交易。通過Uniswap協議,一個用戶可以先通過ABC to ETH Exchange將ABC轉成ETH,接著再通過XYZ to ETH Exchage將ETH轉換成XYZ。整個過程Uniswap自動完成,從用戶的角度來看,ABC代幣直接轉換成了XYZ代幣。

2. Uniswap生態

Uniswap交易生態中,除了需要交易的用戶外,還有一個特別重要的角色:流動性提供者。對一個Exchange來說,流動性提供者提供了ETH以及相應的Token。只有有足夠多的流動性,用戶才能順暢的交易,并能保持價格在合理的范圍。

普通交易用戶,通過Exchange,實現一個代幣和ETH之間的交換。流動性提供者,同時提供代幣和ETH。交易的用戶每筆交易需要支付一定的交易費用(0.3%)。這些費用被流動性提供者均分。

3. x-y-k做市商模型

Uniswap協議使用的是x-y-k做市商模型,實現x和y之間的自動交易。Uniswap協議在github上有對x-y-k模型的詳細介紹:

https://github.com/runtimeverification/verified-smart-contracts/blob/uniswap/uniswap/x-y-k.pdf

3.1 x-y-k模型

所謂的x-y-k模型,是因為在這個模型下,x*y = k。可以想象成x和y,分別是兩種代幣的數量。在x和y交易時,在沒有交易費用的情況下,x*y永遠等于k,不變:

alpha和beta分別是每次交易的變化量。從上面的公式可以看出,變化前(x*y)和變化后(x‘*y')是相等的。

Uniswap協議在該模型的基礎上,引入了交易費用,新的模型計算公式如下:

引入交易費用,增加了rho變量。很容易可以看出,引入交易費用后,x'*y'是比x*y的乘積大。

3.2 交易價格計算

交易價格的計算分成兩種:一種是給定X的數量,計算能買到的Y的數量(Input);一種是給定Y的數量,計算需要的X數量(Output)。

getInputPrice的計算公式如下:

簡單的說,買入越多X,alpha越大,價格也越高。如果alpha為1的話(用當前流動性中X總額相等的X代幣買入),也只能買差不多流動性中的一半的Y代幣。如果把x/y視作當前Exchange的價格的話,一次買入后,價格變化為:

getOutputPrice的計算公式如下:

簡單的說,買入越多Y,beta越大,價格也越高。如果beta為1/2的話(買入當前流動性中一半的Y代幣),大約需要當前流動性中等量的X代幣。getInputPrice和getOutputPrice分別從兩種代幣角度計算價格,具體的價格是一致的。注意,價格計算公式只區分價格計算的兩種方向,并沒有制定X,Y具體代表的代幣類型。舉個例子,如果一個Exchange支持的是ETH和ABC交易,你可以把ETH當作X,ABC當作Y,同樣你可以將ABC當作X,ETH當作Y。

3.3 流動性計算

流動性提供者可以隨時增加/刪除流動性。Uniswap協議文檔,用一個三元組(e, t, l)來代表Exchange的狀態,其中e代表ETH的數量,t代表Token的數量,l代表當前流動性總量。

增加流動性(addLiquidity)的計算公式如下:

刪除流動性,就是依據流動性的占比,等比例的減少e和t。

很容易看出,增加流動性和刪除流通性時都是按照x/y的價格計算的。需要指出的是,在智能合約實現時,需要考慮計算的精度。

3.4 流動性收益計算

到目前為止,我們已經知道,增加流動性和刪除流通性都是按照當時x/y的價格計算的。Exchange的買賣會導致x/y的波動。先不考慮交易費用的情況下,可以先將模型退化到x*y=k的情況,看看流動性提供者的收益:

假設初始時,Exchange的代幣流通性是e和t,經過一些交易后變成e'和t',e*t=e'*t'。

很容易看出,只要x/y有變化,在沒有交易費用的情況下,沒有盈利可能。最好的情況,e/t不變的話,沒有損失。在有交易費用的情況下,只有交易費用足夠多,能抵消價格波動的損失的情況下,才有可能盈利。

總結:

Uniswap協議是一種通過智能合約實現代幣間自動交易的協議。Uniswap協議采用x-y-k交易商模型。交易的價格隨著交易金額的比例成二次函數變化。流動性提供者在沒有交易費用的情況下,沒有盈利的可能性。只有足夠多的交易費用的情況下,才有可能盈利。(Star Li)

關鍵詞: Uniswap協議 智能合約 代幣

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發行1 167億股計算,萬

發布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數為9794只,資產凈值為269454 75億元,同比上

發布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產。四川長虹25日稱,擬以1 66億元的轉讓底價掛牌出售31套房產。今年以來,A股公司出售房產不斷。根據記者不完全統

發布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關注函 股份繼續沖高

回復交易所關注函后,大港股份繼續沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權

7月13日,中泰證券發布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權,交易雙方共同確定本次交易的標的資

發布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續7日每天僅進行30億元的逆回購縮量投放,創下去年1月以來的最低操作規

發布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數創近20年新高 黃金期貨創出逾9個月新低

由于對美聯儲激進加息的擔憂,美元指數11日大漲近1%創出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創出逾9個月新低。美

發布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創下記錄以來最大跌幅

今年上半年,美股持續回落。數據顯示,道瓊斯指數上半年下跌15 3%,納斯達克綜合指數下跌29 5%,標普500指數下跌20 6%。其中,納斯達克連續

發布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數據顯示,截至6月16日,兩市融資余額1 479萬億元,月內增加344 67億元,最近一個半

發布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續流入A股市場

北向資金凈流入態勢延續。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發布時間: 2022-06-17 09:37
推薦   2022-06-17