Interstellar file system (IPFs) is a network transport protocol designed to create persistent and distributed storage and shared files. It is a content addressable peer-to-peer hypermedia distribution protocol. The nodes in the IPFs network will form a distributed file system.
Interplanetary file system (IPFs) is a network transport protocol designed to create persistent and distributed storage and shared files. It is a content addressable peer-to-peer hypermedia distribution protocol. The nodes in the IPFs network will form a distributed file system. It is an open source project developed by protocol labs with the help of the open source community since 2014. It was originally designed by Juan benet.
在 2014 年，IPFS 协议利用比特币区块链协议和网络基础设施的优势来存储不可更改的数据，移除网络上的重复文件，以及获取存储节点的地址信息——用以搜索网络中的文件。
In 2014, IPFs took advantage of the bitcoin blockchain protocol and network infrastructure to store unchangeable data, remove duplicate files on the network, and obtain the address information of storage nodes to search for files in the network.
IPFS 是一个对等的分布式文件系统，它尝试为所有计算设备连接同一个文件系统。在某些方面，IPFS 类似于万维网，但它也可以被视作一个独立的 BitTorrent 群、在同一个 Git 仓库中交换对象。换种说法，IPFS 提供了一个高吞吐量、按内容寻址的块存储模型，及与内容相关超链接。这形成了一个广义的 Merkle 有向无环图（DAG）。IPFS 结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS 没有单点故障，并且节点不需要相互信任。分布式内容传递可以节约带宽，和防止 HTTP 方案可能遇到的 DDoS 攻击。
IPFs is a peer-to-peer distributed file system that attempts to connect to the same file system for all computing devices. In some ways, IPFs is similar to the world wide web, but it can also be seen as a separate BitTorrent group, exchanging objects in the same git repository. In other words, IPFs provides a high throughput, content addressable block storage model, and content related hyperlinks. This results in a generalized Merkle directed acyclic graph (DAG). IPFs combines distributed hashing, encouraging block switching, and a self certified namespace. IPFs has no single point of failure, and nodes do not need to trust each other. Distributed content delivery can save bandwidth and prevent DDoS attacks that HTTP schemes may encounter.
该文件系统可以通过多种方式访问，包括 FUSE 与 HTTP。将本地文件添加到 IPFS 文件系统可使其面向全世界可用。文件表示基于其哈希，因此有利于缓存。文件的分发采用一个基于 BitTorrent 的协议。其他查看内容的用户也有助于将内容提供给网络上的其他人。IPFS 有一个称为 IPNS 的名称服务，它是一个基于 PKI 的全局名字空间，用于构筑信任链，这与其他 NS 兼容，并可以映射 DNS、.onion、.bit 等到 IPNS。
The file system can be accessed in many ways, including fuse and HTTP. Adding local files to the IPFs file system makes it available worldwide. File representation is based on its hash, so it’s good for caching. The distribution of files adopts a BitTorrent based protocol. Other users who view the content also help to make it available to others on the network. IPFs has a name service called IPNs, which is a PKI based global namespace for building trust chain. It is compatible with other ns and can map DNS,. Onion,. Bit and IPNs.
Merkle data format
每个 Merkle 都是一个有向无环图 ，因为每个节点都通过其名称访问。每个 Merkle 分支都是其本地内容的哈希，它们的子节点使用它们的哈希而非完整内容来命名。因此，在创建后将不能编辑节点。这可以防止循环（假设没有哈希碰撞），因为无法将第一个创建的节点链接到最后一个节点从而创建最后一个引用。
Each Merkle is a directed acyclic graph because each node is accessed by its name. Each Merkle branch is a hash of its local content, and its children are named with their hash rather than the full content. As a result, nodes cannot be edited after they are created. This prevents loops (assuming there is no hash collision) because the first created node cannot be linked to the last node to create the last reference.
对任何 Merkle 来说，要创建一个新的分支或验证现有分支，通常需要在本地内容的某些组合体（例如列表的子哈希和其他字节）上使用一种哈希算法。IPFS 中有多种散列算法可用。
For any Merkle, to create a new branch or validate an existing branch, it is often necessary to use a hash algorithm on certain combinations of local content, such as the Subhash and other bytes of the list. There are many hash algorithms available in IPFs.
Famous use cases
于 2017 年 九月至十月间的举办的 2017 年加泰罗尼亚独立公投，由于被 西班牙宪法法院 认定此举动违法，因此其网站被屏蔽。在这之后， 加泰罗尼亚海盗党 将网站整个镜像到 IPFS 上以回避加泰罗尼亚高等法院的屏蔽命令。
The 2017 referendum on Catalonia’s independence, which was held between September and October 2017, was blocked because it was found illegal by the Spanish constitutional court. After that, the Catalan Pirate Party mirrored the entire website onto IPFs to avoid the blocking order of the Catalan high court.
IPFS 被用于创建维基百科的镜像，让那些住在维基百科被国家法律屏蔽的地方的人民能继续访问到维基百科的内容。那份维基百科是一份被限制改动的复制本且无法被更新。文件币 也与 IPFS 有关，是由 Juan Benet 和 协议实验室 合作开发，一套基于 IPFS 的协作存储云。
IPFs is used to create images of Wikipedia so that people who live in places where Wikipedia is blocked by national laws can continue to access Wikipedia content. That Wikipedia is a restricted copy and cannot be updated. File currency is also related to IPFs. It is jointly developed by Juan benet and protocol laboratory. It is a set of collaborative Storage Cloud Based on IPFs.
CloudFlare 营运一个分布式的 Web 网关，在无需本地节点的情况下，用以简化，加速并且安全的访问 IPFS 。
Cloudflare operates a distributed Web Gateway to simplify, accelerate and secure access to IPFs without the need for local nodes.
ISFS 由 Tim Berners Lee 在 2001 年的一篇论文中创造的词汇 是 IPFS 文件分发和存储协议是由多个组件组合起来的协议体系的核心之一。
ISFs was coined by Tim Berners Lee in a 2001 paper that IPFs file distribution and storage protocol is one of the cores of the protocol system composed of multiple components.