- Red Stuff?是 Walrus 所采用的二維(2D)糾刪碼協議,定義了數據如何被編碼和存儲。它是實現高效、安全、且高可用的去中心化存儲的關鍵。
- 通過 Red Stuff,Walrus 成功解決了去中心化存儲系統常見的三大難題:安全性、復制效率和數據恢復速度。
- 其矩陣編碼機制可生成主切片和副切片,實現輕量級“自我修復”,從而在使用極少網絡帶寬的同時實現快速恢復。
- 對開發者而言,Red Stuff 帶來的創新意味著:一個更具性價比、更高性能、更強彈性、更易擴展的存儲網絡。
Walrus 的 Red Stuff 編碼協議定義了數據如何轉換為可存儲的格式,是 Walrus 實現大規模 blob 數據高可用性與完整性的核心所在。
傳統的中心化云存儲雖然性能強大,但也帶來了單點故障、審查風險和激勵機制失衡等問題。去中心化存儲網絡旨在通過構建一個可信中立的持久數據系統來改善這一現狀,但在實現過程中往往面臨一系列基本的權衡挑戰。
Red Stuff 讓 Walrus 能夠直接應對這些去中心化存儲的傳統難題,實現高安全性和高效、不中斷的數據可用性,即使在節點頻繁變動或部分宕機的情況下也能穩定運行。這種突破使 Walrus 在保留去中心化優勢的同時,其性能也能媲美中心化云存儲解決方案。
理解去中心化存儲的權衡取舍
與由單一服務商基礎設施管理的中心化云存儲不同,去中心化存儲系統將數據分布在多個獨立節點上。這種架構增強了系統的彈性與抗審查能力。
然而,由于存儲節點可能隨時離線或故障(形成“高波動”環境),去中心化也帶來了新的挑戰:如何確保數據始終可用并持久保存。通常可通過在網絡多個節點間復制數據來提升可用性 — — 當某個節點宕機或離線時,其存儲的數據可從其他節點的冗余副本中恢復。
正因為這種高節點波動與復制的特殊挑戰,去中心化存儲網絡在設計時必須在以下幾個核心目標之間做出權衡:
- 成本效率:通過減少冗余復制來降低存儲開銷;
- 數據持久性與可用性:需具備高效的數據恢復機制,以及在部分節點失效時仍能正常運行的容錯能力;
- 性能表現:包括數據檢索延遲與恢復速度;
- 安全性與信任保障:例如確保節點分布足夠去中心化,并能對存儲行為進行可驗證。
一個去中心化存儲網絡在高節點變動(high-churn)環境下實現數據持久性的方式,會直接影響其在各項核心指標之間的權衡。當前常見的兩種方法是:全量復制(Full Replication)和一維糾刪碼(1D Erasure Coding)。
- 全量復制:全量復制是指將數據的完整副本存儲在多個節點上。這種方式的優點是數據恢復簡單 — — 新節點只需從任一存有完整副本的節點下載一份即可。但缺點也十分明顯:為了實現足夠的數據安全性,網絡中必須保存大量副本,導致存儲成本極高。對于大規模數據,這種方式變得不具備成本效益。
- 一維糾刪碼(如 Reed-Solomon,RS 編碼):1D 糾刪碼是一種空間效率更高的替代方案。其原理是將一個文件拆分為多個數據片段,然后再基于這些原始片段生成冗余的“奇偶校驗片段”(parity fragments)。只需一部切片段即可還原整個數據文件,因此相比全量復制,所需的副本數量顯著減少,節省了存儲資源然而,1D 糾刪碼也有嚴重局限:若某一片段丟失或損壞,節點需下載近乎整個文件的數據量才能恢復該片段。在節點頻繁上下線的動態網絡環境中,這種“高帶寬修復”流程成為性能瓶頸,不利于網絡擴展,且提高了運行成本。
因此,大多數去中心化存儲網絡在這兩種常規方案之間必須權衡:要么承擔高昂的復制成本,要么接受低效的數據恢復機制。
Blob 與去中心化存儲
Walrus 專為支持二進制大型對象(Blob,Binary Large Object)存儲而設計,使開發者能夠存儲、讀取、管理并編程操作大型數據與多媒體文件。Blob 存儲因其靈活性、可擴展性,以及對傳統上難以處理的非結構化數據的支持而備受青睞。
Blob 尤其適合處理大型數據文件 — — “大對象”正是它的命名由來。在存儲與檢索這類數據時,使用全量復制會帶來極高的存儲開銷,而傳統糾刪碼方式的恢復效率低下,也可能成為嚴重的性能瓶頸。主流的去中心化存儲復制方案,在大規模 Blob 存儲需求下都難以滿足實際要求。
Red Stuff:高效且不犧牲數據恢復能力
Red Stuff 是 Walrus 的核心技術創新之一,它是一種二維糾刪碼(2D Erasure Coding)協議。Red Stuff 是 Walrus 能夠實現高冗余、高安全的去中心化 Blob 存儲的關鍵,同時還能保證在存儲節點波動或故障的情況下實現高效的數據恢復。
Red Stuff 繼承了糾刪碼的存儲效率優勢 — — 在只需極少冗余的前提下,提供與全量復制相同級別的數據耐久性。同時,它也解決了一維糾刪碼(如 RS 編碼)在恢復數據時所面臨的高帶寬開銷問題,引入了高效的“自我修復”機制。
如需深入了解 Red Stuff 的二維糾刪碼原理,可閱讀?Walrus 白皮書。簡要來說,傳統的一維糾刪碼僅在一個維度上對數據進行切片,而二維糾刪碼則在兩個維度上切片,使得數據恢復更加精細化、效率更高。
Red Stuff 編碼一個數據 blob 的流程如下,這也有助于理解其核心機制:
- 矩陣構建(Matrix formation):原始數據 blob 首先被組織成一個由若干行與列構成的矩陣,這一二維結構為后續的編碼操作打下基礎。
- 主編碼(Primary Encoding):初始矩陣中的每一列被視為一個獨立的數據塊,分別進行糾刪碼處理。這些編碼操作生成一個更大的中間矩陣,該矩陣每一行中的原始符號構成了一個主切片(primary sliver)。
- 副編碼(Secondary Encoding):與主編碼并行,初始矩陣中的每一行也作為獨立數據塊進行糾刪碼處理,生成另一個更大的中間矩陣。該矩陣每一列中的原始符號則構成了一個副切片(secondary sliver)。
- 切片配對與分發(Sliver pair distribution):編碼完成后,協議會為 Walrus 當前活躍委員會中的每個存儲節點分配一對唯一切片 — — 一個主切片和一個副切片。
這種二維結構是 Red Stuff 實現高效率的關鍵所在:每個節點的主切片包含來自原始矩陣所有列的編碼數據,而副切片則包含所有行的編碼數據。這種橫向和縱向雙重冗余,使得 Red Stuff 的自我修復系統(Self-healing)得以實現,與傳統一維糾刪碼方案相比,其數據恢復過程更加高效、資源占用更低。
自我修復機制(Self-healing)
Red Stuff 的一大優勢在于其高效的“自我修復”能力,這也是 Walrus 網絡能在節點頻繁變動(node churn)時依然保持高可用性的關鍵。
借助二維糾刪碼結構,Red Stuff 極大地減少了數據重建所需的帶寬,從根本上解決了一維糾刪碼在數據恢復時需傳輸大量數據的問題:在傳統的一維糾刪碼系統中,恢復一個文件通常需要下載接近整個文件大小的數據;而在二維糾刪碼中,節點只需下載一個切片(sliver)大小的數據即可完成恢復,這使得重建過程更加輕量且具可擴展性。
Walrus 中每個節點存儲的是一對切片(主切片 + 副切片),這兩個切片的恢復方式略有不同:
- 副切片恢復(Secondary Sliver Recovery):當一個節點崩潰并重新上線,或新節點加入活躍委員會時,會優先恢復其對應的副切片。該節點只需從約?1/3 個其他節點?處請求數據即可。由于每個 blob 的副切片被 2/3 的節點所持有,因此該節點必然能從網絡中獲取足夠數據來重建副切片。
- 主切片恢復(Primary Sliver Recovery):主切片的恢復對響應節點的數量要求更高,需要?2/3 的節點回應。但總體流程與副切片類似。
這一輕量級的恢復機制使得 Walrus 網絡在面對節點上線、掉線或更換時仍能保持數據穩定性和可用性,同時也使新節點的接入變得更為高效、不會對網絡造成擁堵。
Red Stuff 的其他優勢:數據完整性與容錯性
作為 Walrus 的編碼協議,Red Stuff 所帶來的好處不僅僅是解決去中心化存儲中在安全性、復制效率與數據恢復效率之間的權衡問題,它還在數據完整性與容錯性方面提供了強大保障。
數據完整性(Data Integrity)
為了確保數據未被篡改,并防止惡意節點返回損壞或編碼不一致的數據,Red Stuff 采用向量承諾(vector commitment)機制對數據結構進行加密驗證,主要包括:
- 切片承諾(Sliver Commitments)在編碼過程中,對每一個生成的主切片和副切片,都會計算一個加密的向量承諾(cryptographic vector commitment)。該承諾可用于之后驗證某個具體數據是否存在于某個切片的特定位置,無需下載整個切片,即可實現無信任驗證。
- Blob 承諾(Blob Commitment):在生成所有切片的承諾后,系統會對這些切片承諾的列表生成一個最終的 Blob 承諾。這個頂層承諾可視為該 blob 的加密“指紋”,用于標識整個編碼狀態的唯一性和完整性。
- Blob ID 生成:最終,該 Blob 的全球唯一標識符(Blob ID)通過對 Blob 承諾及相關元數據進行加密哈希計算得出。
Red Stuff 的這些機制,不僅提升了 Walrus 存儲協議的安全性與可靠性,也為構建具備強一致性與抗篡改能力的數據存儲系統提供了堅實基礎。這一承諾過程為 Walrus 上的數據生命周期提供了端到端的可驗證性。當一個存儲節點接收到其一對切片(sliver pair)時,它可以驗證這些切片是否與公開的承諾一致。同樣地,當讀取者從網絡中檢索切片時,也可以在重建數據前,對切片進行與承諾匹配的真實性驗證。
這有效防止了惡意節點提供無效數據的攻擊行為,因為這些無效數據在與最初寫入者的承諾進行驗證時會直接失敗。
容錯機制(Fault Tolerance)
Red Stuff 協議的另一大特色在于,它對誠實且活躍的存儲節點設置了不同的法定人數(quorum)閾值,從而支撐 Walrus 的安全性、可用性與容錯能力。
為了將數據 blob 寫入 Walrus,Walrus 活躍集中 2/3 的存儲節點必須確認已接收 blob 的切片對,并驗證其切片承諾。但是,在讀取和檢索 blob 時,客戶端只需從 1/3 的仲裁節點收集和驗證切片。
與 Red Stuff 寫入所需的 2/3 節點仲裁相比,Red Stuff 較低的 1/3 讀取仲裁使 Walrus 上的讀取具有極強的彈性。 Red Stuff 的自愈過程也采用了不同的法定人數,需要 1/3 的法定人數才能恢復次級分片,而需要 2/3 的法定人數才能重建主分片。
通過定義不同的法定人數,Red Stuff 允許 Walrus 在誠實節點之間進行高效的恢復操作,因為它需要更少的參與者。它為關鍵操作(例如數據重建和存儲證明)設定了更高的標準,確保任何成功的操作都經過足夠數量的誠實參與者的驗證。
您可以在此處的文章中了解生成承諾、創建 Blob ID 以及在 Walrus 上讀寫 Blob 的過程,它們各自位于 Walrus Blob 存儲生命周期的各個階段。
開始體驗 Walrus!
Red Stuff 協議是 Walrus 能夠突破傳統去中心化存儲權衡難題的關鍵。對開發者而言,Red Stuff 的創新讓 Walrus 成為一個更加:
- 具性價比:以極低的存儲冗余換取高度安全性,遠優于傳統的完全復制模型。
- 高性能:在大規模數據存儲場景中,實現高可用性與完整性,使 Walrus 成為真正可替代傳統云存儲的去中心化解決方案。
- 強韌且可擴展:輕量級自我修復機制幫助網絡靈活應對節點波動,避免高帶寬成本,確保數據始終可用。
再加上 Walrus 其他核心技術創新(如數據可編程性),它已成為面向 Web3 應用的新一代數據存儲平臺。通過將 Walrus 存儲的 blob 表示為 Sui 上的對象,開發者可利用 Move 智能合約以全新方式管理和交互數據,例如:自動化 blob 生命周期管理、構建鏈上與鏈下數據的動態交互、實現鏈上數據驗證。
想要了解更多?Walrus?現在就查看?Walrus 文檔?開始構建你的去中心化應用!也可以探索開發者精選工具集與項目資源 👉?Awesome Walrus GitHub 倉庫。
關于 Sui Network
Sui是基于第一原理重新設計和構建而成的L1公有鏈,旨在為創作者和開發者提供能夠承載Web3中下一個十億用戶的開發平臺。Sui上的應用基于Move智能合約語言,并具有水平可擴展性,讓開發者能夠快速且低成本支持廣泛的應用開發。獲取更多信息:https://linktr.ee/sui_apac
官網|英文Twitter|中文Twitter|Discord|英文電報群|中文電報群