以太坊 Dencun 升級與潛在機會

新手Feb 28, 2024
本文討論了以太坊網絡即將進行的Dencun升級,特別聚焦於EIP-4844提案及其對以太坊生態繫統,特別是Layer 2技術和數據可用性(DA)的影響。
以太坊 Dencun 升級與潛在機會

以太坊網絡升級 Dencun 測試網版本在2024年1月17日上線了Goerli測試網,1月30日成功上線了 Sepolia 測試網,Dencun 升級離我們越來越近。

再經歷一次2月7日的Holesky測試網升級之後,就會是主網升級,目前坎昆升級主網上線已經正式確定在3月13日。

每次以太坊升級幾乎都會伴有一波主題行情,追溯以太坊的上一次還是2023年4月12日的上海升級,POS相關的項目都受到了市場的追捧。

如果按照先前經驗,本次 Dencun 升級也會有提前布局的機會。

而由於 Dencun 升級背後涉及的技術內容比較晦澀,併不能像 Shanghai 升級那樣用一句話“以太坊從PoW轉曏PoS”一言以蔽,難以抓住布局的重點。

因此,本文將用通俗易懂的語言去解釋 Dencun 升級的技術細節,爲讀者梳理本次升級與數據可用性 DA 和 Layer 2 等賽道之間的脈絡。

01EIP 4484

EIP-4844 是本次 Dencun 升級中最重要的提案,標誌著以太坊在以去中心化方式擴展的道路上邁出了切實而重要的一步。

通俗來講,目前以太坊二層需要將二層髮生的交易提交到以太坊主網的calldata之中,供節點驗證二層網絡出塊的有效性。

這樣做帶來的問題是,雖然交易數據已經被盡可能的壓縮,但二層龐大的交易量再乘以以太坊主網高昂儲存成本基數,對於二層節點和二層用戶來講依舊是一筆不小得開銷。光是價格因素,就會讓二層失去大量用戶,流曏側鏈。

而EIP 4484 建立了一個更爲便宜的新型的儲存區域 BLOB(Binary Large Object ,二進製大型對象),併用一種可以指曏 BLOB 存儲空間的名爲”BLOB-Carrying Transaction” 的新交易類型來替代升級之前需要存入 calldata 的交易數據,幫助以太坊生態二層實現節約 Gas 成本。

BLOB 存儲便宜的原因

衆所周知便宜是要付出代價的,BLOB 數據比類似大小的普通以太坊 Calldata 成本更低的原因是,以太坊執行層(EL, EVM)實際上無法訪問 BLOB 數據本身。

相反,EL 隻能訪問 BLOB 數據的引用,而 BLOB 本身的數據隻能由以太坊的共識層(CL,又稱信標節點)下載和存儲,存儲起來耗費的內存與計算量遠小於普通以太坊 Calldata 。

而且 BLOB 還有一個特性,隻能存儲有限的一段時間(通常爲約 18 天),併不會像以太坊賬本大小那樣無限膨脹。

BLOB 的存儲有效期

與區塊鏈永久的賬本相反,BLOB 是暫時的存儲,其可用時間爲 4096 個紀元,即大約 18 天。

過期後,大多數共識客戶端將無法檢索 BLOB 中的特定數據。但是,它之前存在的證據將以 KZG 承諾的形式保留在主網上,併且永久存儲在以太坊主網上。

爲什麽選擇 18 天?這是在衡量儲存成本和有效性之間的折衷方案。

首先要考慮此次升級最直觀的受益對象 Optimistic Rollups(如:Arbitrum 和 Optimism,),因爲根據 Optimistic Rollups 的設定,有 7 天的故障證明(Fruad Proof)的時間窗口。

而 blob中所存儲的交易數據,正是Optimistic Rollups 髮起挑戰的時候所需要的資料。

因此,Blob 的有效期必鬚要保證 Optimistic Rollups 故障證明可以訪問,爲了簡單起見,以太坊社區選擇了 2 的12次冪(4096 個紀元由 2^12 推導而來,一個紀元大概6.4分鐘)。

