LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > IPFS官方升级DHT方案,提升网络整体性能

IPFS官方升级DHT方案,提升网络整体性能

2020-05-21 东方智谷科技 来源:火星财经

4 月底,官方发布了迄今为止最大的 go-ipfs 更新:IPFS 0.5.0。此升级为 IPFS 带来了主要的性能和可靠性改进,尤其是在内容发现和路由方面。这些收益很大程度上是通过官方对分布式哈希表(DHT)的改造而实现的,该哈希表为 IPFS 公共网络中的大多数对等和内容发现提供了支持。

官方希望重新编写 DHT 的整个过程,从确定根本问题到如何设计解决方案,以确保它在实践中起作用。官方的工作带来了重大的性能提升,并带来了新的开发流程和 Testground,这是用于大规模网络测试的全新工具。

什么是DHT?

DHT或分布式哈希表,就像一个 IPFS 目录和导航系统,帮助网络跟踪和查找数据。常规哈希表是一个键值存储,其中的键被散列并存储在一个位置。对于 IPFS,键是数据块的内容标识符(CID),值是具有每个块的对等体的集合。

DHT 在整个网络中许多节点或对等点的小表中分发和存储这些键对和值对。同行则存储有关在何处物理定位特定内容的信息。官方的 DHT 实施 Kademlia 帮助跟踪哪些节点正在向网络中的其他节点提供哪些数据。

从理论上讲,DHT 应该使在节点之间查找,提供和获取数据成为精心策划且非常有效的事情。但是,在现实情况下以及快速扩展的网络中,事情可能会出错。

回顾

去年,IPFS 公共网络实现了可观的增长,迅速扩展了 30 倍,现在有数十万个节点加入该网络!大型软件部署和新的分散式应用程序随即出现,并期望具有可匹配的可靠性和性能的生产就绪型网络。许多人将 IPFS 用作分散的 CDN(内容交付网络),以在网络上共享和查找内容。不幸的是,由于无法将对等方路由到所需内容的新节点激增,网络使其中一些用户瘫痪。

在 2019 年初,官方开始听到有关内容路由问题的传言,随着越来越多的节点通过 Q1 和 Q2 加入网络而加剧了这种情况,其中许多节点位于家庭防火墙或 NAT 之后。官方不断地引导和修补网络,以补救性能和可靠性问题。但是,在这些补丁投入生产之前,官方无法真正测试它们的功效(或真正诊断出任何退化),因此很难进行迭代并尝试对网络配置进行更大的修复。

官方的第一步是去进行彻底调查,以确定首先应确定哪些解决方案的优先级,并确定成功进行变更所需的工具。

缩小范围

经过一些调查,很明显,官方的 DHT 实现,加上最近不可拨号节点的增长,是内容路由缓慢、不可靠的原因。官方在IPFS营地时,有机会一起深入地调查这个问题,并发现了几个问题领域:

* 对等可用性:当新的对等节点加入网络后,官方将它们同等对待,但是实际上无法到达大多数对等节点,因为它们位于防火墙或 NAT 之后。DHT 查询时间浪费在尝试拨打从未收到请求的对等方上。

* 查询终止:即使在 DHT 查询达到其目标之后,它也没有停止,它继续查询其他对等点以确保它已达到目标。虽然对网络中的许多新的不可删除节点具有鲁棒性,但此过程非常耗时。

* 路由表维护:路由表被许多无法拨号的对等点所阻塞,导致搜索在查询的对等点数量上线性变化,而不是预期的对数规模效率。

集中精力

通过这一分析以及、核心用户和社区的综合反馈,很明显,官方需要磨练内容路由性能,将其作为 IPFS 项目的核心重点。

这意味着要对优先级进行一些艰苦的呼吁:将工作组集中在 DHT 和路由逻辑的目标改进集上,以确保解决了这些基本的性能和可靠性问题。反过来,官方调整了产品路线图并成立了新的核心工作组,其中一个小组严格关注内容路由,另一个小组致力于新的测试基础架构:Testground。

测试、测试、测试

官方从早期的补丁中得知,他们规模的网络需要能够在接近实际的环境中测试更改,以便能够快速可靠地进行改进。官方拥有进行单元测试和小型仿真的能力,可以证明基本的调整,但是没有办法复制成千上万个节点或典型的网络配置来对主要变更进行基准测试。这使官方在变更付诸实践之前没有关于变更真正影响的真实数据。

为了成功纠正 DHT,官方必须迅速改变这一点。官方成立了一个工作组来弥补这一差距。于是Testground 诞生了。Testground 是一个用于大规模测试,基准测试和模拟分布式和对等系统的平台,使官方能够验证所需的修复程序,并在 IPFS 0.5.0 启用之前对广泛的 DHT 更改进行压力测试。

Testground 在 DHT 重写中为官方提供了进行数据驱动的开发的工具。它还在 IPFS 0.5.0 版本的其他部分为官方提供了帮助:例如对新的潜在解决方案进行原型制作,相互比较潜在的修复程序以及对边缘情况和升级过程进行压力测试。Testground 的可重复性和自省性对于加快官方的开发速度以可靠地改善 IPFS 至关重要。

随着 Testground v0.5 的发布,官方很高兴与其他人共享此工具以及对他们的 p2p 网络进行基准测试和评估。

现在来“修复”

使用 Testground,官方可以对 DHT 问题进行基准测试和量化,这些问题涉及对等方可用性,查询终止和路由表维护。官方从对现有网络的仿真开始,展示了官方先前的查询逻辑如何与不断发展的网络参数进行交互,就像许多节点不可撤销一样。

Testground 允许官方调整这些参数,以衡量哪些更改将对网络性能产生最大影响。当官方在 1 月份召开研究峰会以比较潜在缓解措施与持续存在的网络挑战时,官方现在获得了对网络结构和工具的定量了解,可以立即对官方的讨论进行原型化并检验所得出的假设。

随后是测试计划编写,以测量实际网络环境中 DHT 逻辑的每次更改。官方测试了新系统,以诊断无法删除的对等方并将其从路由表中删除,测量了成功率,以便更早地结束查询,甚至重新确定了对 Bitswap 的改进以寻找其他改进。在所有这些重构过程中,官方都能通过 Testground 仿真以及一些放置良好的节点不断验证这些更改的性能,以针对整个公共网络运行基准测试。

从发现社区中的问题,到确定潜在的解决方案,构建测试工具,从过去的研究中学习以及执行所需的技术修复,这次发布无疑使官方步入了新的步伐。

来源:IPFS Blog

本文基于CCO协议编译

本文来源:东方智谷科技
原文标题:IPFS官方升级DHT方案,提升网络整体性能

—-

编译者/作者:东方智谷科技

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...