網絡手續費
我們講單例模式首先要了解單例著重要解決什么問題。這個問題是網絡手續費。不需要太深入到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次。單例要解決的就是這六次的調用。我們有機會減少嘛?
Canto將就減少流動性激勵、區塊獎勵進行投票:金色財經報道,基于 Cosmos 的第 1 層區塊鏈 Canto 的社區成員將于周四對三項提案進行投票,這些提案將減少流動性挖礦激勵措施以及區塊獎勵的發行比例。根據博客文章,如果提案通過,ETH/CANTO 和 ATOM/CANTO 等 Canto 上每個流動資金池的挖礦激勵將平均減少約 38% 。治理提案還將降低 Canto 的通貨膨脹率,或將每個區塊發出的 CANTO 代幣數量降至 4.76 CANTO,減少 15%。理論上,這些變化應該有利于CANTO代幣的持有者,因為擬議的變化將導致整體供應的通貨膨脹率降低。[2023/5/9 14:50:52]
pool不再是一個地址
我們在v2和v3時,pool是一個通過工廠合約創造的智能合約。里面有流動性的數據和負責交易的接口。而在v4中,多個pool都在poolmanager下面的存儲。當我們構造一個新的pool時,并沒有構造一個新的智能合約,而是在poolmananger下多了一些數據。
按照傳統軟件工程的觀點,這么設計耦合嚴重,所有的代碼功能塞到一個文件/智能合約里是不太好的。但是對于無情的gas計價程序來說,這么做能省下不少gas,這就是好設計。
但是這么做也有一個明顯的問題,就是原來一個pool管理兩種資產,現在一個poolmanager管理無數個資產。怎么才能算清楚我賬上的10個Atoken是屬于哪個pool的呢?這和下一個問題也有關系。
藍精靈官方宣布推出NFT系列:金色財經報道,藍精靈官方宣布推出 NFT 系列。由企業家、藝術家和 Web3 專家組成的“藍精靈協會”正在開發藍精靈協會傳奇系列。這是一系列 12,500 個獨特的 NFT,展示了 3D 渲染藍精靈角色和新角色陣容。[2023/4/10 13:53:51]
從菜市場到賭場
我們回到7次調用的問題,我們只解釋了單例為什么能解決pair的調用。對于V2V3的模式來說,更像是菜市場買菜。我們每一次swap都要錢貨兩清。然后去下一個檔口賣不同的菜。但是對于以太坊的ERC20來說,錢貨兩清這一動作是要支付手續費的。
我們現實生活中有另一種辦法管理多個檔口的方法,就是賭場籌碼。籌碼可以出入口清算,至于個別用戶是如何虧的、如何賺的,負責兌換的服務員毫不關心,我們只在進門出門清算,中間的輸贏并不需要上報銀行系統劃轉資產。而v2v3的菜市場模式中,我們則支付了eth來把每筆的清算都寫進區塊鏈了,自然就貴了。當然這也不是什么新鮮的方案,這是我們熟悉的CEX方案。
但是相較于CEX,一個智能合約籌碼清算方案有額外的優勢:如果我們極端一些,如果我們在A檔口贏了10U的籌碼,但是在你跑步去前臺清算的路上,賭場倒閉了,那么我們的錢就沒有了。notyourkey,notyourmoney。但是dex不一樣,你化身閃電俠,一筆鏈上交易的結構中跑了很多swap的操作,你會光速但是按照順序跑完入金,兌換籌碼,下場,出場結算。evm落后的單線程保護你跑得贏,跑得快。當然,我們焦慮也是多余的,一個去中心化交易所是不會倒閉的,更為重要的優勢是這一筆交易是可以鏈接其他DeFi的,雖然業務走的多,但是還是Defilego世界的一環。
CFPB主管:華盛頓太癡迷于加密貨幣:金色財經報道,CFPB主管Rohit Chopra表示,金融科技的其他領域值得政策制定者對數字資產給予同樣的關注。
同時也是金融穩定監督委員會成員的喬普拉承認,由于Facebook過去有興趣幫助創建穩定幣,因此穩定幣已成為監管機構的主要關注點。 (theblock)[2022/9/23 7:15:41]
我們基本講清楚了單例是如何解決我們說的7次調用的問題。至于籌碼是如何記賬的,為什么大家還在說復式記賬法,這部分就需要深入代碼講了。我們先略過。我們再來復習一下user->A->B->C的uniswapv4的路由交易:
調用router
outer找poolmanager
兌換籌碼
去poolmanager找pool的內部位置
交易
重復2/3步驟兩次
兌換籌碼
那么我們這次調用了幾個合約呢?4個。router、poolmanager、tokenA、tokenC。我們使用了poolmanager來規避了額外的兩次pair調用和兩次tokenb的記賬。
HOOK
BTC 大于10年的最后活躍供應量達到歷史新高:金色財經報道,Glassnode數據顯示,BTC 大于10年的最后活躍供應量剛剛達到2,491,851.519 BTC的歷史新高。[2022/8/5 12:04:52]
一個pool有下面八個時點(v4-core/contracts/interfaces/IHooks.sol):
beforeInitialize/afterInitialize(before/afterthestateofapoolisinitialized).
beforeModifyPosition/afterModifyPosition(Thehookcalledbefore/afterapositionismodified)
beforeSwap/afterSwap(Thehookcalledbefore/afteraswap)
beforeDonate/afterDonate(Thehookcalledbefore/afterdonate)
在這8個時點,pool的創建者可以插入自己的代碼。注意,用戶可以在hook規定好的行為中,選擇注冊自己期待使用的時點和方法。當其他人觸發,例如其他用戶交易后,用戶可以被動的執行代碼。注意,hook定義權在pool的構建者,并不是pool的用戶能定義的。當然用戶可以用腳投票選一個自己喜歡的。
BitWell任命前JP Morgan執行董事Andrey S. Johnson為CRO:7月27日消息,據官方推特,BitWell宣布任命前JP Morgan執行董事Andrey S. Johnson為CRO(首席營收官)。據悉,Andrey將負責規劃和執行BitWell的后續營銷策略。[2022/7/27 2:40:41]
這里我故意先使用了非常抽象而不是非常具體的描述方式,因為過于具體會限制想象力。我們馬上會給出具體的例子。
我們進一步學習代碼后,需要大家注意的是下面幾點:
構造一個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。
尊敬的cex用戶: Cex將于北京時間2018.05.11下午三點在ETH及USDT區開啟HoloToken(簡稱HOLO或HOT)的交易服務,目前HOLO已經開放充幣及買單服務.
1900/1/1 0:00:00p.p1{margin:0.0px0.0px0.0px0.0px;line-height:19.0px;font:13.0px''HelveticaNeue''}p.p2{margin:0.
1900/1/1 0:00:008月8日,LINK單日暴漲25%,隨后第二天,LINK幣再度暴漲9%,創14.46美元的歷史新高,市值擠入第六,成為市場內炙手可熱的幣種.
1900/1/1 0:00:00DragonEx支持EON空投領取公告親愛的用戶:根據EON官方公告,EON將于新加坡時間2018年6月1日12:00:00對持有100個以上EOS的用戶進行1:1空投.
1900/1/1 0:00:00親愛的用戶:? ?D網將于2018年5月25日20:00開啟InsurChain充幣服務,并于2018年5月28日15:00開啟提幣及交易服務.
1900/1/1 0:00:00金磚國家(BRICS)峰會臨近,中國和其他成員國正推動黃金支持的共同貨幣,推翻此前不會開發替代貨幣的保證。市場分析指出,美元將因此貶值,并打開比特幣和金價長期利好的大門.
1900/1/1 0:00:00