BLOB-Carrying Transaction 與 BLOB

理解這兩者之間的關繫,對於理解 BLOB 在數據可用性(DA)方麵的作用十分重要。

前者是 EIP-4484 提案的整體,是一種新型交易,而後者可以理解成一種針對 layer 2 臨時存儲交易的位置。

兩者關繫可以理解爲,前者中的大部分數據(layer2 交易數據)存儲在後者之中。而剩下的數據也就是BLOB 數據的承諾(Commitment)則會存在主網的calldata之中。也就是説,承諾是可以被 EVM 讀取的。

可以將 Commitment 想象爲將 BLOB 中的所有交易構建成一個 Merkle 樹,然後隻有 Merkle 根也就是 Commitment 可以被合約訪問。

如此做可以巧妙的實現:雖然 EVM 無法得知 BLOB 的具體內容,但 EVM 合約可以通過知曉 Commitment 進而可以驗證交易數據的真實性的目的。

02BLOB 與 Layer2 的關繫

Rollup 技術通過將數據上傳到以太坊主網來實現數據可用性(DA),但這併不是爲了讓 L1 的智能合約直接讀取或驗證這些上傳的數據。

上傳交易數據到 L1 的目的,僅僅是爲了讓所有參與者都可以查看這些數據。

在 Dencun 升級以前,如上文所述,Op-rollup 會將交易數據作爲 Calldata 髮布到以太坊。所以任何人都可以使用這些交易信息來覆現狀態,驗證二層網絡的正確性。

不難看出,Rollup 交易數據需要便宜+公開透明,Calldata 併不是爲二層專門存放交易數據的好地方,而 BLOB-Carrying Transaction 才正是爲 Rollup 量身定製的。

讀到這裡,可能大家心裡有個疑問,這種交易數據看起來併不重要,它有什麽用?

其實,交易數據隻有在少數情況才會用到:

  • 對於 Optimistic Rollup,基於信任假設,有一定可能會出現不誠信問題,此時Rollup上傳的交易記録才派上用場,用戶可以利用這個數據髮起交易挑戰( Fraud proof);
  • 對於 ZK Rollup,零知識證明已經證明狀態更新是正確的,上傳數據隻是爲讓用戶自己計算出完整狀態,在二層節點無法正確運轉時啟用逃生艙機製(Escape Hatch,需要完整的 L2 狀態樹,最後一節會講到)。

這意味著,交易數據被合約實際使用的場景非常有限。即使在 Optimistic Rollup 的交易挑戰中也隻需要當場提交證明交易數據“存在過”的證據(狀態),而不需要那一筆交易詳情事先就儲存在主網。

所以如果我們把交易數據放在 BLOB 元素中,雖然合約無法訪問,但主網合約可以存儲這個 BLOB 的 Commitment。

將來如果挑戰機製需要某一筆交易,我們隻需提供該筆交易的數據,隻要能對應上。這就能説服合約,併將交易數據提供給挑戰機製使用。

這樣既利用了交易數據的公開透明性,也規避了把所有數據提前録入合約的巨大 gas 成本。

通過僅記録 Commitment,達成交易數據可驗證性的衕時又極大優化了成本。這是 Rollup 技術上傳交易數據的一個巧妙且高效的解決方案。

需要説明的是,在 Dencun 實際操作之中,併沒有採用衕 Celestia 類似的 Merkle 樹的方式産生 Commitment,而是採用巧妙 KZG (Kate-Zaverucha-Goldberg,多項式承諾 )算法。

相比 Merkle 樹證明,生成過程 KZG Proof 的過程相對覆雜, 但其驗證的體積更小,驗證步驟也更簡單,但缺點是需要進行可信任設置(ceremony.ethereum.org 現如今已經結束)且不具防量子計算攻擊能力(Dencun 使用了Version Hash的方法,如果需要可以更換其他驗證方法)。

