核心参考: Walrus Whitepaper v2.0 (Section 3.3 - Handling Metadata) 引言:存储的隐形成本 存 1GB 的电影不难,难的是存 10 亿个 1KB 的小文件。 在分布式系统中,管理“文件在哪里”、“哈希是多少”这些元数据(Metadata),往往比存储文件本身更消耗资源。如果处理不好,元数据会让网络拥堵不堪。 一、 线性 vs 二次方程 在传统的 Reed-Solomon 编码中,每个节点都需要知道所有其他节点的切片哈希,这导致元数据的开销是 Quadratic(二次方级) 的。随着节点数量增加,元数据会呈指数级爆炸。 Walrus 的 Red Stuff 算法引入了一个巧妙的优化: "Storage nodes maintain an encoded version of the metadata... reduces the overhead to a constant per node." (Page 5) 节点不需要存储完整的元数据树,只需要存储跟自己相关的“元数据切片”。 二、 向量承诺(Vector Commitments) Walrus 使用 Vector Commitments 来压缩证明。 白皮书提到,用户不需要上传所有的哈希,只需要上传一个承诺(Commitment)。 "The client creates a commitment over the list of these sliver commitments, which serves as a blob commitment." 三、 Sui 的高性能元数据引擎 最关键的是,Walrus 把元数据扔给了 Sui。 由于 Sui 的 Object 模型可以并行处理海量的小对象,Walrus 巧妙地避开了存储网络最头疼的“小文件元数据风暴”。这使得 Walrus 不仅能存大文件,也能高效处理海量小文件。
核心参考: Dusk Whitepaper (Section 3.6) 引言:去中心化网络的至暗时刻 如果有一天,全球大规模断网,或者绝大多数验证节点(Provisioners)突然离线,Dusk 网络会停摆吗? 大多数区块链在节点参与度过低时会陷入停滞(Liveness Failure)。但 Dusk 在设计之初就考虑到了这种极端情况,引入了 Emergency Mode(紧急模式)。 一、 什么时候触发紧急模式? 根据白皮书 Section 3.6,SA 共识协议依赖于迭代(Iterations)来达成共识。 "In such situations, after a certain threshold of failed iterations (currently set to 16), the SA protocol transitions into emergency mode." 当网络连续 16 次尝试出块都因为“找不到人”或“无法达成法定人数”而失败时,协议会自动判断:网络出大事了。此时,常规的超时机制(Timeouts)被禁用,网络进入一种“不死不休”的状态。 二、 开放迭代(Open Iteration) 在紧急模式下,协议不再强制要求按顺序完成步骤。 "Iterations continue indefinitely until a candidate block is generated and a quorum is achieved." 这意味着节点会不断地尝试发起新的投票,直到有一组幸存的节点能够凑齐法定人数。这就像是在茫茫大海中,幸存的船只不断发射信号弹,直到找到彼此。 三、 紧急区块(Emergency Block) 如果情况糟糕到连一个普通的候选区块都产生不了怎么办? Dusk 还有最后一招:紧急区块。 这是一个特殊的空区块(Empty Block),不包含交易,只包含新的随机数种子(Seed)。 "The block is created if requested by a set of provisioners holding the majority of the total stake in the network." 它的作用是“重启”随机数生成器,让网络跳过当前的死循环,进入下一个 Epoch。这保证了即使在灾难性故障下,Dusk 也能自我恢复,保持活性。 @Dusk $DUSK #Dusk