網絡手續費
我們講單例模式首先要了解單例著重要解決什么問題。這個問題是網絡手續費。不需要太深入到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次。單例要解決的就是這六次的調用。我們有機會減少嘛?
蘋果公司預計將于周二從App Store中刪除Damus:金色財經報道,蘋果公司預計將于周二從App Store中刪除Damus,因為據報道該應用程序違反了該公司的應用內購買準則。
Damus創始人William Casarin表示,蘋果希望從所有筆記或內容部分中刪除zap按鈕,蘋果認為這種配置等同于銷售數字內容,盡管用戶個人資料上有zap按鈕也不行。我與Apple通了電話,他們告訴我,他們不希望使用zap進行銷售,我認為我們可以做的妥協之一是我們實際上會刪除所有筆記切換功能。Casarin稱他修改了Damus界面,以便zap按鈕仍然會出現在筆記上,但zap本身不會與任何筆記相關聯,并且只會在個人資料級別發送和處理。Casarin表示,蘋果公司對他的妥協并不滿意。
蘋果證實已與Casarin接洽,并向他清楚地解釋了如何解決該問題。[2023/6/27 22:02:01]
pool不再是一個地址
我們在v2和v3時,pool是一個通過工廠合約創造的智能合約。里面有流動性的數據和負責交易的接口。而在v4中,多個pool都在poolmanager下面的存儲。當我們構造一個新的pool時,并沒有構造一個新的智能合約,而是在poolmananger下多了一些數據。
按照傳統軟件工程的觀點,這么設計耦合嚴重,所有的代碼功能塞到一個文件/智能合約里是不太好的。但是對于無情的gas計價程序來說,這么做能省下不少gas,這就是好設計。
歐洲央行管委:歐洲央行可能在到達利率中性水平時放緩加息步伐:金色財經報道,歐洲央行管理委員會成員Klaas Knot表示,一旦利率達到中性水平,歐洲央行可能會放慢加息步伐,并在未來幾個月內加大加息幅度。他表示,由于通脹面臨上行風險,他“完全相信”歐洲央行需要做的不僅僅是取消刺激措施。但一旦央行在未來幾個月達到中性水平,它可能會更加謹慎地采取行動。
Knot說:“我們加息得越多,我們越接近恢復通脹回到目標的可信前景,加息幅度可能會變得越小。”(彭博社)[2022/10/16 14:29:22]
但是這么做也有一個明顯的問題,就是原來一個pool管理兩種資產,現在一個poolmanager管理無數個資產。怎么才能算清楚我賬上的10個Atoken是屬于哪個pool的呢?這和下一個問題也有關系。
從菜市場到賭場
我們回到7次調用的問題,我們只解釋了單例為什么能解決pair的調用。對于V2V3的模式來說,更像是菜市場買菜。我們每一次swap都要錢貨兩清。然后去下一個檔口賣不同的菜。但是對于以太坊的ERC20來說,錢貨兩清這一動作是要支付手續費的。
我們現實生活中有另一種辦法管理多個檔口的方法,就是賭場籌碼。籌碼可以出入口清算,至于個別用戶是如何虧的、如何賺的,負責兌換的服務員毫不關心,我們只在進門出門清算,中間的輸贏并不需要上報銀行系統劃轉資產。而v2v3的菜市場模式中,我們則支付了eth來把每筆的清算都寫進區塊鏈了,自然就貴了。當然這也不是什么新鮮的方案,這是我們熟悉的CEX方案。
CryptoPunks系列NFT近24小時交易額增幅超150%:金色財經報道,據OpenSea數據顯示,CryptoPunks系列NFT近24小時交易額為195ETH,24小時交易額增漲幅度為176%,交易額排名位列OpenSea第10。[2022/8/21 12:38:10]
但是相較于CEX,一個智能合約籌碼清算方案有額外的優勢:如果我們極端一些,如果我們在A檔口贏了10U的籌碼,但是在你跑步去前臺清算的路上,賭場倒閉了,那么我們的錢就沒有了。notyourkey,notyourmoney。但是dex不一樣,你化身閃電俠,一筆鏈上交易的結構中跑了很多swap的操作,你會光速但是按照順序跑完入金,兌換籌碼,下場,出場結算。evm落后的單線程保護你跑得贏,跑得快。當然,我們焦慮也是多余的,一個去中心化交易所是不會倒閉的,更為重要的優勢是這一筆交易是可以鏈接其他DeFi的,雖然業務走的多,但是還是Defilego世界的一環。
我們基本講清楚了單例是如何解決我們說的7次調用的問題。至于籌碼是如何記賬的,為什么大家還在說復式記賬法,這部分就需要深入代碼講了。我們先略過。我們再來復習一下user->A->B->C的uniswapv4的路由交易:
調用router
Coinbase在意大利獲批注冊為加密資產服務提供商:7月18日消息,據官方博客,Coinbase獲得意大利監管機構的批準,為當地居民提供持續的加密服務。Organismo Agenti e Mediatori(OAM)實施的新要求規定所有提供加密交易、托管或其他服務的公司都必須符合規定的標準,Coinbase已成為達到這些標準的公司之一。[2022/7/18 2:20:56]
outer找poolmanager
兌換籌碼
去poolmanager找pool的內部位置
交易
重復2/3步驟兩次
兌換籌碼
那么我們這次調用了幾個合約呢?4個。router、poolmanager、tokenA、tokenC。我們使用了poolmanager來規避了額外的兩次pair調用和兩次tokenb的記賬。
HOOK
一個pool有下面八個時點(v4-core/contracts/interfaces/IHooks.sol):
beforeInitialize/afterInitialize(before/afterthestateofapoolisinitialized).
KuCoin與巴西支付網關Capitual合作,支持通過支付系統PIX進行BRL充提:6月19日消息,加密貨幣交易所KuCoin宣布,在巴西中央銀行最近變更政策后,其已成為第一家支持巴西雷亞爾(BRL)充值、提現的主要交易所。KuCoin通過與巴西支付網關Capitual合作,允許當地投資者通過政府支持的支付系統PIX進行BRL充值和提現操作。
據悉,為確保法幣-加密交易的安全性和合規性,巴西中央銀行規定更新用戶身份驗證流程以使用BRL支付服務的最后期限。未能滿足新KYC要求的交易所必須終止巴西用戶的BRL交易服務。(Businesswire)[2022/6/19 4:38:46]
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。
比特幣今天看起來如何? 比特幣目前的交易價格略低于20,400美元,并且正在努力在較低的時間范圍內獲得動力。自周五以來,價格一直在20,400美元上方交易,現在開始收盤低于其的每小時蠟燭.
1900/1/1 0:00:00央行加息對各市場的影響:1.經濟增長放緩:央行加息可能會導致貸款利率上升,放緩企業和個人借貸,壓縮資產負債表,減少投資和消費,從而減緩經濟增長的速度,導致市場信心下降.
1900/1/1 0:00:00截至撰寫本文時,SHIB的H4和D1市場結構看跌。根據鏈上指標數據提供商Santiment的數據,存在短期積累。 自6月21日以來,比特幣每周都保持在30,000美元以上.
1900/1/1 0:00:00Billions項目組 自從2月14日代幣上架和空投就位之后,Blur市場上NFT交易量和賣方流動性急劇上升.
1900/1/1 0:00:00(CAKE)(CAKE)顯示從3.5美元關口看漲逆轉,維持在支撐趨勢線上方并突破4美元關口。此外,增加的購買壓力增加了看漲趨勢的勢頭,創造了看漲突破的高可能性.
1900/1/1 0:00:00安全性高,獲利穩定 由于多頭與空頭倉位一樣,因此投資時的本金虧損極小,就像上面說過的,大概只有0.2~1%左右,安全性較高.
1900/1/1 0:00:00