對於現在大熱的 DA 項目 Celestia ,其採用的正是 Merkle 樹變體,相比 KZG,有一定程度要依賴節點的誠信,而卻有助於降低節點之間計算資源的門檻要求,維持網絡的去中心化特徵。

03Dencun 的機會

Eip4844爲二層降本增效的衕時,卻也引出了安全隱患,這也帶來新機會。

要想理解原因,我們需要聊回上文提到的逃生艙機製 或者 強製取款機製。

在Layer 2 節點失能時,這種機製可以保證用戶資金安全回到主網。激活這個機製的前提是用戶需要穫得 Layer 2 完整的狀態樹。

按照正常情況,用戶隻要找一個 Layer2 全節點索要數據,生成 merkle Proof ,再提交給主網的合約,以證明自己提款的正當性。

但不要忘了用戶想要啟動逃生艙機製退出L2恰恰是因爲L2節點作惡,節點都作惡了,那大概率就不會從節點哪裡穫取到想要的數據。

這就是Vitalik常提到的數據扣留攻擊。

EIP-4844 之前,主網上記録了永久的 Layer2 記録,在沒有 Layer2 節點可以提供完整的鏈下狀態時,用戶可以自己部署一個全節點。

這個全節點可以通過與以太坊主網穫取 Layer 2 排序器在主網上髮布的所有歷史數據,用戶就可以構造出所需的 Merkle 證明,將證明提交給主網上的合約,就能安全地完成 L2 資産撤離。

而 EIP-4844 之後,Layer 2 數據隻存在以太坊全節點的 BLOB 中,18天之前的歷史數據將被自動刪除。

因此,上一段中的通過衕步主網穫取整棵狀態樹的方法不再可行,想要穫取 Layer 2 的完整狀態樹,隻能通過第三方爲愛髮電的儲存了以太坊 BLOB 全部數據(本該18天自動刪除)的主網節點,或 Layer 2 原生節點(很少)。

由此 4844 上線後,用戶通過完全可信的方式穫取 Layer 2 完整狀態樹將會變得十分睏難。

用戶沒有穩定途徑穫取 Layer 2 狀態樹,就沒法在極端條件下進行強製提款操作。因此,4844 一定程度上造成了 Layer 2 的安全短闆/缺失。

要補足這塊的安全缺失,我們需要擁有有正曏經濟循環的無需信任儲存方案。這裡的儲存,主要是指以一種無需信任的方式保留以太坊中的數據,和過去的儲存賽道不太一樣,因爲還存在“無需信任”這個關鍵字。

Ethstorage 就可以解決無需信任這個問題,得到了兩輪以太坊基金會的資助。

可以説這個概念真正的可以迎合/彌補 Dencun 升級的賽道,非常值得關註。

首先,Ethstorage 最直觀意義在於,能夠以完全去中心化的方式延長 DA BLOB 的可用時間,補上了 4844 後 Layer 2 的安全最短闆。

此外,大多數現有的 L2 解決方案主要側重於擴展以太坊的計算能力,即增加 TPS。然而,在以太坊主網上安全存儲大量數據的需求激增,特別是由於 NFT 和 DeFi 等 dApp 的流行。

例如,鏈上 NFT 的存儲需求非常明顯,因爲用戶不僅擁有 NFT 合約的令牌,還擁有鏈上圖像。Ethstorage 可以解決將這些圖像存儲在第三方會帶來額外的信任問題。

最後,Ethstorage 還能解決去中心化 dApp 的前端的需求。目前現有的解決方案主要是由中心化服務器(帶 DNS)進行托管,這種設置使網站容易受到審查和其他問題的影響,如 DNS 劫持、網站黑客攻擊或服務器崩潰,龍卷風現金等事件就是證明。

現在 Ethstorage 還在初期網測試階段,看好這一賽道的前景的用戶可以體驗一下。

聲明:

  1. 本文轉載自[ Biteye],著作權歸屬原作者[Biteye],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

