數據可用性是區塊鏈擴容的主要瓶頸之一。
**撰文:**zer0kn0wledge.era
編譯:Kate, Marsbit
注:本文來自@expctchaos 推特,其是@ChaosDAO 的研究員,原推文內容由MarsBit 整理如下:
0/ 數據可用性(DA) 是主要的擴展瓶頸
幸運的是,@CelestiaOrg, @AvailProject 和@eigenlayer 將改變DA 遊戲,並實現新的可擴展性
但它是如何工作的,#EigenDA 與#Celestia 和#Avail 等DA 15 有何不同?
1/ 如果你不熟悉數據可用性問題,請查看我下面的帖子,其中我詳細介紹了數據可用性情況👇
2/ 總的來說,數據處理解決方案主要有兩種類型
3/ 而「純有效性驗證」意味著數據處理可以在沒有保證的情況下下鏈,因為鏈下數據服務提供商可以隨時下線……
4/ …#StarkEx, #zkPorter 和#Arbitrum Nova 是依賴於DAC 的驗證場景的例子,DAC 是一個由知名第三方組成的小組來保證數據的可用性
5/ 另一方面,#EigenDA, @CelestiaOrg 和@AvailProject 是我們可以稱之為通用DA 解決方案
但是,EigenDA 和其他兩種解決方案之間存在一些區別
6/ 如果你想知道@CelestiaOrg 是如何工作的,請查看下面的鏈接
7/ 我過去也介紹過@AvailProject,所以要了解更多信息,請查看這裡
8/ 如果你需要復習@eigenlayer,請查看以下線程👇
9/ 所以在今天的帖子中,我們想把重點放在@eigenlayer 的#EigenDA 和DA L1 鏈( 如@CelestiaOrg 或@AvailProject) 之間的比較上
10/ 讓我們假設一個基於以太坊並使用Celestia 進行DA(又名Celestium)的rollup
因此,以太坊上的L2 合約像往常一樣驗證有效性證明或欺詐證明,而DA 由Celestia 提供
11/ 在@CelestiaOrg 和@AvailProject 上,沒有智能合約或計算,只保證數據可用
12/ 但是讓我們仔細看看
在@CelestiaOrg 上,tx 數據由L2 排序器發佈到Celestia, Celestia 驗證者簽署DA 證明的默克爾根,隨後發送到以太坊上的DA 橋接合約進行驗證和存儲
13/ 與在鏈上存儲DA 相比,這大大降低了擁有強大DA 保證的成本,同時也提供了來自Celestia 的安全保證( 而不是中心化的DAC)
14/ 成本降低方面將改變整個rollup 領域的遊戲規則,因為將數據發佈到以太坊L1 所產生的calldata 成本佔rollup 費用的80-90%
有關calldata 成本的更多信息,請查看下面的帖子👇
15/ 但是在#Celestia 上到底發生了什麼?
將發佈到@CelestiaOrg 的數據blob ( 基本上作為原始數據) 通過P2P 網絡傳播,並且使用Tendermint 共識達成關於數據blob 的共識
16/ 每個#Celestia 全節點必須下載整個數據blob。對於可以使用數據可用性採樣(DAS) 來確保數據可用性的輕節點來說,這是不同的
17/ 有關DAS 和輕節點的更多信息,請查看下面的帖子
18/ 我們稍後也會在這個線程中回到DAS,但現在的重點是全節點
所以回到@CelestiaOrg,它繼續以L1 的方式行事,依賴於對數據blob 的廣播和共識
19/ 因此,它對網絡的全節點(128 MB/s 下載和12.5 MB/s 上傳) 提出了很高的要求。
儘管如此,@CelestiaOrg 在開始時的目標是達到中等吞吐量(1.4 MB/s),考慮到全節點需求,這似乎很低
20/ 然而,網絡可以通過增加輕節點來擴展吞吐量。數據採樣輕節點越多,在保證安全和去中心化的情況下,區塊大小可以越大
21/ 另一方面,@eigenlayer 採用了不同的架構,沒有自己的共識,也沒有點對點網絡
那麼這是如何工作的呢?
首先,EigenDA 節點必須在@eigenlayer 合約中重新分配$ETH。因此,#EigenDA 節點是以太坊驗證器的一個子集
22/ 隨後,DA 買方( 例如rollup,也稱為分散器) 接收到數據blob 後,用糾刪碼對其進行編碼,並生成KZG 承諾…
23 /……其中證明大小取決於糾刪碼的冗餘比率,並發布KZG 對#EigenDA 智能合約的承諾
24/ 編碼後的KZG 承諾由分散器分發到#EigenDA 節點
在收到KZG 承諾後,這些節點將其與EigenDA 智能合約的KZG 承諾進行比較,並在確認無誤後簽署證明
25/ 之後,分散器將這些簽名一一收集,生成聚合簽名,並發佈到#EigenDA 智能合約中,由智能合約對簽名進行驗證
26/ 但是,如果#EigenDA 節點只是簡單地簽署證明,聲稱它在這個工作流中存儲了編碼的數據blob,而EigenDA 智能合約只驗證聚合簽名的正確性,我們怎麼能確定EigenDA 節點真的存儲了數據?
27/ #EigenDA 使用託管證明方法來實現這一點
但是讓我們後退一步,看看這個變得重要的場景
28/ 讓我們假設一些懶惰的驗證者沒有完成分配給他們的任務(例如確保數據可用)
相反,他們假裝已經完成了工作,並簽署了最終結果( 在數據不可用時謊報數據可用性)。
29/ 從概念上講,託管證明就像欺詐證明一樣:
任何人都可以向#EigenDA 智能合約提交證明( 驗證者懶惰),該證明將由智能合約進行驗證
29/ 如果驗證成功,惰性驗證器被削減( 因為它是一個客觀可歸因的錯誤)
30/ 那麼共識呢?
@CelestiaOrg 使用Tendermint 作為其共識協議,該協議具有單槽最終性。也就是說,一旦一個區塊通過了#Celestia 的共識,它就完成了。這意味著最終確定性基本上和出塊時間一樣快(15 秒)。
31/ @AvailProject 使用協議組合來實現最終性。 BABE 是具有概率終結性的區塊生產機制,GRANDPA 是終結性小工具。雖然GRANDPA 可以在一個槽中完成區塊,但它也可以在一輪中完成多個區塊
32/ 由於@eigenlayer 是以太坊上的一組智能合約,對於需要轉發到rollup 合約以證明數據可用性的數據,它也繼承了與以太坊相同的最終確定時間(12 - 15 分鐘)
33/ 然而,如果rollup 完全使用@eigenlayer,它可以更快地完成,這取決於共識機制的使用等。
此外,由@eigenlayer 的再質押驗證器保護的中間件專注於提供快速結算,例如EigenSettle 可以提供強有力的經濟安全保證,允許最終預確認。然而,硬最終性保證仍然來自以太坊L1
34/ 是時候重新審視數據可用性抽樣概念了
在大多數區塊鏈中,節點需要下載所有交易數據來驗證數據的可用性。這造成的問題是,當塊大小增加時,需要驗證的數據節點的數量也會增加
35/ 數據可用性抽樣(DAS) 是一種允許輕節點通過只下載一小部分區塊數據來驗證數據可用性的技術
36/ 這為輕節點提供了安全性,以便它們可以驗證無效塊( 僅限DA 和共識),並允許區塊鏈在不增加節點需求的情況下擴展數據可用性
37/ DAS 至少需要一個誠實的全節點和足夠數量的輕客戶端
38/ 但是如何保證輕節點的安全性呢?
與全節點相比,傳統的輕客戶端具有較弱的安全性假設,因為它們只驗證區塊頭
因此,輕客戶端無法檢測到一個無效區塊是否是由不誠實的大多數區塊生產者生產的
39/ 具有數據可用性採樣的輕節點在安全性上得到了升級,因為如果DA 層只做共識和數據可用性,它們可以驗證是否產生了無效塊
40/ @CelestiaOrg 和@AvailProject 都將具有數據可用性採樣,因此它們的輕節點將具有信任最小化的安全性。
41/ 這與以太坊和@eigenlayer 不同
帶有#EIP4844 的以太坊沒有數據可用性抽樣,因此其輕客戶端將沒有信任最小化的安全性
42/ 由於以太坊也有它的智能合約環境,輕客戶端也需要驗證執行( 通過欺詐或有效性證明),而不是依賴於誠實的大多數假設
43/ @eigenlayer ( 除非有DAS) 輕客戶端,如果支持的話,將依賴於誠實的大多數再質押節點
因此,#EigenDA 的安全性主要基於以太坊驗證器集,繼承了以太坊slashing 原語並確保了DA 的經濟安全性
44/ 因此,更多利益相關者參與#EigenDA 意味著更大的安全。減少節點需求也有助於更好地去中心化
45/ 糾刪碼是使數據可用性採樣成為可能的重要機制。糾刪編碼通過產生數據的額外副本來擴展塊。額外的數據產生冗餘,為採樣過程提供更強的安全保證
46/ 然而,節點可能會試圖錯誤地編碼數據以破壞網絡。為了防禦這種攻擊,節點需要一種方法來驗證編碼的正確性——這就是證明的用武之地
47/ 以太坊,@eigenlayer 和@AvailProject 都使用一種有效性證明方案來確保塊被正確編碼。這個想法類似於zk rollup 使用的有效性證明。 @eigenlayer 已經在這個線程的前面討論過了
48/ 每產生一個區塊,驗證者必須對節點使用KZG 證明驗證的數據做出承諾,證明該區塊被正確編碼
49/ 雖然,為KZG 證明生成承諾對區塊生產者來說需要更多的計算開銷,但當區塊很小時,生成承諾不會帶來太多的開銷。然而,這改變了……
50/……隨著區塊變得越來越大,KZG 證明的承諾產生的負擔要高得多
因此,負責生成這些承諾的節點類型可能需要更高的硬件需求
51/ 另一方面,@CelestiaOrg 為糾刪碼執行欺詐證明。因此,#Celestia 節點不需要檢查塊是否被正確編碼。他們默認它是正確的
52/ 好處是,區塊生產者不需要做昂貴的工作來生成糾刪編碼的承諾
但是有一個權衡,因為輕節點必須等待很短的時間才能假設一個塊被正確編碼,並在它們的視圖中完成它
53/ 欺詐證明和有效性證明編碼方案之間的主要區別在於生成承諾的節點開銷和輕節點的延遲之間的權衡
54/ 這個表格很好地總結了比較
232k 帖子
200k 帖子
147k 帖子
80k 帖子
66k 帖子
64k 帖子
61k 帖子
58k 帖子
52k 帖子
51k 帖子
數據可用性解決方案如何工作以及各有何不同?
**撰文:**zer0kn0wledge.era
編譯:Kate, Marsbit
注:本文來自@expctchaos 推特,其是@ChaosDAO 的研究員,原推文內容由MarsBit 整理如下:
0/ 數據可用性(DA) 是主要的擴展瓶頸
幸運的是,@CelestiaOrg, @AvailProject 和@eigenlayer 將改變DA 遊戲,並實現新的可擴展性
但它是如何工作的,#EigenDA 與#Celestia 和#Avail 等DA 15 有何不同?
1/ 如果你不熟悉數據可用性問題,請查看我下面的帖子,其中我詳細介紹了數據可用性情況👇
2/ 總的來說,數據處理解決方案主要有兩種類型
3/ 而「純有效性驗證」意味著數據處理可以在沒有保證的情況下下鏈,因為鏈下數據服務提供商可以隨時下線……
4/ …#StarkEx, #zkPorter 和#Arbitrum Nova 是依賴於DAC 的驗證場景的例子,DAC 是一個由知名第三方組成的小組來保證數據的可用性
5/ 另一方面,#EigenDA, @CelestiaOrg 和@AvailProject 是我們可以稱之為通用DA 解決方案
但是,EigenDA 和其他兩種解決方案之間存在一些區別
6/ 如果你想知道@CelestiaOrg 是如何工作的,請查看下面的鏈接
7/ 我過去也介紹過@AvailProject,所以要了解更多信息,請查看這裡
8/ 如果你需要復習@eigenlayer,請查看以下線程👇
9/ 所以在今天的帖子中,我們想把重點放在@eigenlayer 的#EigenDA 和DA L1 鏈( 如@CelestiaOrg 或@AvailProject) 之間的比較上
10/ 讓我們假設一個基於以太坊並使用Celestia 進行DA(又名Celestium)的rollup
因此,以太坊上的L2 合約像往常一樣驗證有效性證明或欺詐證明,而DA 由Celestia 提供
11/ 在@CelestiaOrg 和@AvailProject 上,沒有智能合約或計算,只保證數據可用
12/ 但是讓我們仔細看看
在@CelestiaOrg 上,tx 數據由L2 排序器發佈到Celestia, Celestia 驗證者簽署DA 證明的默克爾根,隨後發送到以太坊上的DA 橋接合約進行驗證和存儲
13/ 與在鏈上存儲DA 相比,這大大降低了擁有強大DA 保證的成本,同時也提供了來自Celestia 的安全保證( 而不是中心化的DAC)
14/ 成本降低方面將改變整個rollup 領域的遊戲規則,因為將數據發佈到以太坊L1 所產生的calldata 成本佔rollup 費用的80-90%
有關calldata 成本的更多信息,請查看下面的帖子👇
15/ 但是在#Celestia 上到底發生了什麼?
將發佈到@CelestiaOrg 的數據blob ( 基本上作為原始數據) 通過P2P 網絡傳播,並且使用Tendermint 共識達成關於數據blob 的共識
16/ 每個#Celestia 全節點必須下載整個數據blob。對於可以使用數據可用性採樣(DAS) 來確保數據可用性的輕節點來說,這是不同的
17/ 有關DAS 和輕節點的更多信息,請查看下面的帖子
18/ 我們稍後也會在這個線程中回到DAS,但現在的重點是全節點
所以回到@CelestiaOrg,它繼續以L1 的方式行事,依賴於對數據blob 的廣播和共識
19/ 因此,它對網絡的全節點(128 MB/s 下載和12.5 MB/s 上傳) 提出了很高的要求。
儘管如此,@CelestiaOrg 在開始時的目標是達到中等吞吐量(1.4 MB/s),考慮到全節點需求,這似乎很低
20/ 然而,網絡可以通過增加輕節點來擴展吞吐量。數據採樣輕節點越多,在保證安全和去中心化的情況下,區塊大小可以越大
21/ 另一方面,@eigenlayer 採用了不同的架構,沒有自己的共識,也沒有點對點網絡
那麼這是如何工作的呢?
首先,EigenDA 節點必須在@eigenlayer 合約中重新分配$ETH。因此,#EigenDA 節點是以太坊驗證器的一個子集
22/ 隨後,DA 買方( 例如rollup,也稱為分散器) 接收到數據blob 後,用糾刪碼對其進行編碼,並生成KZG 承諾…
23 /……其中證明大小取決於糾刪碼的冗餘比率,並發布KZG 對#EigenDA 智能合約的承諾
24/ 編碼後的KZG 承諾由分散器分發到#EigenDA 節點
在收到KZG 承諾後,這些節點將其與EigenDA 智能合約的KZG 承諾進行比較,並在確認無誤後簽署證明
25/ 之後,分散器將這些簽名一一收集,生成聚合簽名,並發佈到#EigenDA 智能合約中,由智能合約對簽名進行驗證
26/ 但是,如果#EigenDA 節點只是簡單地簽署證明,聲稱它在這個工作流中存儲了編碼的數據blob,而EigenDA 智能合約只驗證聚合簽名的正確性,我們怎麼能確定EigenDA 節點真的存儲了數據?
27/ #EigenDA 使用託管證明方法來實現這一點
但是讓我們後退一步,看看這個變得重要的場景
28/ 讓我們假設一些懶惰的驗證者沒有完成分配給他們的任務(例如確保數據可用)
相反,他們假裝已經完成了工作,並簽署了最終結果( 在數據不可用時謊報數據可用性)。
29/ 從概念上講,託管證明就像欺詐證明一樣:
任何人都可以向#EigenDA 智能合約提交證明( 驗證者懶惰),該證明將由智能合約進行驗證
29/ 如果驗證成功,惰性驗證器被削減( 因為它是一個客觀可歸因的錯誤)
30/ 那麼共識呢?
@CelestiaOrg 使用Tendermint 作為其共識協議,該協議具有單槽最終性。也就是說,一旦一個區塊通過了#Celestia 的共識,它就完成了。這意味著最終確定性基本上和出塊時間一樣快(15 秒)。
31/ @AvailProject 使用協議組合來實現最終性。 BABE 是具有概率終結性的區塊生產機制,GRANDPA 是終結性小工具。雖然GRANDPA 可以在一個槽中完成區塊,但它也可以在一輪中完成多個區塊
32/ 由於@eigenlayer 是以太坊上的一組智能合約,對於需要轉發到rollup 合約以證明數據可用性的數據,它也繼承了與以太坊相同的最終確定時間(12 - 15 分鐘)
33/ 然而,如果rollup 完全使用@eigenlayer,它可以更快地完成,這取決於共識機制的使用等。
此外,由@eigenlayer 的再質押驗證器保護的中間件專注於提供快速結算,例如EigenSettle 可以提供強有力的經濟安全保證,允許最終預確認。然而,硬最終性保證仍然來自以太坊L1
34/ 是時候重新審視數據可用性抽樣概念了
在大多數區塊鏈中,節點需要下載所有交易數據來驗證數據的可用性。這造成的問題是,當塊大小增加時,需要驗證的數據節點的數量也會增加
35/ 數據可用性抽樣(DAS) 是一種允許輕節點通過只下載一小部分區塊數據來驗證數據可用性的技術
36/ 這為輕節點提供了安全性,以便它們可以驗證無效塊( 僅限DA 和共識),並允許區塊鏈在不增加節點需求的情況下擴展數據可用性
37/ DAS 至少需要一個誠實的全節點和足夠數量的輕客戶端
38/ 但是如何保證輕節點的安全性呢?
與全節點相比,傳統的輕客戶端具有較弱的安全性假設,因為它們只驗證區塊頭
因此,輕客戶端無法檢測到一個無效區塊是否是由不誠實的大多數區塊生產者生產的
39/ 具有數據可用性採樣的輕節點在安全性上得到了升級,因為如果DA 層只做共識和數據可用性,它們可以驗證是否產生了無效塊
40/ @CelestiaOrg 和@AvailProject 都將具有數據可用性採樣,因此它們的輕節點將具有信任最小化的安全性。
41/ 這與以太坊和@eigenlayer 不同
帶有#EIP4844 的以太坊沒有數據可用性抽樣,因此其輕客戶端將沒有信任最小化的安全性
42/ 由於以太坊也有它的智能合約環境,輕客戶端也需要驗證執行( 通過欺詐或有效性證明),而不是依賴於誠實的大多數假設
43/ @eigenlayer ( 除非有DAS) 輕客戶端,如果支持的話,將依賴於誠實的大多數再質押節點
因此,#EigenDA 的安全性主要基於以太坊驗證器集,繼承了以太坊slashing 原語並確保了DA 的經濟安全性
44/ 因此,更多利益相關者參與#EigenDA 意味著更大的安全。減少節點需求也有助於更好地去中心化
45/ 糾刪碼是使數據可用性採樣成為可能的重要機制。糾刪編碼通過產生數據的額外副本來擴展塊。額外的數據產生冗餘,為採樣過程提供更強的安全保證
46/ 然而,節點可能會試圖錯誤地編碼數據以破壞網絡。為了防禦這種攻擊,節點需要一種方法來驗證編碼的正確性——這就是證明的用武之地
47/ 以太坊,@eigenlayer 和@AvailProject 都使用一種有效性證明方案來確保塊被正確編碼。這個想法類似於zk rollup 使用的有效性證明。 @eigenlayer 已經在這個線程的前面討論過了
48/ 每產生一個區塊,驗證者必須對節點使用KZG 證明驗證的數據做出承諾,證明該區塊被正確編碼
49/ 雖然,為KZG 證明生成承諾對區塊生產者來說需要更多的計算開銷,但當區塊很小時,生成承諾不會帶來太多的開銷。然而,這改變了……
50/……隨著區塊變得越來越大,KZG 證明的承諾產生的負擔要高得多
因此,負責生成這些承諾的節點類型可能需要更高的硬件需求
51/ 另一方面,@CelestiaOrg 為糾刪碼執行欺詐證明。因此,#Celestia 節點不需要檢查塊是否被正確編碼。他們默認它是正確的
52/ 好處是,區塊生產者不需要做昂貴的工作來生成糾刪編碼的承諾
但是有一個權衡,因為輕節點必須等待很短的時間才能假設一個塊被正確編碼,並在它們的視圖中完成它
53/ 欺詐證明和有效性證明編碼方案之間的主要區別在於生成承諾的節點開銷和輕節點的延遲之間的權衡
54/ 這個表格很好地總結了比較