IPFS最大的升级版本IPFS 0.5.0做了哪些改进?

  • Post author:
  • Post category:未分类

本文来源IPFS官方博客有IPFS中国社区编译整理原文地址:https://blog.ipfs.io/2020-04-28-go-ipfs-0-5-0/

go-ipfs 0.5.0是我们向着更高效、更安全、更有弹性的网络保护和增长人类知识的道路上迈出的重要一步。

我们很高兴地分享:IPFS 0.5.0是IPFS协议和公共网络最大的升级版本,现在已经发布了。IPFS 0.5.0是社区的广泛关注和参与的结果,它进行了主要的性能和可靠性更新,使您可以更高效、更经济地进行点对点分发内容。

IPFS 0.5.0对网络意味着什么

今天的网络是脆弱的、低效的和昂贵的。它建立在客户端——服务器模式上,根据特定主机上的位置来寻找和提供内容。这个系统已经无法适应我们的沟通、创造、工作、消费和连接的高度动态方式。

分布式网络正在改变这些状况。IPFS重新架构了网络,使之成为点对点工作,通过数据的内容而不是数据的位置来处理数据。如此一来,IPFS为弹性和可扩展的网络提供了动力。我们的最新版本IPFS 0.5.0版本提供了更高的性能和可靠性,以满足当今以及未来不断增长的网络需求。

社区的反馈

IPFS公共网络经历了巨大的增长(2019年的规模扩大了30倍),为IPFS用户和更广泛的星际生态系统带来了新的机遇。需要快速并且可靠连接的主要部署和应用程序已开始在IPFS基础上构建,并且支持IPFS:

Opera&Brave:Brave开始直接嵌入IPFS Companion扩展(带有内置js-ipfs节点)后不久,Opera成为第一个在Android上提供默认IPFS支持的主要网络浏览器。这意味着世界各地数以百万计的人现在可以直接访问内置在其浏览器中的分散式网络。

Microsoft ION:微软已将IPFS用作内容寻址存储层,为其去中心化身份系统提供动力。

Netflix:我们开始和奈飞合作,将对等服务整合到Netflix开发人员工具中,以加快其构建管道中的容器映像分发速度。

Cloudflare:Cloudflare运行分布式Web网关,可方便、快速、安全、高效地为托管在IPFS上的内容提供服务。

我们与这些组织以及活跃的IPFS用户开展了更广泛的社区合作 ,收集反馈并确定本版本和2020年剩余时间的优先级。在他们的帮助下,我们确定了两个主要的痛点:性能和可靠性。

IPFS 0.5.0中的性能和安全性升级

我们的性能工作围绕内容路由,即查找和获取加载网站、观看视频或使用应用所需的数据的过程进行。现在,我们的分布式网络可扩展到100,000个节点,我们需要更加严格地确定哪些节点应参与到了路由请求中,以及在何处宣布新内容以提高整体可靠性。

以下是IPFS 0.5.0中所做的一些改进:

更快的内容发现:得益于DHT逻辑的重大改进,IPFS 0.5.0使网络中查找和共享数据的速度大大提高。更高效的路由和提供(速度快2-3倍)、降低了带宽使用率和后台流量。我们还更新了实验性QUIC传输,以减少连接延迟和往返次数,目的是使其成为下一个版本的默认配置。

更快的文件传输:我们加快了文件传输机制Bitswap的速度,以使许多节点之间的数据能够更快共享。阅读更多关于我们如何与Netflix合作,以及如何进行基准测试和压力测试的更多信息!

更快的文件添加:现在,使用Linux和MacOS上的Badger数据存储将文件添加到IPFS网络的速度提高了2倍。Huzzah用于异步写入!我们还配置了Badger以使用更少的内存。

更快,更可靠的可变链接:行星际名称系统(IPNS)是我们用于为内容地址创建可变链接的系统,现在提供了更快的命名查找,并具有新的实验pubsub传输来加快记录分配。在1K节点网络仿真中,提供IPNS记录的速度现在快30-40倍!