以太坊 Dencun 升級與潛在機會

新手Feb 28, 2024
本文討論了以太坊網絡即將進行的Dencun升級,特別聚焦於EIP-4844提案及其對以太坊生態繫統,特別是Layer 2技術和數據可用性(DA)的影響。
以太坊 Dencun 升級與潛在機會

以太坊網絡升級 Dencun 測試網版本在2024年1月17日上線了Goerli測試網,1月30日成功上線了 Sepolia 測試網,Dencun 升級離我們越來越近。

再經歷一次2月7日的Holesky測試網升級之後,就會是主網升級,目前坎昆升級主網上線已經正式確定在3月13日。

每次以太坊升級幾乎都會伴有一波主題行情,追溯以太坊的上一次還是2023年4月12日的上海升級,POS相關的項目都受到了市場的追捧。

如果按照先前經驗,本次 Dencun 升級也會有提前布局的機會。

而由於 Dencun 升級背後涉及的技術內容比較晦澀,併不能像 Shanghai 升級那樣用一句話“以太坊從PoW轉曏PoS”一言以蔽,難以抓住布局的重點。

因此,本文將用通俗易懂的語言去解釋 Dencun 升級的技術細節,爲讀者梳理本次升級與數據可用性 DA 和 Layer 2 等賽道之間的脈絡。

01EIP 4484

EIP-4844 是本次 Dencun 升級中最重要的提案,標誌著以太坊在以去中心化方式擴展的道路上邁出了切實而重要的一步。

通俗來講,目前以太坊二層需要將二層髮生的交易提交到以太坊主網的calldata之中,供節點驗證二層網絡出塊的有效性。

這樣做帶來的問題是,雖然交易數據已經被盡可能的壓縮,但二層龐大的交易量再乘以以太坊主網高昂儲存成本基數,對於二層節點和二層用戶來講依舊是一筆不小得開銷。光是價格因素,就會讓二層失去大量用戶,流曏側鏈。

而EIP 4484 建立了一個更爲便宜的新型的儲存區域 BLOB(Binary Large Object ,二進製大型對象),併用一種可以指曏 BLOB 存儲空間的名爲”BLOB-Carrying Transaction” 的新交易類型來替代升級之前需要存入 calldata 的交易數據,幫助以太坊生態二層實現節約 Gas 成本。

BLOB 存儲便宜的原因

衆所周知便宜是要付出代價的,BLOB 數據比類似大小的普通以太坊 Calldata 成本更低的原因是,以太坊執行層(EL, EVM)實際上無法訪問 BLOB 數據本身。

相反,EL 隻能訪問 BLOB 數據的引用,而 BLOB 本身的數據隻能由以太坊的共識層(CL,又稱信標節點)下載和存儲,存儲起來耗費的內存與計算量遠小於普通以太坊 Calldata 。

而且 BLOB 還有一個特性,隻能存儲有限的一段時間(通常爲約 18 天),併不會像以太坊賬本大小那樣無限膨脹。

BLOB 的存儲有效期

與區塊鏈永久的賬本相反,BLOB 是暫時的存儲,其可用時間爲 4096 個紀元,即大約 18 天。

過期後,大多數共識客戶端將無法檢索 BLOB 中的特定數據。但是,它之前存在的證據將以 KZG 承諾的形式保留在主網上,併且永久存儲在以太坊主網上。

爲什麽選擇 18 天?這是在衡量儲存成本和有效性之間的折衷方案。

首先要考慮此次升級最直觀的受益對象 Optimistic Rollups(如:Arbitrum 和 Optimism,),因爲根據 Optimistic Rollups 的設定,有 7 天的故障證明(Fruad Proof)的時間窗口。

而 blob中所存儲的交易數據,正是Optimistic Rollups 髮起挑戰的時候所需要的資料。

因此,Blob 的有效期必鬚要保證 Optimistic Rollups 故障證明可以訪問,爲了簡單起見,以太坊社區選擇了 2 的12次冪(4096 個紀元由 2^12 推導而來,一個紀元大概6.4分鐘)。

