Planet 是由一群分布在世界各地的 IPFS 爱好者开发并开源的 macOS 原生 App,可以让用户直接在自己的电脑上发布一个网站或者博客到 IPFS。
整个过程操作过程非常小白(1. 创建Planet;2. 创建并发布文章),用户不需要了解任何 Web3 或者区块链的知识。
这款产品可以让创作者的内容直达读者,中间没有任何人可以干涉,实现创作自由,阅读自由。
注:这是一款比较早期的产品,功能还不稳定,整体体验下来,会有一种互联网早期产品的错觉。
Planet 是基于 IPFS 特性来实现,理论上并不是一个真正意义上的区块链项目。
IPFS 全名 InterPlanetary File System 星际文件系统,是一种去中心化的文件存储系统。目的是取代 HTTP 协议,成为 Web3 时代的基础协议。
现在互联网访问方式:https://域名或IP
IPFS 访问方式:ipfs://文件哈希
当你将文件发布到 IPFS 网络时,IPFS 会计算文件的哈希值,并存储在节点(区块)上。 内容寻址:现在的网络服务里,内容是基于位置(IP)寻址的,就是在查找内容的时候,需要先找到内容所在的服务器(根据IP),然后再在服务器上找对应的内容。但是 IPFS 是通过内容寻址的,每个文件都有对应的哈希值,不需要知道文件存在哪里,通过哈希值就能找到这个文件。
pin:因为 IPFS 是一个分布式文件存储系统,并不是所有人都需要保存所有文件,因此 IPFS 允许节点清理文件(以节省空间)。所以为了避免(节点感兴趣的)文件被清理而无法访问,IPFS 提供 pin 的功能,允许节点可以“钉”住内容,以便于用户永久访问。
IPNS:文件的哈希值是根据文件内容生成的,如果文件内容发生了变化,就会生成新的哈希值。这样处理的优点是保证文件的不可篡改,提高数据的安全性。缺点是对于需要经常更新内容的用户(如网站)非常不友好。为了避免这个问题,IPFS 提供了 IPNS (Inter-Planetary Naming System 星际命名系统)功能,允许基于用户或节点的私钥构建一个节点ID,指向具体的文件哈希,当有新的内容更新时,可以更新节点 ID 的指向。(这个类似于DNS、域名、IP的关系) 发布订阅:IPFS 任一节点订阅了某个主题,其他节点往这个主题发布消息,订阅的节点就能收到。
基于IPFS特性: