github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/assets/init-doc/about (about)

     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