網絡手續費
我們講單例模式首先要了解單例著重要解決什么問題。這個問題是網絡手續費。不需要太深入到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次。單例要解決的就是這六次的調用。我們有機會減少嘛?
美國30年期國債收益率上升至4.4219%,為2011年來最高水平:金色財經報道,美國30年期國債收益率上升至4.4219%,為2011年以來最高水平。[2023/8/17 18:06:30]
pool不再是一個地址
我們在v2和v3時,pool是一個通過工廠合約創造的智能合約。里面有流動性的數據和負責交易的接口。而在v4中,多個pool都在poolmanager下面的存儲。當我們構造一個新的pool時,并沒有構造一個新的智能合約,而是在poolmananger下多了一些數據。
按照傳統軟件工程的觀點,這么設計耦合嚴重,所有的代碼功能塞到一個文件/智能合約里是不太好的。但是對于無情的gas計價程序來說,這么做能省下不少gas,這就是好設計。
但是這么做也有一個明顯的問題,就是原來一個pool管理兩種資產,現在一個poolmanager管理無數個資產。怎么才能算清楚我賬上的10個Atoken是屬于哪個pool的呢?這和下一個問題也有關系。
從菜市場到賭場
我們回到7次調用的問題,我們只解釋了單例為什么能解決pair的調用。對于V2V3的模式來說,更像是菜市場買菜。我們每一次swap都要錢貨兩清。然后去下一個檔口賣不同的菜。但是對于以太坊的ERC20來說,錢貨兩清這一動作是要支付手續費的。
成都出臺區塊鏈專項政策,助力打造可信城市和產業發展高地:金色財經報道,成都于1月10日正式發布了《成都市建設國家區塊鏈創新應用綜合性試點專項政策》(下稱《區塊鏈專項政策》),圍繞“建強基礎設施、深化創新應用、促進產業發展、營造良好生態”思路,制定了4部分共10條專項舉措對試點工作作出了響應,成為首個針對試點工作出臺支持政策的試點城市。[2023/1/15 11:13:24]
我們現實生活中有另一種辦法管理多個檔口的方法,就是賭場籌碼。籌碼可以出入口清算,至于個別用戶是如何虧的、如何賺的,負責兌換的服務員毫不關心,我們只在進門出門清算,中間的輸贏并不需要上報銀行系統劃轉資產。而v2v3的菜市場模式中,我們則支付了eth來把每筆的清算都寫進區塊鏈了,自然就貴了。當然這也不是什么新鮮的方案,這是我們熟悉的CEX方案。
但是相較于CEX,一個智能合約籌碼清算方案有額外的優勢:如果我們極端一些,如果我們在A檔口贏了10U的籌碼,但是在你跑步去前臺清算的路上,賭場倒閉了,那么我們的錢就沒有了。notyourkey,notyourmoney。但是dex不一樣,你化身閃電俠,一筆鏈上交易的結構中跑了很多swap的操作,你會光速但是按照順序跑完入金,兌換籌碼,下場,出場結算。evm落后的單線程保護你跑得贏,跑得快。當然,我們焦慮也是多余的,一個去中心化交易所是不會倒閉的,更為重要的優勢是這一筆交易是可以鏈接其他DeFi的,雖然業務走的多,但是還是Defilego世界的一環。
杜均:CZ面對監管的態度是一個巨大挑戰:金色財經報道,據火幣聯合創始人杜均在社交媒體披露,ABCDECapital8月正式對外投資,目前已經領投7個項目,覆蓋安全、數據、社交、ZK、NFT等賽道,如@MetatrustLabs、@ScopeProtocol等。
今天Binance占據了75%的市場份額,無論愿意與否,CZ面對監管的態度代表了整個行業的態度,對于CZ這是一個巨大的挑戰。FTX事件的影響力遠超預期,最近幾年傳統機構入場最大功臣一個是Coinbase、一個是Circle、另外一個就是FTX。FTX的暴雷,讓傳統老錢和政府機構對于Crypto世界的混沌無序害怕甚至厭惡,未來很長一段時間里政府不會有更寬松的政策支持Crypto的發展與創新,主權基金也不會把錢放進來。[2022/12/13 21:41:32]
我們基本講清楚了單例是如何解決我們說的7次調用的問題。至于籌碼是如何記賬的,為什么大家還在說復式記賬法,這部分就需要深入代碼講了。我們先略過。我們再來復習一下user->A->B->C的uniswapv4的路由交易:
調用router
outer找poolmanager
兌換籌碼
去poolmanager找pool的內部位置
Coinbase法務官:OFAC對Tornado Cash的新制裁超出了國會授予OFAC的權限:金色財經報道,Coinbase法務官Paul Singh Grewal在社交媒體上稱,最近,OFAC刪除了Tornado Cash,然后又將其重新添加到其美國制裁名單中。但這些制裁超出國會授予OFAC的權限,因此Coinbase繼續支持挑戰這種過度擴張的聯邦訴訟。我們支持OFAC的總體國家安全目標,并非常尊重其重要工作。我們還致力于遵守所有適用的制裁義務,并為此開發了行業領先的工具。但是,當OFAC采取前所未有的措施制裁Tornado Cash(一種被許多人用來保護隱私的協議)及其智能合約(開源技術)時,我們感到有必要支持那些愿意站出來反對的人。[2022/11/24 8:01:59]
交易
重復2/3步驟兩次
兌換籌碼
那么我們這次調用了幾個合約呢?4個。router、poolmanager、tokenA、tokenC。我們使用了poolmanager來規避了額外的兩次pair調用和兩次tokenb的記賬。
HOOK
一個pool有下面八個時點(v4-core/contracts/interfaces/IHooks.sol):
今日恐慌與貪婪指數為46,恐慌程度有所下降:8月13日消息,今日恐慌與貪婪指數為46(昨日為42),恐慌程度較昨日有所下降,等級仍為恐慌。
注:恐慌指數閾值為0-100,包含指標:波動性(25%)+市場交易量(25%)+社交媒體熱度(15%)+市場調查(15%)+比特幣在整個市場中的比例(10%)+谷歌熱詞分析(10%)。[2022/8/13 12:22:51]
beforeInitialize/afterInitialize(before/afterthestateofapoolisinitialized).
beforeModifyPosition/afterModifyPosition(Thehookcalledbefore/afterapositionismodified)
beforeSwap/afterSwap(Thehookcalledbefore/afteraswap)
beforeDonate/afterDonate(Thehookcalledbefore/afterdonate)
在這8個時點,pool的創建者可以插入自己的代碼。注意,用戶可以在hook規定好的行為中,選擇注冊自己期待使用的時點和方法。當其他人觸發,例如其他用戶交易后,用戶可以被動的執行代碼。注意,hook定義權在pool的構建者,并不是pool的用戶能定義的。當然用戶可以用腳投票選一個自己喜歡的。
這里我故意先使用了非常抽象而不是非常具體的描述方式,因為過于具體會限制想象力。我們馬上會給出具體的例子。
我們進一步學習代碼后,需要大家注意的是下面幾點:
構造一個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。
盡管Ripple在SEC案件中的勝利提高了人們對其他山寨幣的預期,但加密貨幣交易所還是松了口氣,開始重新上線XRP.
1900/1/1 0:00:00Thispostisalsoavailablein:English(英語)???(韓語)親愛的KuCoin用戶:KuCoin現在已上線TomoChain(TOMO)充值通道現已開放.
1900/1/1 0:00:005月28日,每100個DFT分幣為:0.342791+0.000014+0.000590≈4.92355月28日具體數據如下:LBank藍貝殼于5月21日22:00上線ZOOT.
1900/1/1 0:00:00斐波那契擴展水平提出了萊特幣7月份的可能目標。目前的證據表明LTC在強勢突破100美元之后將進一步上漲。 距離萊特幣減半事件還有不到一個月的時間.
1900/1/1 0:00:00債務上限談判的僵局加劇了人們對一些即將到期的美國國債違約的擔憂,也開始在更大范圍內削弱投資者的風險偏好.
1900/1/1 0:00:00新人初入幣圈,最恐懼的是什么?不是不會買賣,也不是不懂區塊鏈和各個幣種,而是受騙上當,不但本金虧損還容易傾家蕩產。這里簡單說幾個坑吧,希對小白們有個警示。第一種:巨匠喊單,帶你翻倉,辭別虧損.
1900/1/1 0:00:00