Celestia主網測試版最近完成了第一次升級,為共識網路引入了第一組新功能。
資料可用性(DA)網路計劃透過Shwap進行首次升級 - 現已在Arabica和Mocha測試網上啟用,使用celestia-node v0.18.2。Shwap使DA取樣速度提高12倍,儲存需求減少16.5倍,支援更大的區塊和更小的節點。
Shwap是Celestia社群路線圖核心目標的又一步:不懈地擴充套件到1GB區塊。在CIP-19中規定,Shwap包括DA網路的新訊息協議和儲存系統。
Shwap使DA吞吐量大幅擴充套件,同時保持輕節點要求較低。高吞吐量DA加速現有加密應用,並支援使用任何虛擬機器的新的不可阻擋應用。更低的要求使任何人都可以執行瀏覽器或錢包中的輕節點,為真正可驗證的Web應用鋪平道路。
經過進一步測試,Shwap預計將在11月期間進入主網測試版。請注意,Celestia社群將主導網路升級的具體時間。
當前的DA網路
DA網路可以描述為兩個協議。一個負責透過go-header傳播鏈頭,另一個管理以資料方塊形式存在的實際區塊資料,該方塊由小份額或樣本組成。這些樣本由輕節點取樣。當前的協議和儲存系統是圍繞Devnet時代引入的取樣協議設計的。這種基於IPLD的協議已被證明是可行的,但從根本上來說是不可擴充套件的,尤其是以1GB區塊為目標。
該協議及其儲存遵循了區塊鏈工程中的典型陷阱:基於雜湊的可定址性。這聽起來是一個簡單而強大的概念,提供了"很好"的特性,如重複資料刪除。它足夠通用,可應用於任何基於雜湊的資料結構,如狀態儲存或在我們的情況下,資料方塊儲存。總的來說,基於雜湊的可定址性感覺像是一個簡單的首選解決方案,事實上,它使用了所有現有的IPLD工具啟動了我們的工程;然而,正如往常一樣,問題出在細節之中。
例如,輕節點必須下載樣本及其相關的Merkle證明才能驗證樣本。在基於雜湊的系統中,證明中的每個節點都需要單獨檢索。對於128x128的方塊大小,這個過程要求輕節點進行7次阻塞往返,顯著減慢了取樣速度。這就是舊取樣協議和儲存的情況。輕節點必須進行7次網路請求,然後在伺服器端的全節點上進行7次IO讀取。此外,伺服器全節點還必須維護歷史Merkle樹節點的全域性索引,這會由於鍵值儲存壓縮而嚴重影響整體資料吞吐量。
總之,基於雜湊的可定址性路徑導致了:
- 儲存Merkle證明而不是即時重新計算。
- 堅持O(log2n)的資料訪問模式,而不是O(1)。
這些決定不允許舊協議擴充套件,需要從根本上採取不同的方法,從頭開始,從而導致了Shwap。
Shwap
Shwap(share + swap)升級引入了一個新的訊息框架和儲存系統,增強了取樣和資料高效檢索。它將全節點儲存需求減少16.5倍,為不斷增長的區塊大小提供了可擴充套件的基礎。
Shwap引入的主要變化包括:
- 新的資料方塊儲存子系統
- 可組合的網路框架
- O(1)資料可用性取樣(DAS)
在Shwap中,之前低效且實驗性的區塊重建版本也被刪除,取而代之的是未來升級中更高效的生產就緒版本。透過觀看Modular Summit 影片深入瞭解Shwap。
方塊儲存
資料方塊儲存子系統已經重新設計,以避免儲存歷史Merkle證明和全域性索引。它還消除了最初選擇的基於IPLD的儲存依賴項中儲存的不必要的元資料。總的來說,新的資料方塊儲存架構相比舊的儲存使用實現了16.5倍的驚人改善。
我們的基準測試顯示,使用現代CPU重新計算雜湊所需的時間少於從NVMe讀取的時間。這使得儲存所有證明實際上是無用的,儘管儲存少量策略性證明。
此外,新的儲存引入了一種新的不可變檔案格式,支援儲存可選的奇偶校驗資料,透過最小化IO和計算來加快取樣檢索。
網路
Shwap為Celestia的DA網路提供了一個靈活和可擴充套件的訊息框架。它標準化了份額交換的訊息傳遞,而不強制使用特定的傳輸協議,支援TCP/QUIC和HTTP/x等應用層協議。主要的網路改進包括:
表達能力
Shwap引入了資料容器,可以訪問資料方塊的任何部分。它可以是樣本、份額範圍、Blob、行、名稱空間資料等。Shwap的核心是為資料方塊帶來表達能力,允許任何人以任何形式有效地檢索釋出的資料,這些資料被分組在一個容器中。這個強大的功能使社群能夠擴充套件資料方塊的功能,同時確保軟體能夠快速適應新功能。
協議解耦
Shwap將核心網路訊息與底層傳輸和協議層解耦,使其能夠與較低級別的協議(如Bitswap、KadDHT、ShrEx或自定義協議)堆疊。
ShrEx整合
在ShrEx協議上使用Shwap可以改善區塊資料同步,加快資料檢索並減少資源消耗。憑藉Shwap高效的資料儲存,ShrEx使同步速度提高22倍,將Mocha上的全節點同步時間從7天縮短到8小時。
與Bitswap整合以實現高效的DAS
Shwap透過與Bitswap整合大幅改善了資料可用性取樣(DAS)。之前,DAS需要7次往返才能檢索128x128資料方塊的資料,但透過Shwap的訊息框架,Bitswap現在只需1次往返即可處理。
這些網路改進構成了Shwap升級的基礎,使Celestia的DA網路實現更高效的通訊,並在各方面帶來顯著的效能提升。
輕節點
Shwap升級增強了輕節點,特別是在DAS效率方面。藉助Shwap的O(1)往返取樣,輕節點可以執行DAS的速度提高12倍,同步時間從24小時縮短到2小時。
此外,Shwap優化了樣本的儲存方式,將輕節點的儲存佔用減少2.66倍,在保持相同網路參與度的情況下提高了輕節點的效率。
未來計劃
這是朝著社群1GB區塊資料方塊目標邁出的重要一步;然而,還有更多工作要做。Shwap為實現這一目標奠定了軟體架構的基礎,但仍需要納入更多最佳化才能達到目標。
現在,有了適當的基礎,DA網路預計不會在儲存和網路協議方面進行重大重寫,這使核心開發人員能夠專注於維護、加強安全性、水平特性新增,最重要的是擠出更多效能。