自2020年以來,Ethereum的擴張路線圖一直圍繞「Rollup」展開:使用證明來繼承Ethereum安全性的獨立執行環境。
經過多年的發展,Rollup終于完成了部署,并正在獲得采用。Arbitrum的王牌optimisticRollup已經上線近一年,期間有價值超過27億美元的資產存入跨鏈橋,而Optimism則緊隨其后。Loopring和dydX等針對于特定應用程序的零知識Rollup也得到了廣泛使用,許多競爭性的通用零知識Rollup將在未來幾個月內推出。
盡管Rollup如今正在快速迅速,但一些人還是擔心其費用居高難下。
事實上,Arbitrum和Optimism的交易費用仍然顯著高于Solana和Polygon等「低費用」鏈。
那么,是什么阻礙了這些Rollup的發展?
Rollup經濟學
為了理解交易費用,我們首先需要分清區塊鏈交易所產生的各種成本:
?執行
這是一個網絡中所有節點執行交易并驗證結果是否有效所需的成本。
?存儲/狀態
這是用新值更新區塊鏈「數據庫」的成本。
?數據可用性
為了讓區塊鏈保持去信任化并可被所有人驗證,區塊鏈必須確保所有關于交易的相關數據與所有網絡參與者公開共享。從本質上講,這就是要保證世界上每個人都能看到你的交易。如果沒有這種保證,各種攻擊就都有可能發生。
Curve代幣或已通過匿名開發者部署的合約開始發放:推特名為“0xc4ad”用戶宣布已經找到穩定幣兌換平臺Curve尚未公布的治理合約地址和代幣合約地址,并已經部署合約實現領取Curve代幣CRV的功能。截止發稿時,已經有超過400個地址通過被披露的合約地址領取了該代幣,Uniswap上也已經出現該代幣的交易對。但是Curve官方對此表示,“CRV代幣尚未推出。請等盡職調查完成,目前尚未確認。”Curve團隊還表示:“在一切成熟之前,請勿貼出合約地址。”Curve團隊未回應匿名開發者貼出的合約地址是否正確、通過該地址領取的代幣是否是真實的CRV代幣的問題。[2020/8/14]
正如我們所見,數據可用性是當今區塊鏈的關鍵瓶頸之一。
Rollup:將執行轉移至鏈外
Rollup的主要進步在于,它將區塊鏈的執行和存儲轉移到了「鏈外」,即一組有限的節點上進行。與其讓網絡中的每個Ethereum節點執行所有交易或存儲每條更新,我們可以直接把這個任務委托給Rollup運營商。
不過,這是否意味著我們需要信任這群操作員?難道這不是中心化嗎?
Rollup會使用各種證明類型來繼承Ethereum的安全性。OptimisticRollup允許單一誠實的實體提交一個「欺詐證明」,并為一個行為不端的序列器贏得獎勵,而ZKRollup使用零知識證明來證明Layer-2鏈已經正確更新。
數據可用性的權衡
將執行從主鏈轉移可以大大降低執行和狀態存儲的成本,不過Rollup仍需要將他們的數據發布到Layer-1鏈上以確保數據的可用性。從本質上講,Rollup支付低廉的Layer-2執行和存儲成本,但仍需要支付Layer-1的費用來發布他們的數據。
比特幣開發者:穩定幣將不會在以太坊上保持主導地位:金色財經報道,就“穩定幣USDC將在Algorand區塊鏈上推出”一事,比特幣開發者Udi Wertheimer在推特表示,這本身并不是一件大事,但總體趨勢是明顯的:穩定幣將不會在以太坊上保持主導地位,使用量將遷移到如Algorand、Tron等中心化數據庫中。[2020/6/25]
這可以在ArbiScan區塊瀏覽器中任何交易的「AdvancedTxInfo」標簽上看到。交易費用由發布到L1的調用數據成本、L2上使用的計算和L2存儲構成,而在幾乎所有的交易中,L1的調用數據都是費用的主要來源。也就是說,Rollup上最需要解決的問題便是將數據發布到Layer-1的費用問題。
數據可用性的未來
雖然數據可用性對于Rollup來說仍是一大瓶頸,但隨著時間推移這種情況也會得到緩解。
Ethereum的升級,如Proto-Danksharding和最終的完全Danksharding將大大降低向Ethereum發布數據的成本。此外,Celestia這樣的項目旨在提供獨立的鏈,而這些鏈是專門為提供廉價的數據可用性而建立的。
從長遠來看,Danksharding和Celestia這樣的系統將降低數據可用性成本并增加其豐富性,同時將問題拋回到執行層面。然而,這些解決方案還需要時間才能完全成熟:Celestia還有幾個月的時間才會發布其主網,而在Ethereum能夠增加像Proto-Danksharding這樣的數據可用性升級之前,可能還需要一年多的時間。
動態 | 美國檢察官辦公室拒絕保釋以太坊開發者Virgil Griffith:據Theblock消息,以太坊開發者Virgil Griffith上個月因涉嫌協助朝鮮進一步了解區塊鏈和加密貨幣而被捕。美國檢察官辦公室拒絕了保釋,理由是Griffith發給父母的短信涉及放棄他的美國國籍并在朝鮮開設洗錢業務。[2019/12/27]
調用數據壓縮
數據壓縮是一個比計算機本身還要古老的領域。莫爾斯電碼發明于1838年,是已知最早應用數據壓縮的實例。然后,計算機的使用加速了人們對于數據壓縮的研究,于是上世紀50年代哈夫曼編碼這樣的算法就發明了出來。
鑒于Rollup的執行成本低廉,但數據可用性成本昂貴,這些團隊一直在將數據壓縮算法整合到他們的協議當中。Optimism已經將Zlib壓縮算法整合到他們的Rollup中,而Arbitrum即將推出的Nitro升級版則使用了brotli壓縮算法。
注意:這個實驗可能是在Nitro發布之前倉促完成的,以便在未壓縮的Arbitrum調用數據上進行實驗。
數據壓縮算法肯定是有用的工具,有助于降低這些調用數據的成本。然而,壓縮區塊鏈交易是一項艱巨的任務:數據壓縮的作用是尋找相同的模式并縮短它們。然而,交易中充滿了地址、哈希值和簽名,對于這些壓縮算法來說,它們本質上是「隨機數據」,不具有相似性。
只有當開發者開始關心如何減少他們應用程序中的調用數據,該類數據的成本才能真正降低。2020-2021年的天價Gas價格迫使開發者優化他們的代碼,以盡量減少執行和狀態存儲。
聲音 | IndImm開發者:項目的目標并不是對Ripple、XRPL或社區造成傷害:IndImm本周宣布在Ripple區塊鏈上發布消息協議Beta版本,該項目遭到Ripple社區成員的批評。 IndImm開發者稱其項目有兩個意圖:反對審查制度和看到加密貨幣實際上有利用價值。他們選擇Ripple進行該特定實驗,是因為想選擇“有堅實的追蹤記錄、社區和知名度”的區塊鏈。開發者表示正在認真考慮有關其工作可能威脅到Ripple生存的指控。“許多節點運營商告訴我,他們非常擔心……我認為最大的問題是存儲成本和處理成本。”開發者也承認,一些批評迫使其評估是否繼續開發該應用。“我的目標不是對Ripple、XRPL或社區造成傷害,我不希望這成為副產品。”(The Block)[2019/7/27]
當我們過渡到L2世界時,調用數據將從最便宜的資源變成最昂貴的資源,因此開發者必須再次學習這些新的優化方案。
實驗:我們可以將一次簡單的Token傳輸壓縮到什么程度
現在讓我們在Arbitrum上做一個實驗:我們可以將一個簡單的Token傳輸所需的調用數據壓縮到什么程度?這些優化能在多大程度上降低交易費用?
實驗設計與控制組交易
為了進行我們的實驗,我們將建立一個簡單的智能合約,將一個Token從交易發送方轉移到任何給定的地址。
Usechain將攜手500萬開發者共建技術社區:據悉,全球首個身份鏡像區塊鏈生態系統Usechain,與全球最大的開發者社區之一極客學院達成戰略合作。極客學院由百度七劍王嘯、著名區塊鏈投資人薛蠻子、海銀資本合伙人王煜全、紅石誠金創投基金創始合伙人石宏博士;以及包括藍馳創投、SIG(海納亞洲創投資金)、翊翎資本、九合創投等全球知名大型基金共同投資建立。極客學院擁有近500萬高質量各領域IT技術開發者,極客學院的加入將為Usechain技術社區構建提供更多優質資源的注入,助力社區發展。[2018/6/16]
這個智能合約確實需要用戶在發送我們的實際測試交易之前,先發送一個approve()交易。由于這個限制,用戶可能不會想用這個系統進行Token轉移。然而,本實驗中用到的節約成本方法也可以應用于其他合約。
在實驗開始時,我們將發送一個「控制」交易以獲得基準成本,它會調用一個簡單的Solidity函數,用于傳遞Token地址、接收者地址和要轉移的Token數量。
我們的測試交易使用了576,051個ArbiGas,總費用為0.43美元。
數據刪減
用于對照組的調用數據有很多我們可以剝離出來的不必要數據。首先,我們需要刪除所有的零,這些零只是用于數據填充。雖然它們非零字節更便宜,但仍會產生成本,所以我們需要將其刪除。
開頭還有一個4字節的函數簽名,它是我們試圖調用哪個Solidity函數的標識符。我們可以刪除這個數據,讓我們的代碼推斷出我們所要采取的行動。
經過這兩步優化之后我們已經將字節碼從100減少到43了。這樣一來,我們的測試交易使用了494,485ArbiGas,花費0.37美元。
「助手」合約
現在我們的大部分數據是由調用數據中的兩個地址組成的:一個是我們要轉移的Token地址,另一個是轉移的接收地址。
然而,我們可以假設大多數用戶都在轉移同樣的幾種Token。所以,從調用數據中刪除整個Token地址的其中一個方法是為該Token部署一個特殊的「助手」合約。如果我們可以把交易發送給這個助手,就完全避免了發送Token地址的必要。
這樣我們就把數據字節碼減少到了23字節,測試交易使用了457,546ArbiGas,成本為0.34美元。
地址查詢表
上一階段我們用「助手合約」從調用數據中刪除了一個地址,但是我們的調用數據中仍包含有另一個地址。
我們是否可以可以找到另一種更可靠的「壓縮」地址方法呢?
值得慶幸的是,Arbitrum有一個名叫「地址表注冊」的內置合約,我們可以用它來縮短我們的調用數據。
這個合約本質上是一個「電話簿」,可以將20字節的Ethereum地址轉換為簡單的整數。想象一下,你的朋友有一本傳統的電話簿:與其把你的整個電話號碼讀給他們聽,不如直接說「我是電話簿第200頁上的第4個電話號碼」,然后讓他們查到你的號碼。
因此,我們可以制定一個合約并用「地址索引」來代替完整的地址,并在內部查詢到它。
這樣我們既省去了Token地址又省去了接收地址,從而將將調用數據減少到9字節。如此一來,我們的測試交易使用了428,347ArbiGas,成本為0.32美元。
方法合并
最后,讓我們把所有的方法整合到一起:
?移除數據填充與函數選擇器
?使用輔助合約來刪除常見的地址
?使用Arbitrum地址表來縮短其他地址
全部加在一起,我們的調用數據大小現在只有6個字節了。最后的測試交易使用了426,529ArbiGas,花費0.32美元。
有損壓縮
我們剛剛談到的所有壓縮方法都屬于「無損壓縮」,即壓縮后的輸出包含與原始輸入相同的所有數據。
但就像照片和視頻文件通常會使用「有損壓縮」算法來刪除不必要的信息一樣,我們也可以在大多數情況下刪除不必要的數據。
我們可以通過縮短數字來去除不必要的精度。例如,ERC-20Token往往有著18位小數的精度,但大多數用戶通常只關心小數點后4位。為此,我們可以建立一個合約,默認接受小數點后8位的數字并乘以10的10次方,并為需要更多精度的用戶提供相應的輔助功能。
同樣,日期通常表示為「1970年1月1日以來的秒數」。合約可以通過設定的不同的時間單位,如分鐘、小時或天來減少這個整數的大小,并可以設置自己的「紀元」,例如,2015年1月1日。
經驗總結
總之,調用數據已經從EthereumL1上最便宜的資源,變成了EthereumRollup上最昂貴的資源。Proto-Danksharding和Celestia這樣的數據可用性技術最終會解決這一問題,但二者都還沒有上線,而且數據可用性變得廉價且普遍可能還需要幾年時間。
因此,區塊鏈開發者需要非常注意他們交易所需的調用數據數量,因為這對終端用戶的交易費用會產生重大影響。
這篇文章概述了一些可用于減少調用數據的技術方法,我相信隨著越來越多的「優化大軍」將注意力轉向Layer2,此類方法將變得愈發豐富。
原文標題:《CrunchingtheCalldata》
原文作者:DavidMihal
原文編譯:Kxp,BlockBeats
來源:區塊律動
DeFi數據 1、DeFi代幣總市值:343.13億美元 DeFi總市值及前十代幣數據來源:coingecko2、過去24小時去中心化交易所的交易量14.
1900/1/1 0:00:00譯者注:本文基于最新以太坊路線圖進行內容注解,下圖為ECN譯制的中文版。文中有許多鏈接,進入網頁版查看更多:https://www.ethereum.cn/Eth2/annotated-ethe.
1900/1/1 0:00:007:00-12:00關鍵詞:SBF、OpenSea、Ren、DoKwon1.美SEC主席:加密公司財務記錄是監管重點;2.美國聯邦檢察官:SBF創下美國“有史以來最高的審前保釋金”;3.
1900/1/1 0:00:00美國互聯網公司們,將NFT推向了一個新的高度。2022年12月22日,根據DuneAnalytics的數據顯示,美國互聯網公司Reddit的NFT“用戶數”正式突破500萬,而這一數字還在以每天.
1900/1/1 0:00:00作者:Visa,AndrewBeams、CatherineGu等隨著區塊鏈采用率不斷提高,人們對于卓越用戶體驗和支持實際用例的產品需求也變得越來越大.
1900/1/1 0:00:00在比特幣得到機構關注之后,許多財務專家預測世界將因為加密貨幣的采用而發生重大變化。但是,截止到目前為止,很明顯比特幣的應用相當有限,例如只能充當無價值存儲和轉移.
1900/1/1 0:00:00