「以太坊」坎昆升級 Proto-Danksharding
▍前言:謝謝以太坊開發者
每次看到各公鏈有新突破,都讓我很興奮,因為區塊鏈是一個強大的技術,能夠改變人類生活,但區塊鏈很難開發,所以這次的坎昆升級,不知道讓多少開發者的肝變得更硬,謝謝你們的付出,讓我再次見證歷史。
▍EIP-4844 Proto-Danksharding
這次的坎昆升級有很多部分,EIP-1153、EIP-4788、EIP-4844、EIP-5656、EIP-6780 …..等等,但最重要的是 EIP-4844(Proto-Danksharding),這個升級最大的好處就是「大幅降低手續費」,特別是 Layer 2 的手續費,這讓整個以太坊生態變的更實用,絕對是大利多。
以下我會科普什麼是 Proto-Danksharding,希望對大家有幫助。
▍以太坊的區塊大小(Block size)
區塊越大,就能裝下越多的交易,但是區塊越大,節點的負擔也越大,詳細的邏輯可以看我之前的文章《公鏈如何擴容?》。
以太坊目前平均的區塊大小,落在 125~200 KB 之間,而節點可負擔的單一區塊上限是 1.8 MB,雖然離上限還有距離,但手續費已經很貴了,那 Proto-Danksharding 怎麼降低手續費?
▍加大區塊,這可行嗎?
Proto-Danksharding 就是把原本的區塊(calldata),再額外擴充拋棄式區塊(blob),這樣區塊就變大了,單一區塊能攜帶的數據量暴增,其中 blob 的區塊大小約為 1 MB,這比原先的區塊大小 125 KB 大上許多。
但區塊變大,節點負擔不就變大了?這樣以太坊的節點何去何從?
Proto-Danksharding 有趣的地方就在這,運用很多更細節的設計,讓節點的負擔不至於太大,讓我們繼續看下去!
▍可被拋棄的區塊 blob
Proto-Danksharding 所增加的 blob 區塊,是可拋棄的,約在數週至數月後被刪除,這樣可以確保節點的硬碟不會佔用太多空間,減輕負擔。
▍被閹割的區塊 blob
blob 不但會被拋棄,它的功能也很受限,讓我們來比較 blob 與 calldata 的差異。
閹割一:blob 的數據不能寫入 L1 節點的記憶體
節點在運算、驗證的時候,必須把整條鏈的重要數據寫入記憶體,這樣才能隨時提取、高速運算,但記憶體是一個很貴的設備,如果數據佔用記憶體資源,自然要付給節點更高的手續費,而 blob 的數據是不能寫入記憶體的,手續費也因此降低,反之,calldata 的手續費就很貴。
閹割二:blob 的數據過段時間會被刪除
這部分我在上個段落有提過,blob 的數據是會被刪除的,由此可以看出 calldata 與 blob 的功能不同,calldata 是存放重要資料,blob 是存放短期資料,那什麼是短期資料?例如 OP-rollup 傳到 L1 的交易數據,只要七天過後沒人發起挑戰,這些交易數據就不需要了,自然可以被刪除。
閹割三:blob 的數據不能與智能合約互動
既然不能被智能合約讀取,就代表這些數據是平常用不到的,只有特殊場合才需要使用,例如剛提的 OP-rollup 傳到 L1 的交易數據。
閹割四:blob 的數據不能被 Layer 2 節點讀取
這其實和智能合約有關,因為 L2 是依靠智能合約與 L1 互動的,既然 blob 不能被智能合約讀取,自然也不能被 L2 的節點讀取。
▍綁在一起卻不在一起
calldata 與 blob 是綁在一起出塊的,但這兩種數據卻擁有各自的 Gas fee 計算方式,所以手續費的高峰,不一定在相同的時間點,這樣的設計讓用戶有更靈活的選擇,能調整 calldata 與 blob 的使用時機,避開交易的尖峰時段。
除了手續費機制分開,calldata 與 blob 在 L1 節點的網路傳輸,也是分開傳的,這是為了之後的分片做準備,因為 calldata 是所有節點都必須要存的,但 blob 這種不重要的數據,並不是所有分片或節點都要儲存,所以在網路傳輸時不會綁在一起傳輸。
▍總結:EIP-4844 的底層邏輯
總結來說,Proto-Danksharding 就是加大區塊,藉此增加交易數據量、增加交易速度,就能降低手續費,而為了不讓大區塊給節點負擔,所以限制 blob 的功能,例如不能寫進記憶體、會被刪除等等,減輕了節點的硬體需求。
▍升級很棒,但還有很多痛點待解決
這次升級無疑是好事,讓以太坊生態,特別是 Layer 2 更具實用性,ETH 的「剛性需求」也提升了一個檔次,不過,現在的以太坊如果要藉由 Layer 2 達成擴容,就必須讓用戶離開 Layer 1 ,轉移到 Layer 2,但 L2 最讓人卻步的就是「跨鏈困難」,不只 L1 與 L2 之間的跨鏈,L2 與 L2 之間的跨鏈更艱難,這樣用戶就不敢把重要資產,移到其中一條 L2 上,因為會怕取用困難。
除此之外,目前幣圈缺乏「有實際應用」的 dApp 讓用戶使用,目前能吸引用戶去 L2 的就是一些送錢活動,例如空投代幣,既然如此,L2 與 L1 其實沒什麼差別,因為沒有什麼真正能吸引用戶的 dAPP,自然沒必要跑去 L2。
▍期待夢想成真
這次坎昆升級之後,下一個我最期待的升級就是 Danksharding,這是真正在數據層做分片的擴容方式,這能讓以太坊的 TPS 達到數十萬等級,那時候的以太坊會無比耀眼。
而 Danksharding 的設計機制,其實也是加大區塊,而且加超大,可能來到單一區塊 32 MB,這種巨型區塊當然不能直接在網路上傳輸,而是要碎片化,稱作「數據採樣」,每個節點只儲存一小部分,用這樣的方式降低網路傳輸成本,但 Danksharding 目前遙遙無期,或許要好幾年,甚至好幾十年才會實作,就讓我們一起來期待吧!
▍後話:一起學習
我並非開發者,所以說明這些技術細節不一定精確,但我盡可能的搜集各路大神的說法,並用白話的方式統整,希望這樣能讓更多人理解區塊鏈,如果有什麼內容你想補充或糾正,或是看到哪篇好文章,都可以留言給我,讓我們一起學習、一起成長、一起看著區塊鏈改變世界!
▍推薦-延伸閱讀
「Nic Lin」Rollup 的大補帖:Proto-Danksharding(一)
「Nic Lin」Rollup 的大補帖:Proto-Danksharding(二)
「M. Musharraf」What is EIP-4844? Proto-Danksharding Explained
『線上活動』近期市場狀況與加密貨幣
我將於 3/30(六) 晚上 8 點,在 Matters Discord 的「馬特夜話」進行線上分享,看看現在的總體經濟、鏈上數據、幣圈動態,有哪些風險是我們該注意的?還有如何在現在的市況下,調整資產部位。歡迎參加!
活動連結:Matters Discord
『歡迎追蹤』愛鏈歐文有 Youtube 頻道了
Youtube 連結:https://www.youtube.com/channel/UCwqgm6tQYpBrJD4Kd1bCnxg
Podcast 連結:https://podcasts.apple.com/us/podcast/愛鏈歐文/id1681401334
Matters 連結:https://matters.town/@owenlovechain
Telegram 連結:https://t.me/+hYuSxjeD_I82OTk1
Linktree 連結:https://linktr.ee/owenlovechain