|
| 1 | + |
| 2 | + IPFS -- Inter-Planetary File system |
| 3 | + |
| 4 | +IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas |
| 5 | +from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bit- |
| 6 | +torrent swarm, exchanging git objects. IPFS provides an interface as simple |
| 7 | +as the HTTP web, but with permanence built in. You can also mount the world |
| 8 | +at /ipfs. |
| 9 | + |
| 10 | +IPFS is a protocol: |
| 11 | +- defines a content-addressed file system |
| 12 | +- coordinates content delivery |
| 13 | +- combines Kademlia + BitTorrent + Git |
| 14 | + |
| 15 | +IPFS is a filesystem: |
| 16 | +- has directories and files |
| 17 | +- mountable filesystem (via FUSE) |
| 18 | + |
| 19 | +IPFS is a web: |
| 20 | +- can be used to view documents like the web |
| 21 | +- files accessible via HTTP at `http://ipfs.io/<path>` |
| 22 | +- browsers or extensions can learn to use `ipfs://` directly |
| 23 | +- hash-addressed content guarantees authenticity |
| 24 | + |
| 25 | +IPFS is modular: |
| 26 | +- connection layer over any network protocol |
| 27 | +- routing layer |
| 28 | +- uses a routing layer DHT (kademlia/coral) |
| 29 | +- uses a path-based naming service |
| 30 | +- uses bittorrent-inspired block exchange |
| 31 | + |
| 32 | +IPFS uses crypto: |
| 33 | +- cryptographic-hash content addressing |
| 34 | +- block-level deduplication |
| 35 | +- file integrity + versioning |
| 36 | +- filesystem-level encryption + signing support |
| 37 | + |
| 38 | +IPFS is p2p: |
| 39 | +- worldwide peer-to-peer file transfers |
| 40 | +- completely decentralized architecture |
| 41 | +- **no** central point of failure |
| 42 | + |
| 43 | +IPFS is a cdn: |
| 44 | +- add a file to the filesystem locally, and it's now available to the world |
| 45 | +- caching-friendly (content-hash naming) |
| 46 | +- bittorrent-based bandwidth distribution |
| 47 | + |
| 48 | +IPFS has a name service: |
| 49 | +- IPNS, an SFS inspired name system |
| 50 | +- global namespace based on PKI |
| 51 | +- serves to build trust chains |
| 52 | +- compatible with other NSes |
| 53 | +- can map DNS, .onion, .bit, etc to IPNS |
0 commit comments