Walrus 术语表
为了使沟通尽可能清晰和高效,我们确保对每个 Walrus 实体/概念使用单一术语,并且 不 使用任何同义词。下表列出了各种概念、它们的规范名称以及它们与其他术语的关系或区别。
描述中的斜体术语表示表中包含的其他特定 Walrus 术语。
批准名称 | Description |
---|---|
storage node (SN) | 为 Walrus 存储数据的实体;持有一个或多个 shards |
blob | 存储在 Walrus 上的单个非结构化数据对象 |
永久 blob | 所有者无法删除的 blob,保证至少在其到期 epoch 之前可用(假设其有效) |
可删除 blob | 所有者可以随时删除的 blob,以便重新使用存储资源 |
分片 | 所有 blobs 的擦除编码数据的(不相交)子集;在任何时间点,shard 都被分配并存储在单个 SN 上 |
RedStuff | 我们的擦除编码方法,使用两种不同的编码(primary 和 secondary)来实现分片恢复;详细信息请参见 白皮书 |
sliver | 对应于单个 blob 的一个 shard 的擦除编码数据,适用于两种编码之一;这包含该 blob 的几个擦除编码符号,但不包含 blob 元数据 |
sliver 对 | 分片的主 sliver 和次 sliver 的组合 |
blob ID | 从 blob 的 slivers 计算出的加密 ID |
blob 元数据 | 一个 blob 的元数据;特别是,这包含每个 shard 的哈希,以便验证 slivers 和恢复符号 |
(终端)用户 | 任何希望在 Walrus 上存储或读取 blobs 的实体/个人;可以作为 Walrus 客户端本身,或使用 publishers 和 caches 提供的简单接口 |
发布者 | 与 Sui 和 SNs 交互以在 Walrus 上存储 blobs 的服务;为 终端用户 提供一个简单的 HTTP POST 端点 |
聚合器 | 通过与 SNs 交互重建 blobs 的服务,并为 终端用户 提供一个简单的 HTTP GET 端点 |
缓存 | 具有额外缓存功能的 聚合器 |
(Walrus)客户端 | 直接与 SNs 交互的实体;这可以是一个 聚合器/缓存、一个 发布者 或一个 终端用户 |
(blob)重建 | 解码主要 slivers 以获得 blob;包括重新编码 blob 和检查 Merkle 证明 |
(shard/sliver)恢复 | SN 通过从其他 SNs 获取恢复符号来恢复 sliver 或完整 shard 的过程 |
存储证明 | SNs 交换挑战和响应以证明它们正在存储当前分配的 shards 的过程 |
可用性证书(CoA) | 一个 blob ID,其中包含持有至少 shards 的 SNs 的签名,在特定 epoch 中 |
可用性点(PoA) | CoA 提交给 Sui 的时间点,并保证相应的 blob 在其到期之前可用 |
不一致性证明 | 一组带有 Merkle 证明的恢复符号,使得解码的 sliver 与相应的哈希不匹配;这证明了客户端的不正确/不一致编码 |
不一致性证书 | 2/3 的 SNs(按其 shards 数量加权)的聚合签名,表明它们已经看到并存储了一个 blob ID 的不一致性证明 |
存储委员会 | 一个 storage epoch 的 SNs 集合,包括它们负责的 shards 的元数据和其他元数据 |
成员 | 在某个 epoch 中属于 委员会 的 SNs |
存储 epoch | Walrus 的 epoch 不同于 Sui 的 epoch |
可用期 | storage epochs 中指定的一个 blob 在 Walrus 上被认证为可用的时间段 |
到期 | 一个 blob 不再可用并可以删除的结束 epoch;结束 epoch 总是排他的 |
WAL | Walrus 的原生代币 |
FROST | WAL 的最小单位(类似于 SUI 的 MIST);1 WAL 等于 10 亿(1000000000)FROST |