为了确保所有这些大规模改进的可靠性,我们创建了Testground,这是一种用于大规模对等网络的新测试工具。这使我们能够在许多网络配置中通过1K以上的节点模拟来验证和测试每一个改进,从而提高了开发速度和严谨性。

还有更多

毕竟,这是一个重要版本。IP在IPFS 0.5中,我们在开发人员工具和安全方面也取得了长足的进步,包括:

对安全性和加密协议的更广泛支持:IPFS现在默认使用传输层安全性(TLS),这是一种用于传输安全性的开放标准,默认情况下可帮助维护客户端和服务器之间的安全连接。

开发人员体验改善:IPFS 0.5.0支持许多现有工具和工作流程,从而使更多开发人员可以使用分散的功能。更新包括:

HTTP网关中的子域:开发人员现在可以将dapp(分布式应用)放置在隔离的来源中,以保护其应用和Web内容的安全。这适用于哈希,IPNS,DNSLink,ENS和其他。

/ ipfs / peer_id→/ p2p / peer_id:现在,我们使用/ p2p /来消除ipfs文件与对等地址的歧义。

.eth链接支持:默认情况下支持基于区块链的.eth链接,从而进一步向分散的应用程序开发人员开放IPFS(即将支持更多分布式TLD)。

请参阅我们的变更日志以获取IPFS 0.5.0更新的全面列表,以及我们对该版本中所有重要功能的深入了解。

IPFS 0.5.0的意义

通过我们新的测试和发布过程,IPFS 0.5.0已经在各种生产环境中投入使用。这将使IPFS用户有所作为:

Pinata的Matt Ober:“ IPFS 0.5对Bitswap进行了重大改进,从而消除了节点之间的重复数据删除。这意味着像Pinata这样的数据提供商每天在世界范围内传输大量数据,每个块只能发送一次,然后到达目的地。这大大降低了我们的带宽成本。而且,它也更快。”

Infura的Michael Godsey:“我们与Protocol Labs的合作以及最新的go-ipfs v0.5版本对于我们今年晚些时候即将推出的高级IPFS产品至关重要。升级后的子域网关支持大大提高了我们产品的安全性,同时帮助我们支持了一些很棒的新功能。DHT的改进和对等连接的稳定性使我们能够提供更加可靠的产品,并继续使IPFS进入分散式应用程序开发人员的手中。”

Peergos的Ian Preston博士:“我们已经看到,一个不活动的IPFS实例现在使用更少的带宽来维护DHT和其他背景流量。在IPFS 0.5下,此负载下降了四倍:每秒大约800 kb,现在每秒200 kb。听起来不算多,但总起来很快,所以差异很大。”

Qri的Brendan O'Brien:“我们的工程时间是我们最宝贵的资源之一。现在,我们看到了IPFS的成熟版本,这意味着我们可以花更多的时间在自己的代码上而不是依赖上。升级到IPFS 0.5.0花费了不到一天的时间,使我们可以将更多的工程时间用于构建和修复自己的东西。”

如果您正在运行IPFS,我们强烈建议您尽快升级以使用这些进行改进!查看我们的发行说明,并立即升级!

谢谢您们

没有贡献者的帮助,IPFS 0.5.0不可能是我们最大的更新版本。特别感谢我们的早期测试人员发布了此版本,尤其是:

@MichaelMure(Infura)

@carsonfarmer

@ b5(Qri)

@ obo20

@ianopolous(Peergos)

@postables(RTrade)

@meeDamian

@pataquets

此外,非常感谢在本发行版中贡献补丁和改进的所有人,所有人都非常棒!没有您的帮助和反馈,我们不可能做到这一点。

如何参与

我们想知道您的想法,并回答您任何问题。请参加我们于5月1日(星期五)举行虚拟会议,以深入探讨此发行版中需要改进的问题,以及现场的反馈。

同时,开始安装go-ipfs或升级到go-ipfs 0.5即可自己查看进度!

当然,根据您的技能,兴趣和可用性,还有许多其他方法可以参与IPFS。请查看我们在GitHub上的页面以获取指导和后续步骤。

对于IPFS和整个网络来说,这是一个令人兴奋的时刻。欢迎您加入我们!

发表评论