自 2020 年以來,Ethereum 的擴張路線圖一直圍繞「Rollup」展開: 使用證明(無論是零知識證明還是 optimistic 欺詐證明)來繼承 Ethereum 安全性的獨立執行環境。
經過多年的發展,Rollup 終于完成了部署,并正在獲得采用。Arbitrum 的王牌 optimistic Rollup 已經上線近一年,期間有價值超過 27 億美元的資產存入跨鏈橋,而 Optimism 則緊隨其后。Loopring 和 dydX 等針對于特定應用程序的零知識 Rollup 也得到了廣泛使用,許多競爭性的通用零知識 Rollup 將在未來幾個月內推出。
盡管 Rollup 如今正在快速迅速,但一些人還是擔心其費用居高難下。
事實上,Arbitrum 和 Optimism 的交易費用仍然顯著高于 Solana 和 Polygon 等「低費用」鏈。
那么,是什么阻礙了這些 Rollup 的發展?
為了理解交易費用,我們首先需要分清區塊鏈交易所產生的各種成本:
?執行
這是一個網絡中所有節點執行交易并驗證結果是否有效所需的成本(例如:你實際擁有你所轉移 Token 的所有權)。
?存儲/狀態
這是用新值更新區塊鏈「數據庫」的成本(例如:在 Token 轉移后,發送方的余額減少,接收方的余額增加)。
以太坊核心開發者:未來Goerli測試網最終會被關閉:金色財經報道,以太坊核心開發者Tim Beiko發推文稱:“Goerli測試網最終會被關閉;未來包括Sepolia在內的測試網可以鑄造更多ETH;希望此后創世文件中可以包括更多地址。”[2023/2/27 12:31:45]
?數據可用性
為了讓區塊鏈保持去信任化并可被所有人驗證,區塊鏈必須確保所有關于交易的相關數據與所有網絡參與者公開共享。從本質上講,這就是要保證世界上每個人都能看到你的交易。如果沒有這種保證,各種攻擊就都有可能發生(被稱為扣塊攻擊)。
正如我們所見,數據可用性是當今區塊鏈的關鍵瓶頸之一。
Rollup 的主要進步在于,它將區塊鏈的執行和存儲轉移到了「鏈外」,即一組有限的節點上進行。與其讓網絡中的每個 Ethereum 節點執行所有交易或存儲每條更新,我們可以直接把這個任務委托給 Rollup 運營商。
不過,這是否意味著我們需要信任這群操作員?難道這不是中心化嗎?
Rollup 會使用各種證明類型來繼承 Ethereum 的安全性。Optimistic Rollup 允許單一誠實的實體提交一個「欺詐證明」,并為一個行為不端的序列器贏得獎勵,而 ZK Rollup 使用零知識證明來證明 Layer-2 鏈已經正確更新。
將執行從主鏈轉移可以大大降低執行和狀態存儲的成本,不過 Rollup 仍需要將他們的數據發布到 Layer-1 鏈上以確保數據的可用性。從本質上講,Rollup 支付低廉的 Layer-2 執行和存儲成本,但仍需要支付 Layer-1 的費用來發布他們的數據。
以太坊開發者計劃于Q3進行Eth1和Eth2合并的狀態同步:官方消息,7月1日,以太坊開發者進行Eth1和Eth2合并電話會議,計劃于Q3進行:合并的狀態同步;共識API(執行/共識團隊都在這方面工作)、本季度晚些時候的測試網、在執行客戶端中包括倫敦升級、在共識客戶端包括Altair升級、整合Eth1和Eth2測試。[2021/7/6 0:31:30]
這可以在 ArbiScan 區塊瀏覽器中任何交易的「Advanced TxInfo」標簽上看到。交易費用由發布到 L1 的調用數據成本、L2 上使用的計算和 L2 存儲構成,而在幾乎所有的交易中,L1 的調用數據都是費用的主要來源。也就是說,Rollup 上最需要解決的問題便是將數據發布到 Layer-1 的費用問題。
雖然數據可用性對于 Rollup 來說仍是一大瓶頸,但隨著時間推移這種情況也會得到緩解。
Ethereum 的升級,如 Proto-Danksharding 和最終的完全 Danksharding 將大大降低向 Ethereum 發布數據的成本。此外,Celestia 這樣的項目旨在提供獨立的鏈,而這些鏈是專門為提供廉價的數據可用性而建立的。
從長遠來看,Danksharding 和 Celestia 這樣的系統將降低數據可用性成本并增加其豐富性,同時將問題拋回到執行層面。然而,這些解決方案還需要時間才能完全成熟:Celestia 還有幾個月的時間才會發布其主網,而在 Ethereum 能夠增加像 Proto-Danksharding 這樣的數據可用性升級之前,可能還需要一年多的時間。
John Newbery為比特幣開發者成立開源基金Brink:比特幣開源開發者John Newbery剛剛成立了開源基金Brink,該組織將向從事比特幣項目的開發者提供資助,并幫助比特幣開發者獲得獎學金和指導。(Coindesk)[2020/11/24 21:59:21]
數據壓縮是一個比計算機本身還要古老的領域。莫爾斯電碼發明于 1838 年,是已知最早應用數據壓縮的實例。然后,計算機的使用加速了人們對于數據壓縮的研究,于是上世紀 50 年代哈夫曼編碼這樣的算法就發明了出來。
鑒于 Rollup 的執行成本低廉,但數據可用性成本昂貴,這些團隊一直在將數據壓縮算法整合到他們的協議當中。Optimism 已經將 Zlib 壓縮算法整合到他們的 Rollup 中,而 Arbitrum 即將推出的 Nitro 升級版則使用了 brotli 壓縮算法。
數據壓縮算法肯定是有用的工具,有助于降低這些調用數據的成本。然而,壓縮區塊鏈交易是一項艱巨的任務:數據壓縮的作用是尋找相同的模式并縮短它們。然而,交易中充滿了地址、哈希值和簽名,對于這些壓縮算法來說,它們本質上是「隨機數據」,不具有相似性。
只有當開發者開始關心如何減少他們應用程序中的調用數據,該類數據的成本才能真正降低。2020-2021 年的天價 Gas 價格迫使開發者優化他們的代碼,以盡量減少執行和狀態存儲。
當我們過渡到 L2 世界時,調用數據將從最便宜的資源變成最昂貴的資源,因此開發者必須再次學習這些新的優化方案。
ChainX Kristen:開發者應該在波卡生態做更多的嘗試:10月28日,ChainX CMO Kristen在“了不起的社區2.0 黎明先行者” 上海站活動中表示,波卡在投資機構和散戶中的關注度很高,但應該思考如何建設自己的生態。波卡在操作性、升級等方面具有非常大優勢,開發者應該做更多嘗試。[2020/10/29]
現在讓我們在 Arbitrum 上做一個實驗:我們可以將一個簡單的 Token 傳輸所需的調用數據壓縮到什么程度?這些優化能在多大程度上降低交易費用?
為了進行我們的實驗,我們將建立一個簡單的智能合約,將一個 Token 從交易發送方轉移到任何給定的地址。
這個智能合約確實需要用戶在發送我們的實際測試交易之前,先發送一個 approve() 交易。由于這個限制,用戶可能不會想用這個系統進行 Token 轉移。然而,本實驗中用到的節約成本方法也可以應用于其他合約(例如,優化的 Uniswap 路由器)。
在實驗開始時,我們將發送一個「控制」交易以獲得基準成本,它會調用一個簡單的 Solidity 函數,用于傳遞 Token 地址、接收者地址和要轉移的 Token 數量。
我們的測試交易使用了 576,051 個 ArbiGas,總費用為 0.43 美元。
用于對照組的調用數據有很多我們可以剝離出來的不必要數據。首先,我們需要刪除所有的零,這些零只是用于數據填充。雖然它們非零字節更便宜,但仍會產生成本,所以我們需要將其刪除。
比特幣核心開發者Peter Todd就性侵犯一案與指控人達成和解:比特幣核心開發者Peter Todd此前對指控其強奸和性侵犯的隱私技術專家Isis Lovecruft提起訴訟。本周二,Lovecruft在沒有刪除原推文的情況下發布新推稱,Peter Todd從未強奸或性侵犯過我。Lovecruft的GoFundMe頁面表示,這條推特是和解協議的一部分。
此前,Lovecruft使用GoFundMe眾籌了約35800美元律師費,還曾為此接受了包括比特幣門羅幣等在內的加密貨幣捐贈。(Coindesk)[2020/6/17]
開頭還有一個 4 字節的函數簽名,它是我們試圖調用哪個 Solidity 函數的標識符。我們可以刪除這個數據,讓我們的代碼推斷出我們所要采取的行動。
經過這兩步優化之后我們已經將字節碼從 100 減少到 43 了。這樣一來,我們的測試交易使用了 494,485 ArbiGas(減少了 14%),花費 0.37 美元。
現在我們的大部分數據是由調用數據中的兩個地址組成的:一個是我們要轉移的 Token 地址,另一個是轉移的接收地址。
然而,我們可以假設大多數用戶都在轉移同樣的幾種 Token(WETH,Dai,USDC)。所以,從調用數據中刪除整個 Token 地址的其中一個方法是為該 Token 部署一個特殊的「助手」合約。如果我們可以把交易發送給這個助手,就完全避免了發送 Token 地址的必要。
這樣我們就把數據字節碼減少到了 23 字節,測試交易使用了 457,546 ArbiGas(比對照組減少了 21%),成本為 0.34 美元。
上一階段我們用「助手合約」從調用數據中刪除了一個地址,但是我們的調用數據中仍包含有另一個地址。
我們是否可以可以找到另一種更可靠的「壓縮」地址方法呢?
值得慶幸的是,Arbitrum 有一個名叫「地址表注冊」的內置合約,我們可以用它來縮短我們的調用數據。
這個合約本質上是一個「電話簿」,可以將 20 字節的 Ethereum 地址轉換為簡單的整數。想象一下,你的朋友有一本傳統的電話簿:與其把你的整個電話號碼讀給他們聽,不如直接說「我是電話簿第 200 頁上的第 4 個電話號碼」,然后讓他們查到你的號碼。
因此,我們可以制定一個合約并用「地址索引」來代替完整的地址,并在內部查詢到它。
這樣我們既省去了 Token 地址又省去了接收地址,從而將將調用數據減少到 9 字節。如此一來,我們的測試交易使用了 428,347 ArbiGas(比對照組減少了 26%),成本為 0.32 美元。
最后,讓我們把所有的方法整合到一起:
?移除數據填充與函數選擇器
?使用輔助合約來刪除常見的地址
?使用 Arbitrum 地址表來縮短其他地址
全部加在一起,我們的調用數據大小現在只有 6 個字節了。最后的測試交易使用了 426,529 ArbiGas(也比對照組減少了 26%,比之前的測試組略低),花費 0.32 美元。
我們剛剛談到的所有壓縮方法都屬于「無損壓縮」,即壓縮后的輸出包含與原始輸入相同的所有數據。
但就像照片和視頻文件通常會使用「有損壓縮」算法來刪除不必要的信息一樣,我們也可以在大多數情況下刪除不必要的數據。
我們可以通過縮短數字來去除不必要的精度。例如,ERC-20 Token 往往有著 18 位小數的精度,但大多數用戶通常只關心小數點后 4 位。為此,我們可以建立一個合約,默認接受小數點后 8 位的數字并乘以 10 的 10 次方,并為需要更多精度的用戶提供相應的輔助功能。
同樣,日期通常表示為「1970 年 1 月 1 日以來的秒數」(也被稱為 Unix 時間)。合約可以通過設定的不同的時間單位,如分鐘、小時或天來減少這個整數的大小,并可以設置自己的「紀元」,例如,2015 年 1 月 1 日。
總之,調用數據已經從 Ethereum L1 上最便宜的資源,變成了 Ethereum Rollup 上最昂貴的資源。Proto-Danksharding 和 Celestia 這樣的數據可用性技術最終會解決這一問題,但二者都還沒有上線,而且數據可用性變得廉價且普遍可能還需要幾年時間。
因此,區塊鏈開發者需要非常注意他們交易所需的調用數據數量,因為這對終端用戶的交易費用會產生重大影響。
這篇文章概述了一些可用于減少調用數據的技術方法,我相信隨著越來越多的「優化大軍」將注意力轉向 Layer 2,此類方法將變得愈發豐富。
原文標題:《Crunching the Calldata》
原文作者:David Mihal
原文編譯:Kxp,BlockBeats
來源:區塊律動
區塊律動BlockBeats
媒體專欄
閱讀更多
金色財經 子木
金色早8點
去中心化金融社區
虎嗅科技
CertiK中文社區
深潮TechFlow
念青
Odaily星球日報
騰訊研究院
作者:Azuma、十文、秦曉峰、Loopy Lu、胖虎2022 ,V神、CZ、SBF 陸續登上《財富》雜志封面.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:355.96億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量13.
1900/1/1 0:00:00作者:Chenglin Pua區塊鏈在2020和2021年受到極大關注,然而在2022年則進入“冬天”。元宇宙在2022年快速降溫, 11月,全球最大加密貨幣交易平臺之一FTX宣告破產.
1900/1/1 0:00:00如何用一句話讓殺豬盤無語凝噎? 「養豬」詐騙是傳統互聯網中欺詐者放長線釣大魚的常規操作。在 Web3.0 領域,也有一個「pig butchering」式騙局.
1900/1/1 0:00:00veBAL?是Balancer的治理代幣,但在實踐中,veBAL是不可知的:沒有不良行為者,只有不好的設計。Balancer 引入了投票托管代幣經濟學,使代幣持有者與協議的成功和收入保持一致.
1900/1/1 0:00:00撰文:萬向區塊鏈首席經濟學家辦公室2022 年接近尾聲,駐足回看行業這一年的跌宕起伏,無論是技術的突破,應用的創新,還是生態的興衰,皆成為了行業發展的歷史注腳.
1900/1/1 0:00:00