Libra发展路线图 #1 全文解读
本文来自 developers.libra.org,作者:Libra Association
星球日报译者 | Moni
自从今年六月 Libra 数字货币白皮书发布以来,虽然引发了很多政府和监管机构的关注,但开发人员社区的反应却令人激动。到目前为止,开发人员已经发布了多个区块链浏览器,比如 Libranaut、Libraview、Librabrowser、以及 Libexplorer 等;有的项目还把 Libra 测试网整合到了他们的钱包里,比如 ZenGo。此外,我们还看到了其他区块链项目将 Move 编程语言集成到了自己的系统中,比如 Solana。
Libra 数字钱包开发公司 Calibra 一直致力于在 GitHub 上开发 Libra Core,该团队还发布了两个全新指南:一个用于在本地运行的 Move 应用程序,还有一个用于显示如何运行自己的网络。Libra Discourse 论坛上对很多话题展开了讨论,包括交易脚本、客户端开发、以及其他各种各样的 Libra 活动。
稳定的技术开发进展、以及公开透明的对话,是开发人员对 Libra 项目越来越感兴趣的两个关键要素。随着 Libra Core 一步步向主网迈进,其发展路线图也有了一系列更新,下面就让我们一起来看看吧。
上图:Libra 主网里程碑
超越测试网
Libra 之所以要启动测试网,主要目的就是为了使开发团队可以更轻松地排除故障、诊断并解决软件边缘性问题,从而快速改进 Libra Core。测试网具有一系列 Libra 网络功能,也为开发人员提供了早期访问服务。
继测试网推出之后,Facebook 一直希望能够成功启动 Libra 主网,因此选择了一种追踪项目是否成功的方法:让不同的合作伙伴来管理自己已经部署了多少个节点。Libra 主网的最终目标是让所有合作伙伴在网络上部署节点,每个节点都将在内部部署和云托管基础结构相结合的混合模式下运行。Facebook 认为,这种多样性的基础设施将为 Libra 网络提供更大灵活性。
在第一个里程碑阶段,Lirba 协会预计将邀请 5 个合作伙伴在网络上部署完整节点,并且会在第四个里程碑阶段推出 Libra 主网,Libra 协会预计届时会有 100 个合作伙伴运行 Libra 节点。
GitHub 更新
为了更好地帮助合作伙伴追踪开发进度,Facebook 添加了包含所有主要工程优先级的 Kanban 看板(可视化任务板),让合作伙伴可以 GitHub 上追踪路线图的发展进度。
像许多开源项目一样,贡献者必须按照已签署的“贡献者许可协议(CLA)”为项目做出贡献,Facebook 也会审查一些服务选项以简化现有的手动贡献者许可协议批准流程。
当前的开发过程会强制执行高级别的代码质量,因此 Facebook 选择了代码测试工具 Homu,它是一款开源机器人,可以与 Libra 持续集成/持续部署(CI / CD)系统配合使用,以确保测试工作始终能通过。Libra 的测试机器人 @bors-libra 会在 PR版本和其他 PR 合并之后版本之间不断验证测试是否通过,合作伙伴可以看到在 PR 版本是发出标记机器人的命令,然后就会启动执行工作。如果想要不断测试“绿色”大型项目,通常需要使用机器人来管理整合工作,另外通过执行分支保护,也会为 Libra 项目再增加一层安全性,不过如果要对受保护分支进行更改,则智能由机器人来执行。
Libra 工程团队已经开始在 GitHub 上发布了设计说明,如果合租伙伴正在寻找参与方式,或是希望追踪某个 Libra 特定功能并提供反馈,那么可以浏览 Libra 项目在 GitHub 上的问题页面。
Libra 正在努力提供更清晰、更丰富的解决方案,帮助合作伙伴长期参与项目。另外,通过及时发布项目路线图、更新高优先级工作的状态,可以为合作伙伴提供指导,并加深对 Libra Core 功能的了解。
冲刺开发
自 Libra 项目启动以来,其工程团队用了 60 天时间冲刺完成了 Libra Core 的规划和开发工作,每项冲刺工作都有一组按照优先级排列的工作。对于 Roadmap #1,Libra 团队更专注于安全性和可靠性,同时致力于将更多合作伙伴整合到即将发布的 Libra 主网中。
Roadmap #1 当前进度
Libra 团队将继续完成所有优先功能的设计工作,并且要在“全节点”之类的功能上取得良好的进展。此外,Libra 还在努力定义节点重新分配的规范,该规范会在 Libra 协议定义被最终确定之前生效。
Libra Core
1、寻址/互操作
多个钱包之间的互操作性是 Libra 网络成功的关键,Libra 团队正在努力开发一种简单的解决方案,以支持向子账户发送资金(或从子账户发送资金)。
2、全节点
Libra 区块链将由支持不同配置的独立节点类型(single node type)组成,这将允许该节点充当存储验证人或非验证节点完整历史记录的全节点。Libra 开发团队还在努力让验证人更轻松地升级全节点,反之亦然。
3、Libra 协议定义
Libra 团队正在努力定义应用程序接口(API)、Wire 规格、寻址/互操作性、以及其他协议依赖性。
4、验证人重新配置
验证人集合(validator set)包含了系统内活跃的验证人唯一标识。随着时间的流逝,验证人集合需要支持更改。从区块链系统的角度来看,更改验证人集合会影响每个组件。共识需要重新验证区块、网络需要重新配置、存储需要不断保存账本信息(LedgerInfo)、客户端也需要一种在验证人变更期间验证读取数据的解决方案。
5、Waypoints
Waypoint将为客户提供有关区块链历史的外部信息源。
6、TCB(可信计算库)
可信计算库(Trusted Computing Base)至关重要,因为它定义了对系统安全性和稳定性的组件子集,最大限度地减少对关键硬件组件和软件组件的依赖性,有助于避免出现意外错误和恶意攻击。
7、序列化
Libra 团队正在寻求实现明确的序列化,旨在验证人节点之间共享 RawTransactions。
Move
1、Events
2、集合/泛型
实现载体并探索其他支持的集合类型。
3、Libra 团队在 Github 上发布了 #597,它解封了对验证人集合的管理,验证程序中还有其他一些工作来支持此操作,这也是保证正确性的一部分。
Libra Pre-Mainnet
随着 Libra 项目朝着主网里程碑迈进,有必要一边让测试网继续运行,一边让更多节点联机。为了实现这项工作,Libra 团队创建了一个称为“Pre-Mainnet”的暂存主网环境。现阶段,只有合作伙伴节点可以访问 Pre-Mainnet,并允许它们彼此连接。少数合作伙伴已经部署了节点,彼此之间也可支持通信。Libra 预计不久之后会有更多合作伙伴上线,并确保 Libra 网络在正式打开访问全新之前可以满足严格的性能基准和整体系统稳定性要求。
就让我们拭目以待吧。