比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > UNI > Info

淺學 Uniswap v4_CEX

Author:

Time:1900/1/1 0:00:00

網絡手續費

我們講單例模式首先要了解單例著重要解決什么問題。這個問題是網絡手續費。不需要太深入到opcode計價表,區分calldata和storage,我們只需要記住一個事實:跨合約調用是昂貴的,寫數據是昂貴的。舉個例子來說,如果我們觀察一個user->A->B->C的uniswapv2的路由交易,我們需要訪問幾個合約呢?對于用戶來說,只想完成A-C的兌換,我們一起來算:

router合約

userA資產減少變更,需要去Atoken合約登記一下,寫入新余額

調用pairA->B

pairA->B的B資產轉移到用戶user地址,需要去Btoken合約登記一下transfer,寫新余額

pairB-C的的B資產增加,user的資產減少,去Btoken合約登記一下

調用pairB->C

pairB->C的C資產減少,B資產增加

除了傳遞兌換信息的router調用外,其他的6次:兩次pair調用,token的結算4次。單例要解決的就是這六次的調用。我們有機會減少嘛?

YGG目前為全網爆倉金額最大幣種,24小時爆倉775萬美元:金色財經報道,Coinglass爆倉數據顯示,YGG目前為全網爆倉金額最大幣種,截至發稿時,YGG過去24小時全網爆倉775.19萬美元,過去1小時全網爆倉65.37萬美元。

行情顯示,YGG現報價0.569366美元,24小時漲幅65.1%。在過去24小時內最高漲至0.646638美元。行情波動較大,請做好風險控制。[2023/8/6 21:28:07]

pool不再是一個地址

我們在v2和v3時,pool是一個通過工廠合約創造的智能合約。里面有流動性的數據和負責交易的接口。而在v4中,多個pool都在poolmanager下面的存儲。當我們構造一個新的pool時,并沒有構造一個新的智能合約,而是在poolmananger下多了一些數據。

按照傳統軟件工程的觀點,這么設計耦合嚴重,所有的代碼功能塞到一個文件/智能合約里是不太好的。但是對于無情的gas計價程序來說,這么做能省下不少gas,這就是好設計。

但是這么做也有一個明顯的問題,就是原來一個pool管理兩種資產,現在一個poolmanager管理無數個資產。怎么才能算清楚我賬上的10個Atoken是屬于哪個pool的呢?這和下一個問題也有關系。

幣安VIP借幣平臺新增SUI、FLOW、LDO等可質押資產:金色財經報道,據幣安官方公告稱,幣安VIP借幣平臺新增可借資產:FXS、MKR、QNT、STG、MDT、OCEAN、HBAR、RIF、CELR,以及可質押資產:SUI、FLOW、LDO、OCEAN、CTSI、SNX、UNFI、STG、VET、INJ、JOE。幣安VIP借幣為個人或機構提供超額抵押借貸服務,利率、期限和服務,所有抵押資產都受到質押率的限制。[2023/5/21 15:17:11]

從菜市場到賭場

我們回到7次調用的問題,我們只解釋了單例為什么能解決pair的調用。對于V2V3的模式來說,更像是菜市場買菜。我們每一次swap都要錢貨兩清。然后去下一個檔口賣不同的菜。但是對于以太坊的ERC20來說,錢貨兩清這一動作是要支付手續費的。

我們現實生活中有另一種辦法管理多個檔口的方法,就是賭場籌碼。籌碼可以出入口清算,至于個別用戶是如何虧的、如何賺的,負責兌換的服務員毫不關心,我們只在進門出門清算,中間的輸贏并不需要上報銀行系統劃轉資產。而v2v3的菜市場模式中,我們則支付了eth來把每筆的清算都寫進區塊鏈了,自然就貴了。當然這也不是什么新鮮的方案,這是我們熟悉的CEX方案。

但是相較于CEX,一個智能合約籌碼清算方案有額外的優勢:如果我們極端一些,如果我們在A檔口贏了10U的籌碼,但是在你跑步去前臺清算的路上,賭場倒閉了,那么我們的錢就沒有了。notyourkey,notyourmoney。但是dex不一樣,你化身閃電俠,一筆鏈上交易的結構中跑了很多swap的操作,你會光速但是按照順序跑完入金,兌換籌碼,下場,出場結算。evm落后的單線程保護你跑得贏,跑得快。當然,我們焦慮也是多余的,一個去中心化交易所是不會倒閉的,更為重要的優勢是這一筆交易是可以鏈接其他DeFi的,雖然業務走的多,但是還是Defilego世界的一環。

