IPFS
The InterPlanetary File System (IPFS) is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open. IPFS is an open source project developed by the IPFS Community and many contributors from the open source community.
IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In some ways, IPFS is similar to the Web, but IPFS could be seen as a single BitTorrent swarm, exchanging objects within one Git repository. In other words, IPFS provides a high throughput content-addressed block storage model, with content-addressed hyperlinks. This forms a generalized Merkle DAG, a data structure upon which one can build versioned file systems, blockchains, and even a Permanent Web. IPFS combines a distributed hash table, an incentivized block exchange, and a self-certifying namespace. IPFS has no single point of failure, and nodes do not need to trust each other.
IPFS stack
- IPNS is the IPFS naming system based on the Self-certifying File System.
- IPLD - allows us to treat all hash-linked data structures as subsets of a unified information space, unifying all data models that link data with hashes as instances of IPLD. IPLD is the data layer for IPFS, and IPFS is the blockstore for IPLD.
- LibP2P - handles routing and peer-discovery in a transport-agnostic way
- Orbit DB uses CRDTs (conflict-free replicated data types) to achieve immutability inside the IPFS append-only system.
- IPID - DIDs on IPFS