此项目旨在扩展 Constantine (Nim 语言实现的 KZG) 以包含 PeerDAS 功能和纠删码,并将其集成到 Nimbus 客户端后端。目标是实现 EIP7594 的 polynomial-commitments 共识规范函数,并提供 Constantine 的实现作为 Nimbus 客户端的后端选项。面临的挑战包括集成 Constantine 库和性能优化。
在 Nim 中扩展 Constantine 的 KZG 实现,以包括 PeerDAS 功能和纠删码,这将进一步集成到 Nimbus 客户端后端中。
PeerDAS 以点对点的方式,在没有中间信任方的情况下,帮助解决数据可用性问题。它是实现 danksharding 的组件之一,这将降低 rollup 的交易成本,并扩展以太坊的 TPS(每秒交易数)。除此之外,它也是开发不需要存储大量历史数据的极轻量级客户端(“无状态客户端”)所必需的。我将能够为以太坊的最新发展做出贡献,并深入理解该协议。
验证者需要数据可用性抽样来快速有效地验证 blob 数据。通过 DAS,验证者可以非常确定 blob 数据是可用的并且已正确提交。每个验证者可以随机抽取几个数据点并创建一个证明,这意味着没有验证者必须检查整个 blob。如果缺少任何数据,它将被快速识别并且 blob 将被拒绝。
拟议的项目是在 Nim 中实现与 peerDAS 相关的密码学,该密码学可以无缝集成到 Nimbus 客户端中。该实现将提供高效且安全的纠删码原语,从而可以优化 blob 数据验证和数据重建。它的实现将是模块化的,并且还将确保与 Constantine 的现有代码库兼容。它将与 Nimbus 团队合作实现并集成到 Nimbus 客户端中,并将经过彻底的测试以确保其满足共识测试要求。
第 5-6 周:在本地实现与多项式承诺相关的密码学,以熟悉 Nim 语言并理解 Constantine 的编码风格。
第 6-12 周:实现多项式承诺规范并编写测试。
第 12-13 周:使用 rust 实现对多项式承诺规范的实现进行基准测试。识别并研究性能瓶颈,并尝试并行化实现以进行优化。
第 13-14 周:了解 Nimbus 客户端的编码风格和架构,并与导师讨论 peerdas-p2p 分支以及将其 rust 实现作为后端的集成状态。
第 14-19 周:集成 constantine 的密码学作为 peerDAS 功能的后端并对其进行基准测试。
第 20 周:准备关于已完成工作的最终更新和演示文稿。
该项目可能面临以下挑战:
这个项目的目标是在 constantine 的 Nim 中实现 EIP7594: polynomial-commitments
共识规范函数,以及其所需的测试和基准。此外,尝试在 Nimbus-eth2 客户端中集成完整的 EIP-7594,并提供 Constantine 的实现作为后端选项。
- 原文链接: github.com/eth-protocol-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!