安全團隊:Deviants項目Discord服務器遭到攻擊:金色財經報道,據CertiK監測,Deviants項目Discord服務器遭到攻擊。請社區用戶在服務器修復之前不要點擊任何鏈接或聲明消息。[2023/1/4 9:51:28]

我們基本講清楚了單例是如何解決我們說的7次調用的問題。至于籌碼是如何記賬的,為什么大家還在說復式記賬法,這部分就需要深入代碼講了。我們先略過。我們再來復習一下user->A->B->C的uniswapv4的路由交易:

調用router

outer找poolmanager

兌換籌碼

去poolmanager找pool的內部位置

交易

重復2/3步驟兩次

兌換籌碼

那么我們這次調用了幾個合約呢?4個。router、poolmanager、tokenA、tokenC。我們使用了poolmanager來規避了額外的兩次pair調用和兩次tokenb的記賬。

HOOK

一個pool有下面八個時點(v4-core/contracts/interfaces/IHooks.sol):

今日恐慌與貪婪指數為26,恐慌程度有所上升:金色財經報道,今日恐慌與貪婪指數為26(昨日為28),恐慌程度較昨日有所上升,等級仍為恐慌。

注:恐慌指數閾值為0-100,包含指標:波動性(25%)+市場交易量(25%)+社交媒體熱度(15%)+市場調查(15%)+比特幣在整個市場中的比例(10%)+谷歌熱詞分析(10%)。[2022/12/18 21:51:33]

beforeInitialize/afterInitialize(before/afterthestateofapoolisinitialized).

beforeModifyPosition/afterModifyPosition(Thehookcalledbefore/afterapositionismodified)

beforeSwap/afterSwap(Thehookcalledbefore/afteraswap)

beforeDonate/afterDonate(Thehookcalledbefore/afterdonate)

在這8個時點,pool的創建者可以插入自己的代碼。注意,用戶可以在hook規定好的行為中,選擇注冊自己期待使用的時點和方法。當其他人觸發,例如其他用戶交易后,用戶可以被動的執行代碼。注意,hook定義權在pool的構建者,并不是pool的用戶能定義的。當然用戶可以用腳投票選一個自己喜歡的。

安全公司Zellic發現WETH中一個輕微且無害的錯誤:11月19日消息,安全公司Zellic研究發現了WETH中一個輕微且無害的錯誤,由于不考慮SELFDESTRUCT/coinbase eth傳輸,通過SELFDESTRUCT(自毀)函數將ETH注入WETH合約中,會增加合約中的ETH余額,但不會鑄造任何新Token,使得WETH合約中totalSupply函數變量不同步,即WETH Token的總量是小于或等于WETH中的原生ETH余額。

目前在整個以太坊主網上,WETH已參與超過1.25億筆交易,有超過7%的以太坊交易涉及WETH;此外,在過去一年中,在4.2億次以太坊交易中,其中的11.5%涉及WETH。[2022/11/20 22:07:49]

這里我故意先使用了非常抽象而不是非常具體的描述方式,因為過于具體會限制想象力。我們馬上會給出具體的例子。

我們進一步學習代碼后,需要大家注意的是下面幾點:

構造一個pool,需要指定hook。

hook也沒有后續修改的方法。pool和hook綁定。當然hook也可以是一個可升級合約。

如果想做一個符合自己需求的hook,那要構造一個新的pool

僅僅是hook不同,同一個交易對可以有多個pool

官方給了幾個例子,其中比較有學習意義的是現價單的hook。其實不需要看代碼,limitorder做了下面的一些事情

管理用戶注冊的:

placeorder

kill

withdraw

管理時點的:

afterswap:觸發后,查找是否有可執行的limitorder,fill訂單。

這就是limitedorderhook的全部功能。

我們認為hook只是一種業務描述思路,如果你想做的業務可以分解成用戶行為注冊,和時點被動觸發行為,那么你的業務就可以遷移到uniswapv4中。可以是限價單,可以是時間加權AMM。

從這個角度出發,我們完全可以處理業務,不能局限于交易場景。借貸、期權、穩定幣、NFT都可以用hook重構。swap處理瞬時業務,ModifyPosition處理跨期業務。swap兌換了什么、modifiyposition了什么其實沒那么重要。

