- 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|英文电报群|中文电报群