BLOB-Carrying Transaction 與 BLOB

理解這兩者之間的關繫,對於理解 BLOB 在數據可用性(DA)方麵的作用十分重要。

前者是 EIP-4484 提案的整體,是一種新型交易,而後者可以理解成一種針對 layer 2 臨時存儲交易的位置。

兩者關繫可以理解爲,前者中的大部分數據(layer2 交易數據)存儲在後者之中。而剩下的數據也就是BLOB 數據的承諾(Commitment)則會存在主網的calldata之中。也就是説,承諾是可以被 EVM 讀取的。

可以將 Commitment 想象爲將 BLOB 中的所有交易構建成一個 Merkle 樹,然後隻有 Merkle 根也就是 Commitment 可以被合約訪問。

如此做可以巧妙的實現:雖然 EVM 無法得知 BLOB 的具體內容,但 EVM 合約可以通過知曉 Commitment 進而可以驗證交易數據的真實性的目的。

02BLOB 與 Layer2 的關繫

Rollup 技術通過將數據上傳到以太坊主網來實現數據可用性(DA),但這併不是爲了讓 L1 的智能合約直接讀取或驗證這些上傳的數據。

上傳交易數據到 L1 的目的,僅僅是爲了讓所有參與者都可以查看這些數據。

在 Dencun 升級以前,如上文所述,Op-rollup 會將交易數據作爲 Calldata 髮布到以太坊。所以任何人都可以使用這些交易信息來覆現狀態,驗證二層網絡的正確性。

不難看出,Rollup 交易數據需要便宜+公開透明,Calldata 併不是爲二層專門存放交易數據的好地方,而 BLOB-Carrying Transaction 才正是爲 Rollup 量身定製的。

讀到這裡,可能大家心裡有個疑問,這種交易數據看起來併不重要,它有什麽用?

其實,交易數據隻有在少數情況才會用到:

  • 對於 Optimistic Rollup,基於信任假設,有一定可能會出現不誠信問題,此時Rollup上傳的交易記録才派上用場,用戶可以利用這個數據髮起交易挑戰( Fraud proof);
  • 對於 ZK Rollup,零知識證明已經證明狀態更新是正確的,上傳數據隻是爲讓用戶自己計算出完整狀態,在二層節點無法正確運轉時啟用逃生艙機製(Escape Hatch,需要完整的 L2 狀態樹,最後一節會講到)。

這意味著,交易數據被合約實際使用的場景非常有限。即使在 Optimistic Rollup 的交易挑戰中也隻需要當場提交證明交易數據“存在過”的證據(狀態),而不需要那一筆交易詳情事先就儲存在主網。

所以如果我們把交易數據放在 BLOB 元素中,雖然合約無法訪問,但主網合約可以存儲這個 BLOB 的 Commitment。

將來如果挑戰機製需要某一筆交易,我們隻需提供該筆交易的數據,隻要能對應上。這就能説服合約,併將交易數據提供給挑戰機製使用。

這樣既利用了交易數據的公開透明性,也規避了把所有數據提前録入合約的巨大 gas 成本。

通過僅記録 Commitment,達成交易數據可驗證性的衕時又極大優化了成本。這是 Rollup 技術上傳交易數據的一個巧妙且高效的解決方案。

需要説明的是,在 Dencun 實際操作之中,併沒有採用衕 Celestia 類似的 Merkle 樹的方式産生 Commitment,而是採用巧妙 KZG (Kate-Zaverucha-Goldberg,多項式承諾 )算法。

相比 Merkle 樹證明,生成過程 KZG Proof 的過程相對覆雜, 但其驗證的體積更小,驗證步驟也更簡單,但缺點是需要進行可信任設置(ceremony.ethereum.org 現如今已經結束)且不具防量子計算攻擊能力(Dencun 使用了Version Hash的方法,如果需要可以更換其他驗證方法)。

