Protocol Labs Research
2021-04-06 / Tutorial
ResNetLab on Tour

Join us to learn everything about IPFS’s content addressing and content routing subsystems, its content exchange strategies, and how IPFS deals with dynamic, mutable content.

Watch the tutorials to acquire all the background you need in order to start your project on IPFS and the Web 3.0 stack and get involved in the discussion.

All the material on this page is free to use for your own course, talk, or university module.

Core modules

Welcome to Web 3.0

Web 3.0 joins blockchains, the semantic web, and the distributed web in one package that will revolutionize the way we do networking! In this module, you’ll hear about:

  • Issues facing Web 2.0 and motivation for Web 3.0
  • IPFS and its role in Web 3.0
  • Exciting projects in the IPFS ecosystem

Learn more
Content addressing

Learn all about the most foundational principle of the IPFS architecture: content addressing and IPFS’s content identifier (or CID). In this module, you’ll hear about:

  • How IPFS addresses files
  • How IPFS transforms files into Merkle DAGs
  • The detailed anatomy of a CID

Learn more
Content routing

The content routing system of IPFS is the part of the architecture that discovers content in the network. It is a key part of the architecture, and the one with the largest number of open research questions. In this module, you’ll hear about:

  • IPFS’s content routing architecture
  • The settings and algorithmics of IPFS’s DHT
  • IPFS’s gossip-based content routing approaches

Learn more
Content exchange

Almost there! You’ve learned how IPFS addresses and discovers content and, with this, your client is ready to receive its first bits over the IPFS network! In this module, you’ll understand:

  • Content exchange with Bitswap and GraphSync
  • The protocols' message types and workflows

Learn more
Mutable content

This module answers all your questions on how IPFS can be used for dynamic real-time applications. In this module, you’ll hear about:

  • How to reason about dynamic data on IPFS
  • IPNS, the simplest construction for naming in IPFS
  • PubSub and subsecond latency for interactive apps
  • CRDTs for distributed applications
  • Ecosystem tooling and existing applications

Learn more

Elective modules

The modular P2P networking stack

libp2p is the Web 3.0 framework of choice for decentralised process addressing. In this module, you will hear about libp2p’s modular and composable building blocks for P2P networking applications and innovation, which include:

  • Transport and pubsub protocols
  • Multiplexers
  • Secure channels and NAT Traversal
  • Peer discovery, content routing, and peer routing

Learn more
InterPlanetary Linked Data

InterPlanetary Linked Data (IPLD) is the data layer for content-addressed systems and the Web 3.0. It is a suite of technologies for representing and traversing hash-linked data. In this module you’ll understand:

  • Why IPLD exists
  • Merkle DAGs and Merkle Roots
  • The relation of IPLD to IPFS
  • How to use IPLD for a distributed data structure

Learn more
Beyond Bitswap

Bitswap is the primary content exchange protocol of the IPFS network. In this module we’ll talk about opportunities to improve Bitswap through:

  • Compression
  • WANT message inspection
  • Multi-hop content discovery

Learn more
drand - the distributed randomness beacon

drand is a distributed randomness beacon. It provides publicly-verifiable, unpredictable, and bias-resistant random numbers as a public service. In this module, we’ll walk through:

  • Threshold Cryptography & Randomness
  • Distributed Key Generation in drand
  • The Setup and Randomness Generation Phases
  • The League of Entropy

Learn more

See where we’ve been!

We started our tour in 2019 and quickly adapted to virtual delivery in 2020. See all the events that we participated in and check the blogposts that we published afterwards to find detailed answers to the questions we received after our talks!

Read the blog

We're averaging one event per month. So far, we’ve been at more than 10 events!

We'd love to see you live!

We can deliver the course to your lab live with extra features, plenty of time for Q&A, and a top-notch hands-on component! Just fill in the form.

Get in touch

Get involved!

Ask your question, submit your protocol improvement idea, or just let us know about related projects you're working on through our Github Discussion Forum.

Get involved