這里我臆造一個hook作為例子:功能是通過hook,使我把資產留在里面,不著急退出uniswap低手續費平臺。

1.管理用戶注冊

mint/burn會構造單邊流動性,把資產以lp形式存進去

2.管理時點

beforeswap時點中創造巨大搶跑優勢,或者用高昂的動態手續費,阻止普通用戶swa

那么我的pool是沒有交易者會來的,這是一個靜態的資金池,我的資產通過lp形式暫時存在了uniswap里,后續我可以提取出來處理用于其他交易。減少了清算次數。

用hook重寫業務是一個很確定的方向。為了確保長期競爭優勢,uni的grant支持也會強很多。

現在已經有一些項目蓄勢待發,等待v4上線了。例如下面的借貸協議將和uniswapv4一起上線。

Uniswapv4是什么

對于v4,我們盲人摸象地做兩個比較:

univ4和layer2:

?相同點:

低手續費優勢

eth生態兼容

?不同點:

v4項目方需要用hook的方式重寫

一筆交易內進入低手續費環境再返回eth主網,調用其他主網上服務

不需要跨鏈橋

univ4和云交易所:

?相同點:

一起開pool,共享低手續費環境

共享流動性

?不同點:

v4不限制業務類型,不一定是交易所

v4共享流動性需要外包給好的路由提供商

v4無準入

我們認為應當以平臺的視角來定義uniswapv4。當達到臨界點后,在eth手續費的壓力下,v4可能是一個比layer2好的方案,會有更多金融業務主動或者被動的從主網遷移到uniswapv4平臺。尤其金融業務其實相對不復雜,但是安全性要求更高,可以在eth主網閃電撤出,緩解eth主網的緊急需求。這個角度講,uniswap已經打贏了dex戰爭,v4的競爭對手是cex云交易所,matic這種平臺級別的競爭對手。

那么代價呢?

流動性代幣:沒有流動性代幣了。或者說這個記賬單位不能脫離uniswap范圍,項目方要在uniswapv4的生態里解決問題。

流動性碎片化:v3一個資產對有三個不同手續費池,而v4則是完全不同的,這對router和maker的管理要求更高了。這個的解決辦法除了市場博弈也要看uniswap社區能不能有一些標準化的方案,URC。

Tags:CEX以太坊UniswapCEX幣是什么幣以太坊幣是什么幣Uniswap幣是什么幣

UNI
狗狗幣 24 小時內交易筆數達 200 萬,超越比特幣和以太坊_狗狗幣

狗狗幣的交易活躍度飆升,2023年5月27日日交易量超過200萬筆,表現優于比特幣和以太坊。由于依賴場外交易且缺乏索引結構,因此很難確定新DRC20代幣或“Doginals”的價值.

1900/1/1 0:00:00
DOGE 乘勢看漲 – 會達到 0.1 美元嗎?_狗狗幣

另一次顯著的價格上漲維持了DOGE的上漲勢頭。社會主導地位的飆升凸顯了看漲情緒。 狗狗幣多頭在過去24小時內大幅上漲,創下7月新高.

1900/1/1 0:00:00
比特幣歷史將見頂,價格將突破7萬美元!_比特幣價格

概括 可信:今年比特幣價格將突破7萬美元。據分析師稱,新的ATH水平更有可能超過20,000美元。比特幣價格位于27,350美元.

1900/1/1 0:00:00
香港會比美國搶先上架比特幣現貨ETF?_比特幣

BTC現貨ETF在美國遭遇難產,香港是否會先于美國推出虛擬資產現貨ETF?在全球對于虛擬資產行業強監管的大環境下,作為大力發展虛擬資產的香港.

1900/1/1 0:00:00
香港證監會超級利好來襲,比特幣2.7萬震撼不動,真相竟是這樣!_穩定幣

周三(5月24日)亞市,比特幣在27100美元水平按兵不動,原本預期的大漲行情沒到來。香港證監會(SFC)周二發布加密貨幣咨詢總結,允許散戶投資者交易主流加密貨幣,暫時禁止穩定幣、自營交易和借貸.

1900/1/1 0:00:00
KuCoin上線Bread (BRD)!_COIN

Thispostisalsoavailablein:English(英語)???(韓語)親愛的KuCoin用戶:KuCoin現在已上線Bread(BRD),BRD充值和提現通道現已開放.

1900/1/1 0:00:00
ads