这篇论文介绍了一个名为 Walrus 的全新去中心化存储系统。为了让你轻松理解,我们可以把存储数据想象成把珍贵的家当(照片、视频、文件)存进一个巨大的、由成千上万个陌生人共同管理的“云仓库”里。
以前的系统要么太贵,要么太慢,要么容易丢东西。Walrus 就像是一个超级聪明的仓库管理员团队,它用一种全新的方法解决了这些难题。
以下是用生活中的比喻对 Walrus 核心技术的通俗解读:
1. 核心痛点:以前的仓库是怎么“翻车”的?
在 Walrus 出现之前,去中心化存储主要有两种笨办法:
- 办法 A:完全复制(像“复印机”)
- 比喻:你想存一份文件,系统把它复印 25 份,分别发给 25 个不同的仓库管理员。
- 缺点:太浪费空间了!存 1GB 的数据,实际上要占 25GB 的硬盘。这就好比你为了存一张照片,不得不打印 25 张一模一样的照片,既费纸又费钱。
- 办法 B:碎片化存储(像“拼图”)
- 比喻:系统把文件切成很多小块(碎片),只存一部分。如果某个管理员丢了碎片,其他管理员需要把整个文件重新下载下来,拼凑出丢失的那一块,再重新切分。
- 缺点:一旦有人“离职”或“掉线”(网络波动),修复数据就像要重新搬运整个图书馆的书,效率极低,成本极高。
2. Walrus 的解决方案:神奇的"Red Stuff"(红 Stuff)
Walrus 发明了一种叫 Red Stuff 的新技术,它就像是一个**“双维度拼图”**系统。
比喻:二维网格与“自愈”能力
想象你有一张巨大的海报(你的文件)。
- 传统方法:把海报切成横条,分给不同的人。如果有人丢了横条,大家得把整张海报重新拼一次才能补上。
- Walrus 的 Red Stuff:
- 切两刀:它先把海报切成横条,再把每个横条切成竖条。现在海报变成了一个网格(矩阵)。
- 双重保险:每个管理员手里不仅拿着“横条”,还拿着“竖条”。
- 自愈(Self-Healing):
- 如果管理员 A 丢了“横条”,他不需要下载整张海报。他只需要找几个手里有“竖条”的邻居,把交叉点的数据拼一下,就能只下载丢失的那一小块,瞬间补全。
- 结果:修复数据的速度极快,而且只消耗丢失数据本身大小的流量,而不是整个文件的大小。
这就好比:你弄丢了一块拼图,以前得把整幅画拆了重拼;现在你只需要问旁边的人要那一小块,就能补上。
3. 应对人员变动:多阶段的“交接班”(Epoch Change)
在一个去中心化的世界里,管理员(存储节点)会随时加入或离开。这就像仓库里的人员流动。
- 以前的难题:如果仓库要换一批新管理员,旧管理员得把几 PB(海量)的数据全部搬运给新人。如果旧管理员在搬运过程中“罢工”或掉线,整个仓库就瘫痪了。
- Walrus 的妙招:
- 无缝交接:Walrus 设计了一套多阶段交接协议。
- 比喻:想象一个接力赛。旧管理员在跑最后一棒时,新管理员已经在旁边准备好了。旧管理员一边跑,一边把接力棒(数据)递给新管理员。即使旧管理员中途摔倒了(掉线),新管理员也能通过刚才提到的“自愈”能力,从其他还在跑的旧管理员那里把接力棒补全。
- 结果:无论仓库人员怎么换,存取数据的服务永远不中断,用户感觉不到任何变化。
4. 安全与防骗:带锁的“快递单”
怎么防止有人存了假数据,或者管理员偷偷篡改数据?
- 比喻:Walrus 给每个数据碎片都贴上了一个不可伪造的“数字指纹”(加密哈希和向量承诺)。
- 机制:
- 当你下载数据时,系统会检查指纹。如果管理员给你的碎片是坏的或假的,指纹对不上,系统会直接拒绝,并生成一份“欺诈证据”公之于众。
- 这就像快递员给你送包裹,如果包裹上的封条是撕开过的,你不仅会拒收,还会立刻报警,让大家都知道这个快递员不可信。
5. 实际表现:真的快吗?
论文团队已经在真实世界中部署了 Walrus(主网和测试网),并存储了超过 530 TB 的数据(相当于几百万部高清电影)。
- 速度对比:
- Arweave(竞争对手):存一个文件可能需要 30 多分钟(因为要等区块链确认)。
- Walrus:存一个 100MB 的文件,只需要不到 20 秒。读文件更是快,100MB 的文件5 秒内就能读完。
- 成本:虽然它比最极端的“碎片化”方案多存了一点点冗余(4.5 倍 vs 3 倍),但相比“完全复制”的 25 倍,它已经省下了巨大的空间,而且修复速度极快。
总结
Walrus 就像是一个既省钱、又安全、还能自我修复的超级云仓库。
- 它用**“双维度拼图”**(Red Stuff)解决了数据丢失后修复慢的问题。
- 它用**“无缝交接”**解决了人员流动导致的服务中断问题。
- 它用**“数字指纹”**保证了数据不被篡改。
这项技术让去中心化存储不再是“慢、贵、难用”的代名词,而是真正具备了在大规模商业场景中替代传统云存储的潜力。
Walrus:高效去中心化存储网络技术总结
1. 研究背景与问题定义
去中心化存储面临一个根本性的权衡:复制开销(Replication Overhead)、恢复效率(Recovery Efficiency)与安全保证(Security Guarantees)之间的矛盾。现有的解决方案主要分为两类,但都存在显著缺陷:
- 全复制方案(如 Filecoin, Arweave):
- 机制:数据在多个节点上完全复制。
- 缺点:存储开销巨大(通常需要 25 倍甚至 1000 倍以上的复制因子以确保高耐久性)。虽然读取和迁移容易,但存储成本极高。
- 纠删码方案(如 Storj, Sia):
- 机制:使用 Reed-Solomon (RS) 编码,将文件切分为碎片(Slivers),只需存储少量副本即可恢复。
- 缺点:恢复效率低。当存储节点故障或退出(Churn)时,新节点需要从其他所有节点下载完整数据块来重建丢失的碎片。这导致恢复过程需要传输整个文件大小的数据($O(|blob|)$),在节点频繁变动的无许可(Permissionless)环境中,这种开销会抵消纠删码带来的存储节省,甚至导致系统不可用。
核心问题:如何设计一个去中心化存储系统,既能保持低复制因子(低成本),又能实现高效的自我修复(低恢复带宽),同时支持无许可环境下的节点动态变更(Epoch Change)?
2. 方法论与核心技术
Walrus 提出了一种新的去中心化 Blob 存储架构,其核心创新在于Red Stuff编码协议和多阶段 Epoch 变更协议。
2.1 Red Stuff:二维纠删码与自愈机制
Red Stuff 是 Walrus 的核心编码协议,旨在解决异步网络下的异步完整数据存储(Asynchronous Complete Data Storage, ACDS)问题。
- 二维编码(2D Encoding):
- 不同于传统的一维 RS 编码,Red Stuff 将数据块(Blob)在两个维度上进行编码。
- 过程:首先将 Blob 切分为 f+1 个主碎片(Primary Slivers),然后对每个主碎片进行横向扩展,生成 2f+1 个次级碎片(Secondary Slivers)。最终形成一个 [f+1,2f+1] 的矩阵,并扩展为 n×n 的冗余矩阵(其中 n=3f+1)。
- 存储策略:每个节点存储一个“碎片对”(一个主碎片 + 一个次级碎片)。
- 自愈(Self-Healing):
- 关键突破:当节点丢失数据时,无需下载整个文件。新节点只需向 f+1 个其他节点请求其行/列交叉点的符号(Symbol),即可利用纠删码特性恢复丢失的碎片。
- 带宽复杂度:恢复单个碎片的带宽仅为 $O(|blob|/n),总恢复成本为O(|blob|),与读取整个文件的成本相当,且与节点总数n$ 无关。这使得系统具有极高的可扩展性。
- 安全性:
- 引入认证数据结构(如向量承诺 Vector Commitments 和 Merkle Tree),确保数据一致性。
- 能够防御恶意客户端上传不一致数据,并允许诚实节点生成“不一致性证明”(Inconsistency Proof)来拒绝无效数据。
2.2 Walrus 系统架构
Walrus 将 Red Stuff 编码与外部区块链(Sui)结合,形成完整的存储系统:
- 控制平面:使用 Sui 区块链处理元数据、治理和状态管理(如 Blob ID 注册、存储证明 PoA)。
- 数据平面:存储节点负责存储经过 Red Stuff 编码的碎片。
- 操作流:
- 写入:客户端编码数据 -> 提交交易预留空间 -> 发送碎片给节点 -> 收集 2f+1 个签名 -> 上链生成“可用性证明”(PoA)。
- 读取:获取元数据 -> 请求次级碎片 -> 解码并验证 -> 输出数据。
2.3 多阶段 Epoch 变更协议(Committee Reconfiguration)
针对无许可系统中节点频繁加入/退出的问题,Walrus 设计了特殊的 Epoch 变更机制:
- 挑战:在节点轮换期间,如果旧节点无法及时将数据转移给新节点,会导致写入阻塞或数据不可用。
- 解决方案:
- 读写分离过渡:在 Epoch 切换期间,写入直接指向新委员会(Epoch e+1),而读取仍指向旧委员会(Epoch e)。
- 元数据标记:每个 Blob 的元数据包含其首次写入的 Epoch。客户端根据此信息决定向哪个委员会发起读取请求。
- 无缝切换:只有当新委员会中 2f+1 个节点完成状态引导(Bootstrap)并确认持有所有碎片后,才正式切换读取路径。
- 优势:利用 Red Stuff 的高效自愈能力,即使旧节点离线,新节点也能通过自愈机制恢复数据,避免了传统系统中需要全量传输数据的瓶颈。
3. 主要贡献
- 定义 ACDS 问题:首次形式化定义了“异步完整数据存储”问题,并提出了在拜占庭容错(Byzantine Faults)环境下的高效解决方案。
- Red Stuff 协议:提出了首个支持高效自愈的二维纠删码协议,将存储开销控制在 4.5 倍(相比全复制的 25 倍或传统 RS 的 3 倍但恢复成本高),同时实现了 $O(|blob|/n)$ 的恢复带宽。
- Walrus 系统实现:构建了首个支持无许可参与、低复制成本且能高效处理节点 churn 的去中心化存储协议。
- 生产级部署与验证:在 Sui 区块链上部署了 Walrus 主网和测试网,并进行了大规模实验评估。
4. 实验结果与性能评估
作者在 Walrus 主网(100 个节点,覆盖 19 个国家)和测试网上进行了评估,并与 Filecoin 和 Arweave 进行了对比:
- 存储规模:主网已存储 530 TB 未编码数据(约 39% 已使用,总容量 4.12 PB)。
- 延迟(Latency):
- 写入:135 MB 文件的写入延迟低于 20 秒(包含编码、上传和上链确认)。
- 读取:135 MB 文件的读取延迟低于 5 秒。
- 对比:Arweave 写入需 30 分钟以上,Filecoin 需 1.5 小时以上。Walrus 的延迟比它们低几个数量级。
- 吞吐量(Throughput):
- 单客户端读取吞吐量可达 400 MB/s(135 MB 文件)。
- 单客户端写入吞吐量约为 62 MB/s。
- 相比之下,Arweave 受限于共识机制,写入吞吐量仅为 7 MB/s。
- Epoch 变更与恢复:
- 在节点故障或轮换测试中,系统成功恢复了 TB 级别的数据。
- 即使在节点离线导致需要自愈的情况下,系统仍保持读写可用,验证了无停机时间(No Downtime)的特性。
- 恢复过程带宽消耗符合理论预期,未出现全量数据传输。
5. 意义与影响
Walrus 解决了去中心化存储领域长期存在的“存储成本”与“恢复效率”不可兼得的难题:
- 经济可行性:通过 4.5 倍的复制因子(而非 25 倍或 100 倍),大幅降低了存储成本,使得大规模去中心化存储在经济上可行。
- 动态适应性:通过自愈机制和 Epoch 变更协议,系统能够适应无许可环境中节点的频繁变动,这是此前基于纠删码的系统(如 Storj)无法做到的。
- 性能突破:证明了去中心化存储可以达到接近中心化存储的读写延迟和吞吐量,打破了“去中心化必然慢”的刻板印象。
- 生态整合:作为 Sui 区块链的原生存储层,Walrus 为区块链应用(如 NFT、GameFi、AI 数据层)提供了高效、廉价且安全的存储基础设施,推动了 Web3 应用的扩展。
综上所述,Walrus 通过创新的 Red Stuff 编码和系统架构设计,成功构建了一个高弹性、低成本、高性能的去中心化存储网络,为下一代去中心化应用提供了关键的基础设施支持。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。