In mid-July, over 80 IPFS implementers and builders gathered in Iceland for the first-ever IPFS þing (opens new window), a weeklong gathering for the IPFS implementers community. Pronounced “thing”, þing is an old Norse word and modern Icelandic word for “council” or “assembly”.
The goals of this event were:
- Advance IPFS implementations in the near and mid term through demos and discussions
- Energize the community by distilling ideas into action plans
- Build relationships through social activities like eating dinner among whales or experiencing sunset for hours on end
- Get out of our comfort zone by thinking big and exploring new concepts such as privacy-preserving content routing and how to imbue IPFS with WASM magical powers.
- Cultivate our community by welcoming newcomers, clarifying pathways for collaboration, and connecting people with shared interests.
# What we learned
The “choose your own adventure” format spanned 12 tracks, with over 60 presenters or facilitators and 120 sessions. Here are some highlights of what we shared and learned.
We’re poised for a Cambrian explosion of IPFS implementations and innovation.
Since its creation in 2014, IPFS has grown to over 250,000 distributed nodes worldwide. It’s the foundation of Filecoin (opens new window), NFT.storage (opens new window), all of the existing IPFS HTTP gateways (opens new window), hundreds of peer-to-peer applications from Audius (opens new window) to WeatherXM (opens new window), and more. Nearly all of this was built with Kubo (opens new window) (formerly go-ipfs), the earliest IPFS implementation. However, the ubiquity of Kubo also exposed the downsides of a single reference implementation.
Projects like Estuary, Elastic IPFS, and Capyloon in the past year have shown us the necessity for multiple IPFS implementations.
Throughout 2021-2022, a handful of new IPFS variants emerged. Each was tailored to a specific set of deployment, platform, or user needs: Estuary (opens new window) for midsized data storage bundled with Filecoin, Elastic IPFS (opens new window) for NFT.Storage and Web3.Storage needs such as horizontal scalability and no DHT re-providing, and Capyloon (opens new window) for mobile, to name a few. Unlocking the next phase of IPFS adoption will require an explosion in availability of choice for businesses and developers. The several new directions we’ve recently seen now need to scale up and mature, and we need dozens more implementations beyond their early steps. Future implementations might design for unique operating environments, compatibility with cloud-native tooling or fast-growing technologies such as WASM.
Building applications on IPFS requires a base set of capabilities.
These include access control, arbitrary metadata, versioning, and mutability. Many app developers face the challenge of re-inventing the wheel by implementing these capabilities on top of IPFS. While UnixFS is a powerful and easy-to-understand abstraction for cutting up your data into files and folders, extending UnixFS as explored by WNFS (opens new window) with this base set of capabilities could help increase app developer productivity.
Content routing is a key component of a highly-performant IPFS network. (Slides (opens new window))
Network-wide targets such as content routing in under 10 ms, free advertising and discovery of data, and scalability to 10^15 CIDs and 10^9 devices will ensure a high baseline for performance. In parallel, we can introduce more nuanced options for peering and routing arrangements since performance requirements can vary drastically depending on the user and context. Some care about throughput, others prioritize overall time to download completion, and so on.
There are many different orgs far beyond Protocol Labs working together in a networked fashion.
While IPFS was initially created at Protocol Labs, many organizations have been critical pillars of the network's evolution and success. Over 30 organizations were represented at this event, from gateway providers, pinning services, and new implementation teams. Sessions such as Native Mobile Working Group (opens new window), Content Addressing Alliance (opens new window), WebNative File System Working Group (opens new window), and Interplanetary Virtual Machine Working Group (opens new window) established new ways of advancing our shared goals.
The new specs improvement process is open for business.
The Interplanetary Improvement Process (IPIP) (opens new window) introduces a lightweight "request for comments/change" process for the IPFS specs (opens new window). This replaces our prior habit of holding IPFS protocol design discussion in the Kubo implementation repo.
Our next gathering is for the entire IPFS community.
This event focused on the implementers community. Next, we want to bring together the entire IPFS community for the first time in several years: users, community members, collaborators – and you! Details will be announced on this blog and in the IPFS newsletter as soon as they’re confirmed.
We want to thank track leaders and event organizers Adin Schmahmann, Brendan O’Brien, Steve Loeppky, Boris Mann, Dietrich Ayala, Evgeny Ponomarev, Hannah Howard, Kacey Huizinga, Jared Hill, Juan Benet, Mikael Rogers, Michelle Lee, Saevar Sigurdsson, Will Scott, and Yuni Graham, as well as every single participant who brought demos, insights, critiques, ideas, and forward momentum to the gathering.
# Recap videos and ongoing discussions
Watch the IPFS þing 2022 videos (full playlist) (opens new window) to experience the event for yourself, or jump to any of the track-specific playlists below. You can also find ongoing discussions in the IPFS Forum (opens new window).
- Opening (opens new window)
- IPFS Implementations (opens new window)
- Aqua and IPFS (opens new window)
- Browsers and the Web Platform (opens new window)
- Building Apps on IPFS (opens new window)
- Connecting IPFS (opens new window)
- Content Routing 1: Performance (opens new window)
- Content Routing 2: Privacy (opens new window)
- Data and IPFS: Models (opens new window)
- Data and IPFS: Transfer (opens new window)
- Data and IPFS: Unconf (opens new window)
- IPFS and WASM (opens new window)
- Measuring IPFS (opens new window)
- Project & Community (opens new window)
- Roadmapping Next Steps (opens new window)