本文發布于DODOZoo,作者:雷明達,DODO創始人。
我在這里系統介紹下Gas問題。
Gas的使用機制
首先,以太坊的Gas是一種預付機制。在DEX的使用過程中,你會看到三個Gas數值
A.DEX前端展示的Gas
B.錢包簽名時看到的Gaslimit
C.在Etherscan看到的真實Gas消耗
打個比方,你去住酒店:
A.攜程上看到的酒店價格預估1000
B.酒店要刷你預付款3000
C.走的時候結賬,住宿加酒水真實花掉1200
下面我們先著重討論真實消耗,再討論如何讓這個數字盡可能真實地展示給用戶。
以太坊錢包Rainbow已上線內置交易服務:7月29日消息,以太坊錢包Rainbow宣布已上線內置交易服務,支持以太坊、Polygon、Optimism和Arbitrum,交易費用為0.85%。
Rainbow將通過合約中的智能路由選擇最佳交易路徑,并通過Flashbots Protect防止用戶因受到MEV機器人攻擊導致的交易失敗。[2022/7/29 2:45:23]
什么叫Gas貴?
我們所講的一筆交易用了100美金Gas,指的是:
「Gas*GasPrice*ethPrice」
這里面,GasPrice由用戶決定,要快速成交就多花點,不著急就少花點。ethPrice由市場決定。
真正受產品影響的,是Gas消耗本身。所以要真的深入了解Gas,我們討論的基礎,就要從美元,變成Gas數量。
以太坊未確認交易119481筆:據歐科云鏈OKLink數據顯示,當前以太坊未確認交易119481筆,與此前相比未確認筆數有較大幅度上升,目前以太坊網絡擁堵程度較為嚴重。[2020/6/3]
數量級概念
那么Gas主要消耗在什么地方了呢?
兩大部分:?1.數據寫入2.外部調用
所謂的Gas優化,指的就是用盡可能少的數據寫入和外部調用,來完成業務邏輯。
寫入數據花費大約20,000~5,000Gas,合約調用花費大約3,000Gas,這是最大頭的部分,由于計算執行環境的復雜,在生產環境中,下面所有提到的Gas消耗都是會小范圍浮動的。
一筆ERC20轉賬涉及兩次寫入,大約花費60,000Gas
一筆ERC20Approve涉及一次寫入,大約花費45,000Gas
動態 | 比特大陸以太坊礦機E3算力下降6倍,預計將于4月停止挖礦:據2Miners礦池在2月24日發布的報告稱,比特大陸以太坊礦機E3將在4月停止ETH挖礦。據了解,比特大陸的螞蟻礦機E3曾是世界上最強大的ETH挖礦硬件,據礦池2Miners在2月24日發布的一份報告稱,E3將在2020年4月停止以太坊挖礦工作。
2月21日,2Miners開始收到關于E3礦機在ETC pool上性能顯著下降的第一個報告,有用戶在ETC pool上報告螞蟻礦機E3挖礦數據顯示其算力下降了6倍:從此前宣布的180 MH/s到低至30 MH/s。
經過內部調查,2Miners發現全球的ETC礦池的算力都出現了相同的下降。與此同時,2Miners表示,E3礦機在以太坊礦池上仍然表現良好。該團隊立即提出,這個問題可能與有向無環圖 (DAG) 有關。DAG文件每個紀元(epoch)都會改變。一個紀元(epoch)是 30000個區塊,稱為一個挖礦紀元。
2Miners也確認了是DAG文件的增長限制了E3的使用。比特大陸也表示,ASIC礦機E3仍然包含4GB的視頻卡,而DAG文件已經接近這個閾值。
比特大陸對此表示:Antminer E3是一個4GB的顯卡。E3與ETH算法相關,DDR容量已達上限,E3將無法繼續挖礦。意思是估計E3只能挖到 2020 年1月了,然后就不能在繼續挖礦了。
根據 2Miners 的計算,Antminer E3將在2020年4月8日左右停止以太坊挖礦。(cointelegraph)[2020/2/25]
一筆Uniswap單跳交易,大約花費110,000Gas(e.g.USDT→ETH)
動態 | 以太坊主網硬分叉或推遲至11月:Parity Tech核心開發者Wei Tang稱,以太坊的PoW升級計劃已被推遲。Tang表示:“我們需要到9月6日才能完成實施。不僅因為我們接受EIP的時間較晚,并且現在恰好在進行大型的代碼庫重構,我們可能希望在合并伊斯坦布爾的EIP之前先合并它們。”開發人員原本打算在8月23日的電話會議上選擇一個測試網絡號碼,但現在必須先等待Parity完成,然后再選擇一個測試網號碼,Tang表示大概需要兩周時間。據報道,主網硬分叉原本預計在10月4日進行,但現在可能將推遲至11月,這取決于Parity的進展以及測試網的進展情況。與此同時,由以太坊基金會管理的客戶端Geth已經合并了所有EIP。目前約76%的網絡運行Geth,而只有21%運行Parity。(trustnodes)[2019/8/28]
一筆Uniswap兩跳交易,大約花費170,000Gas(e.g.USDT→ETH→UNI)
一筆Uniswap三跳交易,大約花費230,000Gas(e.g.USDT→ETH→WBTC→LINK)
由此可見,同樣在Uniswap,一次Swap也可能Gas消耗差距很大!
這還是在路由策略非常簡單的情況下。如果路由策略開始變得復雜,例如1inch或Matcha,一筆交易的Gas可以在150,000到1,000,000之間浮動。
因此,不能簡單地講某個平臺的Gas貴。
看起來聚合器的Gas比Uniswap貴很多,是不是應該拋棄聚合器?
并不是這樣的。
聚合器雖然Gas貴,但這不是傻貴。貴是因為有額外邏輯要執行,而這些額外邏輯會帶來很大的利潤。如果利潤能覆蓋Gas的額外開銷,那就應該使用聚合器。
在過去聚合器可能不太在意Gas,但現在Gasprice和以太坊價格的提高,使得Gas的美元開銷增長了100倍。所以在DODOV2,我們會綜合比較Gas和報價,給出平均成本最低的解決方案。
DODO貴不貴
貴,也不貴。
DODO在執行路由時,會在原始流動性外包一層函數調用,會比流動性源頭貴40,000gas左右。
但是:
1、經過gas補貼后,DODO的Gas消耗可以做到和流動性源一樣甚至更便宜。2、考慮到報價的優勢,雖然Gas的開銷大,但平均成本在DODO最低。
如何合理地展示Gas
回想之前酒店的例子。
如果你是攜程,你的目的是盡可能真實地展示用戶實際花銷。
普通用戶都已經被教育好了,去住酒店,刷的預授權肯定比消費的多,也不會太在意。
A.DEX前端展示的Gas
B.錢包簽名時看到的GasLimit
C.在Etherscan看到的真實Gas消耗
但是以太坊用戶還遠遠沒有理解這些機制,他們不知道錢包彈出的是預授權。如果你在網頁上直接顯示數字C,但錢包彈出的數字B很大,用戶會感到非常困惑。
所以在DODO的網頁上會先顯示數字B,以保證和錢包端的統一。再顯示數字C,以保證沒有讓用戶望而卻步。
這里0.084是數字A,即錢包預授權。0.084-0.042是數字C,即DODO預估你真正的花銷。在此場景下,你真正的花銷和Uniswap單跳是差不多的。
DODO的Gas還有改進空間嗎?
有的,在DODOV2主要體現在以下幾方面:
?綜合比較Gas和報價,避免出現報價優勢,卻因Gas過貴而使用戶利益受損的情況;路由的改進,減少上層計算開銷;?V2池子的Gas優化,減少下層計算開銷;?更準確的GasPrice估算,讓用戶精準插隊;?支持BSC,L2平行遷移。
總結
Gas是所有項目躲不開的痛,這是一種幸福的煩惱。我經歷過以太坊1gwei打包交易的慘淡時光,那時鏈上交易和不要錢似的,但是生活卻非常難捱。
如今DeFi的價值被發現了,人們的交易活躍度大大提高,Gas價格也水漲船高。每個項目方都有義務,以最少的讀寫操作完成業務,為以太坊生態省出寶貴的區塊空間。
另外,每個項目方也都有義務,為用戶尋找一個便宜且安全的L2解決方案。
DODO一直將Gas問題當作一個科研項目,并走在科研的第一梯隊里。我們期待用戶可以盡早體驗到V2帶來的Gas優化,并歡迎任何關于gas優化的提議。
本文于2019年11月10日首發于公眾號“孟巖的區塊鏈思考”,作者孟巖、賀寶輝、王瑋。10月24日,總書記在第十八次集體學習時發表了重要講話,確立了區塊鏈作為中國核心技術自主創新重要突破口的定位.
1900/1/1 0:00:00律動BlockBeats消息,12月1日,YFI?創始人AC宣布,Yearn將與Sushiswap合并.
1900/1/1 0:00:0010月10日,「重構互聯網,鈉可不一樣—DFINITYSodium中國線上發布會」正式舉行。本次活動由Odaily星球日報聯合DFINITY舉辦,果殼宇宙獨家社區支持.
1900/1/1 0:00:00據EURACTIV消息,歐盟委員會將與歐洲央行合作,探討一系列“政策、法律和技術”隱患,包括可能會成為2021年年中推出數字歐元加密貨幣計劃的隱患.
1900/1/1 0:00:00本文原標題為《中間件改變世界》,發布于DAOSquare,作者為大碩。壟斷的生意才是最好的,但在Web3世界很難產生壟斷,不過我們發現中間件業務是個例外.
1900/1/1 0:00:00本文于2020年1月15日首發于金色財經,作者ETH中文網加密貨幣誕生的使命,就是要使得全世界的普羅大眾都能輕松使用貨幣和支付方式.
1900/1/1 0:00:00