來源:chainfeeds
在最近的以太坊開發者會議上,討論了將以太坊的Pectra 硬分叉分成兩部分的提議。這個提議之前曾經被否決,因為大家擔心會延遲Verkle 樹的升級。不過在這次的會議上,開發者們再次提出了這個想法,因為他們希望在Pectra 分叉中加入更多的改進提案(EIP)。提議將硬分叉分為兩部分:第一部分將包括目前Pectra Devnet 3 上的所有EIP,第二部分的分叉將包括EOF(EVM 物件格式)和PeerDAS 等,為了更好地理解PeerDAS,我們首先從資料可用性這個基礎概念講起。
DA:確保節點獲取鏈上數據
數據可用性(Data Availability,DA)是指要保證區塊提議者發布的區塊、區塊中所包含的所有交易數據,對於其他網路參與者來說可以有效地存取和獲取。資料可用性是區塊鏈安全的關鍵因素,因為如果資料不可用,即使區塊合法,其他節點也無法驗證其內容,可能引發共識問題和網路攻擊。例如,攻擊者可能只發布部分區塊數據,導致其他節點無法進行驗證。
當新區塊被廣播時,所有參與的節點都會下載並驗證區塊的資料。這種模式在網路規模較小時是可行的,但隨著區塊鏈的不斷增長,資料量會變得非常龐大,每個節點儲存會不斷增加,對硬體的要求也隨之提高。為了讓輕節點(如手機或電腦這樣的行動裝置)也可以參與區塊驗證,區塊鏈引入了分片技術。
分片技術是將整個區塊鏈網路分成多個小的「片」(shards)。每個分片只處理自己那部分數據,不必處理整個區塊鏈的數據。因此,單一節點只需要處理自己分片的資料。但每個分片只處理一部分數據,就意味著其他分片的節點無法直接存取完整的數據。那麼如何確保分片中的資料是可用的,並且其他節點能夠驗證這些資料的有效性?例如,某個分片的節點發布了一個新產生的區塊,但它可能只發布了一部分資料。如果其他節點無法取得區塊的全部數據,就無法驗證這個區塊是否真實合法。
DAS:透過部分資料驗證整體資料可用性
為了應對分片中的資料可用性問題,資料可用性抽樣(Data Availability Sampling,DAS)技術被提出,它的核心思想是透過抽樣的方式來驗證區塊的資料可用性,不要求每個節點儲存或下載完整的區塊數據。
資料可用性抽樣允許節點只需隨機獲取區塊中的一部分資料便可以驗證資料可用性,如果節點能夠成功獲取並驗證這些隨機資料片段,便可以推測整個區塊的資料是可用的。
為了支援這種抽樣驗證,區塊資料通常會使用RS 編碼。這種編碼允許在遺失部分資料的情況下仍然能夠恢復完整的資料。因此,即使節點僅下載部分區塊數據,也能夠推斷並確認整個區塊數據的有效性。 DAS 透過抽樣驗證減少了每個節點需要處理的資料量,輕節點也可以參與區塊驗證。
DA 層例如Celestia 的就是透過這些技術來實現。主要涉及RS encoding + validity proof + DAS。
-
RS 編碼(Reed-Solomon Encoding):這種編碼方式允許只接收到一部分資料片段的節點也能夠重建整個資料塊。它類似糾錯碼,具有一定的容錯能力,即便遺失一部分數據,剩下的部分也足以重建完整數據。
-
Validity Proof(有效性證明):使用零知識證明來確保資料在編碼和傳輸的過程中沒有錯誤。如果驗證成功,則可以無誤地解碼整個資料。
-
DAS(資料可用性抽樣):透過輕節點隨機抽樣區塊中的一部分RS 編碼片段,驗證這些片段的可用性,從而推測整個資料區塊是可用的。
PeerDAS: 節點間協作驗證數據
PeerDAS 是DAS 的具體實現,透過對等網路(peer-to-peer network)進行資料可用性抽樣,對等網路是由多個節點組成的網絡,節點間直接進行通訊。在DAS 下,每個節點獨立進行資料的抽樣驗證,而PeerDAS 優化了這個過程,它讓節點之間協作共享和驗證區塊中的數據,進一步提高驗證效率。節點之間並不是孤立的,可以共享資料驗證的任務和結果,可以依賴其他節點已驗證的資料。這樣,節點不必單獨承擔所有的驗證工作,而是透過合作分擔驗證任務,進一步減少節點的負擔。而且協作驗證增加了資料竄改的難度,攻擊者需要同時影響多個驗證節點才能成功竄改資料。
目前,根據最新以太坊關於PeerDAS 的會議,以太坊客戶端Lighthouse 團隊已經將DAS 分支合併到主分支,並正在測試以確保與PeerDAS 的兼容性。分支通常是用來開發和測試新功能或改進的獨立程式碼版本,合併到主分支意味著這個功能或改進已經開發完成,並且有信心是穩定的,可以合併到核心程式碼中。