by Molly Mackinlay on 2020-04-28
go-ipfs 0.5.0 is a major step forward on our journey toward a more efficient, secure, and resilient web to preserve and grow humanity’s knowledge.
We’re happy to share that IPFS 0.5.0, the largest upgrade to the IPFS protocol and Public Network yet, is now available. The result of extensive community feedback and rigorous focus, IPFS 0.5.0 offers major performance and reliability updates so that you can distribute content peer-to-peer more efficiently and affordably.
Check out our changelog if you’d like to dive right into the details.
Today’s web is fragile, inefficient, and expensive. It’s built on a client-server model that finds and serves up content based on its location on a particular host — no matter how far away or inaccessible. It is a system that can no longer stand up to the highly dynamic ways we communicate, create, work, consume, and connect.
The distributed web is changing that. IPFS rearchitects the web to work peer to peer, addressing data by what it is instead of where it’s located. In doing so, IPFS powers a resilient and scalable network. Our latest release, IPFS 0.5.0, offers even greater performance and reliability to meet the increasing demands on the web today, as well as into the future.
The IPFS Public Network has experienced substantial growth (scaling 30x in 2019!), bringing new opportunities for IPFS users and the wider InterPlanetary ecosystem. Major deployments and applications that require fast and reliable connectivity have started building on and supporting IPFS:
We worked with these organizations, as well as many active IPFS users and our broader community, to source feedback and identify priorities for this release and the remainder of 2020. With their help, we zeroed in on two major pain points: performance and reliability.
Our performance work centered around content routing, the process of finding and fetching the data you need to load a website, watch a video, or use an app. Now that our distributed network scales to 100,000s of nodes, we need to be much more rigorous about what nodes should participate in routing requests and where we should announce new content to improve overall reliability.
Here are a few of the improvements made in IPFS 0.5.0:
To ensure the reliability of all these large-scale improvements, we created Testground, a new testing tool for peer-to-peer networks at scale. This allowed us to validate and benchmark each enhancement across many network configurations with 1K+ node simulations—increasing development velocity and rigor.
We said this was a major release, after all. 😉 In IPFS 0.5, we also made great progress on the developer tools and security front, including:
Please see our changelog for the comprehensive list of IPFS 0.5.0 updates, as well as our deep dive on all the great things in this release.
With our new testing and release process, IPFS 0.5.0 has already been put to use in a variety of production environments. Here’s how it’s making a difference for IPFS users:
Matt Ober, Pinata: “IPFS 0.5 makes big improvements to Bitswap, which de-dupes data transfer between nodes. This means data providers like Pinata who are transferring a lot of data all around the world every day, can send each block only once and it gets to its destination. That cuts our bandwidth costs down significantly. And, it’s also faster.”
Michael Godsey, Infura: “Our collaboration with Protocol Labs and the latest go-ipfs v0.5 release are essential to our upcoming premium IPFS product release later this year. The upgraded subdomain gateway support greatly improves the security of our offering while helping us support some great new features. The improvements to the DHT and stability of peering allow us to provide an even more reliable product and continue to get IPFS into the hands of decentralized application developers.”
Dr. Ian Preston, Peergos: “What we’ve seen is that an inactive IPFS instance now uses way less bandwidth to maintain the DHT and other background traffic. With IPFS 0.5, this load has gone down by a factor of four: it was about 800 kilobits a second and now it’s 200 kilobits a second. That doesn’t sound like much, but it adds up fast—so this makes a big difference.”
Brendan O’Brien, Qri: “Our engineering time is one of our most valuable resources. We’re now seeing a much more mature version of IPFS, which means we’re able to spend more time on our own code vs our dependencies. It took less than a day to upgrade to IPFS 0.5.0, allowing us to commit more of our engineering time to building and fixing our own things.”
If you’re running IPFS, we highly encourage you to upgrade ASAP to take advantage of all these improvements! Check out our release notes and upgrade how-to to get started today!
There is no way IPFS 0.5.0 could have been our biggest update yet without the help of many contributors. A special thanks to our early testers for this release, especially:
Also, a huge thank you to everyone who contributed patches and improvements in this release, all 98 of you! We couldn’t have made this happen without your help and feedback. ❤
We’d like to know what you think and help answer any questions you may have. Please join us for a virtual meetup on Friday, May 1st, to deep-dive on the improvements in this release and field questions and feedback.
In the meantime, get started by installing go-ipfs or upgrading to go-ipfs 0.5 to see the improvements yourself!
And, of course, there are many other ways to get involved with IPFS based on your skill set, interest, and availability. Please check out our contribution page on GitHub for guidance and next steps.
This is an exciting time for IPFS and the web in general. Join us!