内容标识符或CID是用于指向IPFS中的材料的标签。它不指示内容的存储位置,但它根据内容本身生成一种地址。无论其底层内容的大小如何,CID都很短。CID是基于内容的加密哈希。这意味着:内容的任何差异都将产生不同的CID,并且使用相同设置添加到两个不同IPFS节点的相同内容将产生完全相同的CID。
哈希
哈希是一些函数,它接受一些任意输入并返回一个固定长度的值。特定值取决于使用的给定哈希算法,例如SHA-1(由Git使用),SHA-256或BLAKE2,但给定的哈希算法始终为给定输入返回相同的值。查看完整的哈希函数列表以获取更多信息。例如,输入:
Hello world
将由SHA-1表示为:0x7B502C3A1F48C8609AE212CDFB639DEE39673F5E
。IPNS
星际命名系统(IPNS)是用于创建和更新IPFS内容的可变链接的系统。由于IPFS中的对象是内容寻址的,因此每次内容的地址都会改变。这在很多方面十分有用,但它很难获得最新版本的事物。IPNS中的名称是公钥的哈希值。它与包含有关其链接的哈希的信息的记录相关联,该哈希由相应的私钥签名。
易变文件系统(MFS)
由于IPFS中的文件是内容寻址和不可变的,因此编辑起来很复杂。易变文件系统(MFS)是内置于IPFS中的工具,可让您像处理基于名称的普通文件系统一样处理文件 – 您可以添加,删除,移动和编辑MFS文件,并由它来完成更新链接和哈希等所有工作。可以通过IPFS客户端和API中的文件命令来访问MFS。
固定
IPFS节点将它们存储的数据视为缓存,这意味着无法保证数据将继续存储。固定CID告诉IPFS服务器数据很重要,不能丢弃。您应该固定任何您认为重要的内容,以确保内容得到长期保留。由于对其他人重要的数据可能对您不重要,因此固定可让您控制所需的磁盘空间和数据保留期。
UnixFS
IPFS中的文件不仅仅是内容。它可能太大而不适合在单个块中存储,因此需要元数据将所有块链接在一起。它可能是符号链接或目录,因此需要元数据链接到其他文件。UnixFS是用于在IPFS中表示文件及其所有链接和元数据的数据格式,大致基于文件在Unix中的工作方式。