對於現在大熱的 DA 項目 Celestia ,其採用的正是 Merkle 樹變體,相比 KZG,有一定程度要依賴節點的誠信,而卻有助於降低節點之間計算資源的門檻要求,維持網絡的去中心化特徵。

03Dencun 的機會

Eip4844爲二層降本增效的衕時,卻也引出了安全隱患,這也帶來新機會。

要想理解原因,我們需要聊回上文提到的逃生艙機製 或者 強製取款機製。

在Layer 2 節點失能時,這種機製可以保證用戶資金安全回到主網。激活這個機製的前提是用戶需要穫得 Layer 2 完整的狀態樹。

按照正常情況,用戶隻要找一個 Layer2 全節點索要數據,生成 merkle Proof ,再提交給主網的合約,以證明自己提款的正當性。

但不要忘了用戶想要啟動逃生艙機製退出L2恰恰是因爲L2節點作惡,節點都作惡了,那大概率就不會從節點哪裡穫取到想要的數據。

這就是Vitalik常提到的數據扣留攻擊。

EIP-4844 之前,主網上記録了永久的 Layer2 記録,在沒有 Layer2 節點可以提供完整的鏈下狀態時,用戶可以自己部署一個全節點。

這個全節點可以通過與以太坊主網穫取 Layer 2 排序器在主網上髮布的所有歷史數據,用戶就可以構造出所需的 Merkle 證明,將證明提交給主網上的合約,就能安全地完成 L2 資産撤離。

而 EIP-4844 之後,Layer 2 數據隻存在以太坊全節點的 BLOB 中,18天之前的歷史數據將被自動刪除。

因此,上一段中的通過衕步主網穫取整棵狀態樹的方法不再可行,想要穫取 Layer 2 的完整狀態樹,隻能通過第三方爲愛髮電的儲存了以太坊 BLOB 全部數據(本該18天自動刪除)的主網節點,或 Layer 2 原生節點(很少)。

由此 4844 上線後,用戶通過完全可信的方式穫取 Layer 2 完整狀態樹將會變得十分睏難。

用戶沒有穩定途徑穫取 Layer 2 狀態樹,就沒法在極端條件下進行強製提款操作。因此,4844 一定程度上造成了 Layer 2 的安全短闆/缺失。

要補足這塊的安全缺失,我們需要擁有有正曏經濟循環的無需信任儲存方案。這裡的儲存,主要是指以一種無需信任的方式保留以太坊中的數據,和過去的儲存賽道不太一樣,因爲還存在“無需信任”這個關鍵字。

Ethstorage 就可以解決無需信任這個問題,得到了兩輪以太坊基金會的資助。

可以説這個概念真正的可以迎合/彌補 Dencun 升級的賽道,非常值得關註。

首先,Ethstorage 最直觀意義在於,能夠以完全去中心化的方式延長 DA BLOB 的可用時間,補上了 4844 後 Layer 2 的安全最短闆。

此外,大多數現有的 L2 解決方案主要側重於擴展以太坊的計算能力,即增加 TPS。然而,在以太坊主網上安全存儲大量數據的需求激增,特別是由於 NFT 和 DeFi 等 dApp 的流行。

例如,鏈上 NFT 的存儲需求非常明顯,因爲用戶不僅擁有 NFT 合約的令牌,還擁有鏈上圖像。Ethstorage 可以解決將這些圖像存儲在第三方會帶來額外的信任問題。

最後,Ethstorage 還能解決去中心化 dApp 的前端的需求。目前現有的解決方案主要是由中心化服務器(帶 DNS)進行托管,這種設置使網站容易受到審查和其他問題的影響,如 DNS 劫持、網站黑客攻擊或服務器崩潰,龍卷風現金等事件就是證明。

現在 Ethstorage 還在初期網測試階段,看好這一賽道的前景的用戶可以體驗一下。

聲明:

  1. 本文轉載自[ Biteye],著作權歸屬原作者[Biteye],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!