随着 BABE 迁移推进至质量保证阶段,Hoskinson 的 Umbra 原型瞄准 Midnight 恢复

这一实验性数据存储旨在在 Cardano 和 Midnight 的基础设施栈中保留钱包、节点和索引器状态。Midnight 的公共节点代码库另行显示,从 Aura 向 BABE 的共识迁移正推进于质量保证阶段。

By SongMarketCap

Updated:

Cardano News - 随着 BABE 迁移推进至质量保证阶段,Hoskinson 的 Umbra 原型瞄准 Midnight 恢复

Charles Hoskinson 正在测试 Umbra,这是一种实验性的持久化数据存储,旨在简化 Cardano 和 Midnight 所用基础设施的恢复。该原型在一份由 Cardano News 审阅的技术性 X Space 文字记录中得到介绍,并与他在未来 Cardano 与 Midnight 跨链桥架构方面的工作相关。另据 Midnight 的公共节点代码库显示,官方的 Aura 向 BABE 的共识迁移正处于质量保证阶段。

Midnight 的同步通过 Cardano DB Sync 进行

Midnight 是一条 Cardano 合作链,面向将公共区块链验证与受保护数据相结合的应用。开发者可以在 Midnight 上构建应用,其中零知识证明支持选择性披露、私有计算和面向合规的工作流,同时其公共代币层包含 $NIGHT。

Hoskinson 描述了一套本地基础设施流程,起始于一个 Cardano 全节点,随后运行 cardano-db-sync,然后需要一个 Midnight 节点,最后是一个 Midnight 索引器。该流程与 Midnight 的运维文档一致。

这份 Midnight cardano-db-sync 指南 将正在运行的 Cardano 节点列为前置条件,并指出 cardano-db-sync 使用 PostgreSQL 将区块链数据索引到关系型模式中。该指南还称,在 van Rossem 升级之后,数据库必须针对 Cardano Node 11.0.1 进行重放,而不能被视为简单的二进制替换。

文档还指示运维人员等待 cardano-db-sync 达到至少 99 百分比的同步后再继续。随后,Midnight full-node 指南 要求在启动 Midnight 节点之前,需具备可访问的 cardano-db-sync 实例和 PostgreSQL 端口。

这一运行模型解释了为何恢复层对开发者和节点运维者很重要。本地的 Midnight 环境并非一次性重启单个二进制即可。它依赖多个同步的服务,Cardano 链数据、数据库状态、Midnight 节点数据以及已索引的应用数据都需要保持一致。

Umbra 原型聚焦可恢复的状态

Umbra 尚未被列为已发布的 Midnight 产品。它是 Hoskinson 用于存储与恢复钱包、索引器、交易历史及相关基础设施组件所需状态的原型。

据该文字记录,原型正围绕已保存状态、检查点、回滚与前滚处理、关机后的冷恢复、安全连接,以及从先前存储的记录重建节点与索引器数据等能力进行设计。Hoskinson 计划的测试是先完成环境同步,删除现有的 Midnight 节点与索引器数据,然后尝试从 Umbra 重建二者。

后续版本可能会加入自验证的检查点。Hoskinson 描述了一种模型,其中零知识证明将确认检查点代表有效状态,从而降低对分发快照一方所需的信任程度。

他还将可能的分发层与 Mithril 进行类比。Cardano 的 Mithril 文档 描述了一种基于权益的多重签名协议,该协议生成经认证的区块链快照,以支持更快的 Cardano 节点同步与状态验证。Umbra 或可将相关理念应用于 Midnight 的状态,不过目前尚未公布实现计划或正式发布日程。

Hoskinson 估计初始版本可能还需要两到三天的集中开发,前提是完成同步与恢复测试。他还表示,该项目在成为生产级基础设施之前,需要后续的产品化、审计工作以及更广泛的开发者参与。

Aura 向 BABE 的迁移仍处于 QA 阶段

Midnight 也在为其共识基础设施准备另一项变更。Hoskinson 将 Aura 描述为当前的过渡性出块机制,而 BABE 则是面向去中心化运行的更长期模型,GRANDPA 继续提供最终性。

这项工作可在 Midnight 的公共节点代码库中看到。这个开放的 Aura to BABE 议题 描述了一个新的 pallet-consensus-engine,负责双引擎状态机以及从 Aura 到 BABE 的自动切换。该议题开启于 6 月 23 日,目前标注为 “QA in progress”。

该工作流包含用于 Aura 或 BABE 的 ActiveEngine 标志、受治理控制的迁移设置、已存储的过渡时隙,以及在记录的 BABE 纪元边界处自动切换。该议题还指出,切换必须推迟到 GRANDPA 至少最终确定一个注入区块之后,并且单元测试必须覆盖状态转换。

公开议题中仍列有两项依赖:纪元边界绑定与验证者委员会筹备。该议题在 GitHub 公开视图中未显示里程碑,也没有关联的分支或拉取请求。

对于运维人员和应用团队而言,可部署的基础设施路径依旧是文档所述的顺序:Cardano 节点、cardano-db-sync、Midnight 节点与索引器。具体的工程检查点比更广泛的路线图更为收敛:一项可复现的 Umbra 恢复测试,以及在 BABE 能够在 Midnight 节点中取代 Aura 之前所需的纪元边界与委员会相关依赖的完成。对于 $NIGHT 的基础设施,这两条路径都指向同一运营目标,更快速地恢复可用的链状态,并从过渡性出块走向网络所期望的共识模型且路径可控。