Libp2p ist ein modularer Netzwerkstack mit Protokollen, Librarys und Spezifikationen für Peer-to-Peer (P2P)-Anwendungen und -Systeme, der es Entwicklern ermöglichen soll, Plug-and-Play-Netzwerke in ihren verteilten Anwendungen zu nutzen. Das System begann als Netzwerkschicht für InterPlanetary File System (IPFS), entwickelte sich aber später zu einem eigenen Projekt. Es wurde entwickelt, um Probleme im Zusammenhang mit dem Datentransport, der digitalen Identität, der Sicherheit, dem Routing, der Entdeckung von Inhalten und anderen Anwendungen zu lösen. Es gibt Implementierungen in JavaScript, Go, Rust, Python und C++. Das Polkadot-Team hat zum Beispiel eine eigene Rust-Implementierung von libp2p entwickelt, die mit Polkadot und Substrate zusammenarbeitet.