前兩天,胖老師寫了一篇分析以太坊手續貴原因的文章。後來,有老哥留言表示,坎昆升級會讓以太坊layer2手續費更低,交易體驗更好。更有老哥認為坎昆升級後,layer2會迎來爆發,並推薦瞭如op\arb\zz\magic\gmx\imx\rdnt等值得埋伏的項目。
然而,作為理性的投資者我們還需要對坎昆升級進行詳盡了解,謹慎參與項。那麼,什麼是坎昆升級呢?
EIP-4844 (坎昆升級)是在2021 年11 月由Vitalik Buterin 提出的,目的是為了實現以太坊的分片方案的部分邏輯和結構,但不真正啟用分片。坎昆升級的提案過程大約花了一年多的時間,但社區對它的討論和反饋並不多,可能是因為它比較複雜和技術性,也可能是因為它只是一個過渡性的方案。
對於坎昆升級需要了解3個問題:
1/坎昆升級解決的問題是什麼?
2/坎昆升級主要內容是什麼?
3/坎昆升級帶來什麼影響?
1/解決問題:降低calldata費用
坎昆升級核心要解決的是calldata費用昂貴的問題。
幣圈老哥一般都知道,Rollup 是將一捆交易在以太坊主鏈外執行,執行完後將執行結果和交易數據本身經過壓縮後發回到L1上,以便其他人去驗證交易結果的正確性。顯然,如果其他人沒有辦法讀取數據,那就無法完成驗證。因此讓其他人能夠獲取交易原始數據這一點非常重要,它也被稱為“數據可用性”(Data Availability)。
而受限於以太坊當前的架構,L2向L1的傳輸的數據,是儲存在交易的Calldata 裡面的。然而,Calldata 在最初以太坊設計的時候只是一個智能合約函數調用的參數,是所有節點必須同步下載的數據。如果Calldata 膨脹,將造成以太坊網絡節點的高負載,因此Calldata 的費用是比較昂貴的。這也是造成當前L2費用的主要因素。
這就造成了一種不匹配。打個比方,就像我明明只想把數據傳個網盤,讓有需要的其他人在一段時間內能夠去下載;結果,你卻把我的數據做了個我並不需要的全網廣播同步,強制所有人必須在限定時間內完成下載,然後反過來因為這個服務向我收取高昂的費用。這明顯是不合適、需要改進的。
對於這塊內容,
《深度解讀EIP-4844:如何降低Layer2 費用100倍? 》一文有詳細闡述,各位老哥有空可以看原文。胖老師很多內容也是抄他們的作業的。
鏈接如下:
https://www.chaincatcher.com/article/2088707
2/主要內容:攜帶blob交易
我們可以把L2傳過來的數據單獨設計一個數據類型,把它和L1的Calldata 分開。這種數據類型只需要滿足能在一定時間內被有需要的其他人所訪問下載即可,無需做全網的同步。
為此,坎昆升級引入了”攜帶blob 的交易“這一新的交易類型。 Blob 的本體:一個用於放置L2壓縮數據的“大數據塊“。它被設計出來,就是為了承載L2的原始交易壓縮數據,相當於之前L2的這些數據放到Calldata,現在就放到Blob 裡面。相比於Calldata,Blob 的數據大小可以非常大,高達125 KB。簡單來說,layer1太貴了,把數據換到blob這個地方存儲據,然後把壓縮的字符串存在layer1。
胖老師舉個栗子:
假設你想在以太坊上存儲一張小圖片,但是用智能合約或者其他的交易格式會很貴。你可以用Blob 來把圖片的數據編碼成一個字符串,然後發送一個Blob 交易到以太坊。這樣,你的圖片就會被存儲在以太坊的區塊中,而不需要執行任何的邏輯或者驗證。你可以用一個區塊瀏覽器來查看你的Blob 交易,或者用一個特殊的工具來解碼你的圖片數據。
這種存儲方式,讓Blob 有3個核心特點:
a/不能像Calldata 那樣被EVM 所讀取
b/有生命週期,在30 天之後將被刪除
c/獨立於L1gas費的新費用市場
3/主要影響:降低gas費100到1000倍
總結來說,坎昆升級的目的是為了在全面實現分片之前,為以太坊提供一個“權宜之計”,通過增加大約2 MB 的空間到區塊中,來緩解網絡的擁堵和降低用戶的手續費。
主要優點有:
a/它可以在不犧牲去中心化的情況下,降低網絡上的gas 費用,特別是對rollup 解決方案。 Arbitrum 和Optimism 等rollup 解決方案可以將gas 費用降低100 到1000 倍。
b/它可以在執行層中存儲任意數據,為以太坊提供更大的數據可用性。
c/它可以與以太坊2.0 的分片方案兼容,為未來的升級做好準備。
主要缺點有:
a/它只是一個臨時解決方案,不能完全解決以太坊的擴容問題。
b/它會增加共識層節點的存儲空間需求,因為每個區塊可以帶16 個Blob(2MB)。
c/它需要共識層節點在30 天內清空Blob 數據,否則會影響網絡性能。這意味著需要有其他的機制來實現長期的數據存儲。
其中,30 天內清空Blob 數據將會給鏈上用戶資產帶來較大的風險。
如果共識層節點清空了blob 數據,那麼rollup 的數據就可能丟失或不可訪問。但這並不會影響rollup 的安全性,因為rollup 的安全性是由驗證層的智能合約來保證的。只要驗證層的智能合約沒有被篡改或破壞,那麼rollup 的交易就是安全的。
當然,如果rollup 的數據丟失或不可訪問,那麼rollup 的用戶就可能無法提取他們的資產或執行他們的操作。這就需要有其他的機制來實現長期的數據存儲。那麼如何實現長期的儲存呢?
對此,V神表示解決方案其實很多,但具體實現細節V神沒有提到。所以,這讓胖老師感覺以V神做事情有點糙,不怎麼講究細膩全面的產品體驗。