summaryrefslogtreecommitdiffstats
path: root/network/go-ipfs/README
blob: 6d17fecc4c8f257ce1d8252b9f95650013692548 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
IPFS (InterPlanetary File System) is a hypermedia p2p protocol suite
that has HTTP gateway built in.  It can be used to store any kind of
immutable datasets, organized in files, directories, and commits.

IPFS objects are addressed by base58-encoded content hash. Thus,
identical objects are deduplicated across entire Internet and can be
retreived by hash from any host that has a copy.  Immutability of data
and peer-to-peer nature make IPFS ideal medium for archival storage,
as long as there is at least one copy of given asset somewhere.  People
can support their friends by serving copy of their content for them by
simply retreiving given objects from IPFS node they run, so it could be
cached locally.

Since objects' addresses are derived from their content, there's no way
to create IPFS hashes for mutable objects, although human-friendly
aliases can be published via IPNS (Inter-Planetary Name System), or in
DNS as dnslink TXT records.

Since p2p networks are untrusted by its very nature, IPFS creators
discuss various algorithms to prevent abuse in IPFS white paper.

There is several number of IPFS gateways accessible on the Internet,
project website data (for instance) can be retreived from any of them
(as ipfs.io website data is stored entirely on IPFS); although
insist not to use it for mission critical applications, since it is
still considered alpha quality.

This package should also be considered experimental, since it lacks
service start/stop scripts, documentation, and source code.  It is here
to allow Slackers to play with IPFS.