轉自:加密谷Live
作者:RossBulat
翻譯:子銘
UniswapV2是鏈上交易所的下一個迭代產品。
Uniswap是Ethereum區塊鏈上的一個鏈上流動性協議,它可以實現無信任的代幣交換,這意味著所有的交易都是由智能合約執行的,而不需要中介或受信任方。這種去中心化的交換代幣的方法已經被證明受到ERC20代幣持有者的歡迎,以交換他們的代幣并為代幣對提供流動性。
Uniswap于2020年5月19日在Ethereum主網上推出了第二個版本,以配合核心合約v1.0.1的發布,在此之前,Uniswap已經在Rinkebytestnet上測試了一段時間。在撰寫本文時,該協議已經在主網上使用了2個多月,到目前為止,還沒有發生與智能合約完整性有關的重大破損或問題。
如果你對持有和/或交易加密貨幣、Ethereum發展、金融科技或一般的金融趨勢感興趣,Uniswap應該會吸引你的注意。它在2020年第三季度經歷了快速增長,以配合蓬勃發展的DeFi領域。Uniswap作為一個獨立的服務存在,但也可以整合到第三方錢包或Dapps中。除此之外,其他智能合約也依靠Uniswap作為其服務的基礎。
本篇將以中立的方式向讀者介紹與UniswapV2一起推出的增強功能,詳細介紹主要功能。
UniswapV1提供的基礎
UniswapV1奠定了鏈上代幣交換和去中心化流動性池的基礎,為用戶提供流動性的獎勵,并收取少量費用進行交換。
代幣匯率不是實盤,而是使用所謂的"恒定產品公式"來計算,這一點將在下面簡單重溫。它本質上提供了一種機制,以保持代幣價值相對于相關代幣對的平衡。
基礎代幣對都有與之相關的獨立流動性池,用戶可以通過將其中任何一種代幣存入相應的池子來貢獻流動性。然后,每當有交易發生時,流動性提供者就會得到0.3%的手續費分成獎勵--這個分成是基于其池中代幣相對于整個池子供應量的比例。
UniswapV2中的新內容
c0ffeebabe.eth向Curve.fi轉入2879枚ETH:金色財經報道,Yearn核心開發者和Curve貢獻者banteg在社交媒體上表示,感謝c0ffeebabe.eth退還資金。數據顯示,30分鐘前,MEV機器人c0ffeebabe.eth向Curve.fi: Deployer轉入2879枚ETH((價值約合540萬美元)。[2023/7/31 16:08:03]
UniswapV2為協議帶來了一系列升級和增強,這些升級和增強建立在第一個迭代引入的交換和流動性機制的基礎上。主要變化包括
ERC20到ERC20的代幣交換,其中ETH不再需要作為中介代幣來促進交換過程。這也被稱為"ETH橋接"。取消這一要求后,交易次數減少了一半,節省了gas費。這也使得Dapps在沒有設置直接交換代幣池的情況下,可以有效地找到從一個代幣到另一個代幣的"路線"。本篇將進一步詳細訪問這些變化。
價格預言機功能,允許根據每個區塊的代幣對價格進行時間加權平均定價。我們將詳細解讀這個機制背后的機制。
閃電交換,或者說能夠從Uniswap池中"借用"代幣,與外部服務進行一些任意交易,并在一次交易中償還你最初的借貸資金。該交易是具有原子性的,這意味著如果在任何階段交易失敗,它將被全額還原。這種功能的明顯用例是利用流動性池執行套利交易,但也有其他用例提供了好處,比如削減執行特定DeFi操作的gas費用,比如關閉MakerVault。
通過將無效返回類型的transfer和transferFrom視為成功轉移,支持非標準的ERC20代幣。這看起來似乎微不足道,但主要的代幣如USDT和BNB在它們的轉移方法上正是這樣做的。包括廣泛采用的沒有完全遵守ERC20標準的代幣,加強了Uniswap在使用量上優先鏈上交易所的主張。
額外的實用方法,以防止在轉移的代幣數量超過Solidity所能支持的情況下出現溢出。
非標準ERC20代幣必須支持官方EIP規范中指定的方法,但返回類型以及由此產生的方法簽名可能與概述的內容不同。這個問題使得令牌成為非標準的。重命名或刪除所需的方法也會使令牌成為非標準,但這種做法較少,而且如果像Uniswap這樣的協議想要支持這種與最終確定的規范的偏差,則需要大量的變通方法。
地址0xC333向Binance存入了31500枚COMP:金色財經報道,據Lookonchain監測,地址0xC333剛才向Binance存入了31,500枚COMP(價值124萬美元)。而地址0xC333在12小時前COMP價格暴漲后立即將9201枚COMP(價值35.8萬美元)存入交易所。這些COMP是從Robinhood的錢包收到的,由Jump Trading托管。[2023/6/26 21:59:59]
UniswapV2引入了一個可切換的0.05%的協議收費,它吃掉了標準的0.3%的費用,但它目前是關閉的--只有通過去中心化的治理機制才能開啟。關于這一點,我們將在下文中介紹更多。
UniswapV2在經過廣泛的測試和審計后推出。
已經有充分的證據表明,如果智能合約中存在bug,智能合約的不可更改性會帶來災難性的代幣損失/凍結的風險。如果智能合約寫得很差,并且包含錯誤,導致鎖定資金,那么就無法恢復這些交易。
值得稱道的是,Uniswap團隊遵循了行業標準的做法,以確保其合約中的錯誤和邏輯錯誤的風險保持在最低限度。
從UniswapV1到V2,合約從第一個版本的Vyper轉到了Solidity中重新編寫。這成功地克服了Vyper的局限性,并允許Uniswap開發人員利用最新的Solidity版本推出的較新的操作碼,進一步優化了合約執行中所使用的CPU資源。
讓Uniswap工作的主要合約如下:
智能合約的結構,使UniswapV2發揮作用
Router2是Router1的一個更優化的版本,但它們都執行同樣的任務。Uniswap建議所有的開發者現在轉而使用Router2合約。
Uniswap的全面改版需要第三方的審核,由知名的開發工作室進行審核,并在測試網上進行大量的測試,以模擬真實世界的使用情況。這一切都發生了--ConsensysDiligence是提供UniswapV2源碼綜合報告的各方之一。
在主網發布之前,UniswapV2似乎已經過廣泛的審計和審查。在源代碼上進行這一關鍵任務的盡職調查,很可能確保了未來不會發現任何重大錯誤。但是Uniswap仍然有一個Bug賞金計劃,如果發現任何重大缺陷將會獲得賞金。
美聯儲巴爾金:預計加息將放緩,但持續時間更長:11月29日消息,美聯儲巴爾金表示,他支持在抑制過高通脹的過程中逐步降低加息幅度。巴爾金稱:“我非常支持這個過程,這個過程會更慢,可能會更久,最終利率也可能會更高。”不過他拒絕透露他認為利率需要升到多高,稱美聯儲將采取\"需要做的一切\"來緩解價格壓力。
他還認為,美聯儲需要確保不會過早停止加息,在確定通脹得到控制之前,應保留任何可能放松政策的言論。“當你處于限制性區域時,更謹慎一些是有幫助的,因為你所做的事情將會影響到未來的某個地方。”當被問及是否設想美聯儲將維持高利率至2024年時,巴爾金表示有可能。(金十)[2022/11/29 21:08:42]
安全性是區塊鏈領域的一個持續關注點,考慮到該領域的交易價值量,這一點是可以理解的。對涉及共識、區塊創建和交易驗證的底層區塊鏈機制的攻擊是學術界大量研究的重點,但智能合約的完整性在Ethereum上可以說是同樣重要的,被鎖定的代幣依靠智能合約邏輯的完整性來保持它們的安全和可及性。
現在讓我們深入了解UniswapV2的一些機制,進一步了解該協議的功能。
UniswapV2如何工作
每一對代幣都有自己的資金池,通過合約初始化,并向池子存入初始資金,以提供流動性。
代幣的匯率是根據池中兩個代幣的供求情況計算的,采用所謂的恒定函數。利用恒定乘積公式,根據供求關系計算某一對代幣的價值,其中價值沿著公式的曲線移動。
決定UniswapV2上匯率的恒定積公式
匯率是根據簡單的公式自動計算的。x*y=k相應的曲線代表了所有可能的代幣價值每對代幣都有自己的曲線來調節當前的匯率狀態。
如果B代幣需求量巨大,數量枯竭,那么價格將成倍增長,并因此向曲線左側移動。另一方面,如果B代幣有充足的供應,相對于A代幣沒有需求,那么價格將在曲線的右側趨于平穩。請注意,這種供需平衡是基于相對于A代幣,所以相同的B代幣與不同的A代幣搭配將代表不同的數量和價格比例。
由于這些機制,Uniswap依靠套利交易來保持代幣的價值與市場其他部分保持一致。本質上,這些協議仍然需要一個外部交易生態系統來控制代幣價值。每個代幣對的匯率將不斷更新以匹配市場價格--這為交易者提供了巨大的機會。
上海青浦區首次發出數字人民幣人才獎勵:金色財經報道,據綠色青浦公眾號,為了助力長三角數字干線建設,提高對數字人民幣的使用率,近日,上海青浦區人社局探索開展了應用數字人民幣方式兌付人才資金的試點工作。據悉,在取得企業人才的同意后,區人社局會同建設銀行為企業提供了點對點上門服務。服務團隊為企業人才介紹了目前數字人民幣在生活中的各類支付場景以及線上線下支付等功能,并為人才提供數字人民幣錢包的安裝和開通服務。[2022/6/30 1:41:01]
當您在Uniswap.exchange上切換代幣對時,匯率會實時應用。JavaScriptSDK為其他應用程序提供了API,以提供他們自己的接口來獲取代幣對及其匯率。除了ERC20代幣外,匯率還適用于原生ETH。
UniswapV2用戶界面中應用于ETH|DAI交易對的匯率。
現在讓我們來介紹一下UniswapV2上可以進行的交換類型。現在擴大的交換選擇是由于ETH沒有像在UniswapV1中那樣被用作中介代幣,也就是"ETH橋接"。
UniswapV2交換選項
如上所述,在UniswapVI中,每一個代幣交換都使用ETH。在從A代幣到B代幣的交換中,A代幣首先要兌換成ETH,然后該ETH再兌換成B代幣。這就導致了雙倍的交易費用和雙倍的gas費因此而產生。
Uniswap文檔中提到,第一次迭代是他們對去中心化自動交易所想法的"原型"。這很可能是因為開發者發現了更高效的交易執行方法,而這些方法已經在V2中得到了應用。省略ETH作為中介代幣就是這樣的優化之一。
去掉ETH作為實用性代幣,實現了代幣對的直接交換,如下圖所示。
兩個ERC20代幣之間直接交換。
這看起來很合理也很直觀,也許是V1應該的工作方式。Router合約上的swapExactTokensForTokens和swapTokensForExactTokens方法可以被調用來進行這樣的交易。
上海天文館首發數字藏品:金色財經報道,據上海天文館官方公眾號,在開館一周年即將到來之際,上海天文館(上海科技館分館)宣布首次推出并于6月9日正式發售兩件數字藏品“璀璨橄欖隕鐵·伊米拉克隕石”和“世界上最早的天文鐘縮比模型·水運儀象臺”,每件限量10000份。此次數字藏品由上海科技館官方授權并監制。[2022/6/9 4:13:43]
這些方法名中使用的Exact術語代表了你希望交易到的代幣。在從DAI到ETH的交易中,如果您需要特定數量的ETH作為回報,您將使用swapTokensForExactTokens。另一方面,如果您想用準確的DAI金額換取相應的ETH值,您將使用swapExactTokensForTokens。這個約定貫穿于UniswapV2的智能合約中。
除了直接交換,用戶仍然可以選擇在兩個代幣之間進行交換,以ETH作為中間代幣。當輸入和輸出代幣沒有資金池,但ETH和兩個代幣之間存在資金池時,這就變得很有用。
在通過ETH交換DAI和LINK的情況下,產生的交換流程如下。
以ETH為中介代幣的間接交換。
允許這種交易的相應Solidity方法是swapExactETHForTokens和swapETHForExactTokens,以及swapTokensForExactETH和swapExactTokensForETH。
最后一種交換代幣的手段是將交換路由到多個ERC20代幣,或者白皮書所說的"任意對ERC20代幣",然后再到達你想要的輸出代幣。當然,原生ETH代幣也可以存在于任意對中。
考慮以下插圖,在到達所需的LINK輸出令牌之前,通過一系列代幣移動DAI值。
通過一系列的代幣進行資金路由,交換一個沒有直接配對的代幣
如果你的直接代幣之間沒有資金池,這種方法是很有用的,并且已經省略了前面介紹的ETH橋接。
雖然這種交換方法是可能的,但沒有智能合約方法可以自動促進眾多代幣的交換。相反,前端應用程序必須手動編寫功能代碼,并向Uniswap進行多次交易調用來代替。
這種用例可能不會被大量使用--在通過1個或2個中間代幣傳遞價值后,gas會使額外的交換變得不經濟。此外,中心化交易所可能會有更便宜的代幣交換。說了這么多,一旦Ethereum2.0的擴展功能和更高效的股權證明共識被并入主網,這樣的能力可能會變得更加廣泛,使多交易互換成為更可行的前景。
價格預言機
Uniswap的價格預言機機制允許開發者根據該代幣在一些區塊上的價格變動計算出平均的代幣價格,這些區塊也通過它們的時間戳代表一段時期。
這個時間段的累積可以是最近一小時、24小時或更長時間。
雖然Uniswap提供了代幣價格,但它并沒有在鏈上存儲任何歷史值。相反,Dapp開發者有責任將一段時間內的價格累積起來,計算出這段時間的平均價格。
這些價格被稱為"時間加權平均價格",或TWAPS。
這個想法是通過將累積價格除以時間戳持續時間來計算出一段區塊的平均價格。
以下圖示總結了這種計算方法。
TWAPs是可靠的,它反映了代幣在一段時間內的價值。這種方法提供了保護,防止閃電崩盤或瘋狂的價格變動,這種活動在加密貨幣交易中并不少見。在市場出現波動的情況下,提供時間加權價格反映了代幣更準確的表現。
開發者可以自由地利用價格預言機,如果需要他們的服務,他們可以通過UniswapJavaScriptSDK檢索,將進一步訪問。
閃電交換
FlashSwaps是由從Uniswap代幣池中借入代幣、用這些代幣做一些事情以及償還這些代幣的多階段過程組成的交易,所有這些都在該單筆交易中進行。如果交易的任何階段失敗了,所有的狀態變化都會被還原,代幣仍然保留在其對應的Uniswap池中。
考慮以下插圖,顯示買方可以在沒有持有代幣的情況下執行閃電交換。這是因為該代幣價值被保證返回到池中,要么交易失敗,要么買方償還在同一交易中借用的代幣。
閃電交換的一個很好的應用案例是套利交易,即保證買方獲利并將原始代幣價值返還給Uniswap池。買方每次都能從套利交易中獲得利潤。
另一個用例是利用Uniswap池來結算MakerVault,你將償還債務,并從該Vault中提取你的抵押ETH來償還Uniswap池。這比使用您的自有資金來實現同樣的任務所需的Gas更少。
閃電交換是Uniswap相對較新的功能,但我們可以期待在不久的將來有更多的Dapp整合該功能。
在交易機器人的使用案例中,閃電交易也可以被利用來自動執行套利交易。機器人將不需要資金來執行交易,只需要識別套利機會并執行閃換交易。
新的0.05%協議費和治理
UniswapV2以"協議費"的形式為協議引入了額外的費用,當開啟時,將交易價值的0.05%路由到Uniswap擁有的地址。這0.05%是從交易所標準的0.3%費用中扣除的,所以在開啟這項費用時,流動性提供者將成為損失的一方。
協議費目前是關閉的,Uniswap也沒有公開宣布近期會開啟。
這個新增的功能看似是一個值得商榷的決定,但Uniswap開發者認為這是一個必要的功能,以支持Uniswap的長期發展和可持續性。事實證明,如果他們希望啟動這一收費,就會有一個管理機制,社區需要投票決定是否啟動該機制。
雖然需要達成社區共識才能啟動這一功能,但這樣做會給Uniswap團隊帶來巨大的財務優勢,因此也是競爭優勢,因為費用會被轉移到他們的錢包。
從好的方面看,這種費用將為改進協議和整體生態系統提供資金,這將帶來更多的應用,因此更多的交易費用將使流動性提供者受益。理論上,這可以彌補收費最初引入的損失。以下圖示概括了這一想法。
關于將決定是否開啟協議收費的治理機制,目前還沒有公布太多細節,但可以假設會利用ERC20代幣來提交投票,類似于Maker的治理和投票協議。
為了管理協議收費機制,UniswapFactory合約中包含了feeTo和feeToSetter方法,分別設置協議收費錢包地址和能夠設置feeTo值的賬戶。
總結
這篇文章是對UniswapV2的全面介紹。我們已經涵蓋了它所提供的一系列進步以及它們如何工作。更高效的代幣交換、時間加權價格預言機和閃電交換功能是主要的增強功能,還有一些底層的改進,比如轉向基于Solidity的智能合約,利用最新的操作碼進行更高效的執行。
UniswapV2仍然是一個去信任的去中心化交易所,它運行在Ethereum區塊鏈上,無法被篡改,除非基本的Ethereum被成功攻擊。到目前為止,這種情況還沒有發生,而且以目前運行的礦工和驗證者的數量,這種情況也不太可能發生。
ETH2的Medalla測試網啟動時有2萬名驗證者--我預計這個數字在主網啟動時將會更高,驗證者將得到實際價值的激勵。
另一方面,UniswapV2仍然是一個不太完美的代幣交易所的實現。gas費目前是歷史上最高的,使得每筆Uniswap交易都很昂貴。Uniswap沒有實時訂單簿,導致交易者仍然依賴中心化交易所來執行交易策略。如前所述,集中式交易所在平衡Uniswap匯率方面仍然發揮著不可替代的作用,它依靠套利交易與市場均價保持同步。
UniswapV2是朝著正確的方向邁出的積極一步,但如果去中心化交易所希望完全取代中心化交易所,前方仍有重大挑戰。說到這里,整個加密貨幣社區,尤其是Ethereum的情緒是非常積極的--可以很有信心地預計,DeFi領域在中短期內的技術能力和應用不會放緩。
2019年8月,中國人民銀行支付結算司副司長穆長春在一次發言中談到我國的央行數字貨幣“呼之欲出”,隨后數字貨幣的推進明顯加快了步伐.
1900/1/1 0:00:00現在,加密貨幣已正式在中央銀行的資產負債表上首次亮相,這會導致一個全新的加密資產報告框架嗎?最近發現,巴哈馬中央銀行已于2020年4月在其資產負債表中列出了其新創建的加密貨幣,即“沙美元”.
1900/1/1 0:00:00比特幣的價格最近在12400美元處被拒,觸發了衍生品交易所的2.34億美元期貨合約清算。盡管比特幣過去30天內上漲了30%,但仍維持在11700美元的水平,支撐位尚未確定.
1900/1/1 0:00:00YAMv1的拯救行動 8月12日UTC時間下午6點,YAM團隊發現了其rebase合約中的一個bug。這個錯誤會導致生成比預定更多的YAM,從而讓儲備庫獲得大量的多余YAM.
1900/1/1 0:00:00來源:橙皮書 當網上開始出現MEME這樣的惡搞項目時,很難不讓人聯想到2013年牛市發生的另一個小故事.
1900/1/1 0:00:00這一輪DeFi大潮來得很突然也來得很意外。它的引爆點是6月17日COMP治理代幣的上線,COMP上線后暴漲迅速帶起了整個DeFi圈內項目的發幣潮,而這些項目又引來投資人的熱捧.
1900/1/1 0:00:00