转载自:《读懂Web3》书籍链接
IPFS:通过分布式存储为数据获得独立身份
如果说以太坊为Web3.0提供了通用的计算层,那么以IPFS为代表的去中心化存储类项目则为Web3.0提供了通用的存储层。
IPFS的中文名为星际文件系统,是一个按照内容进行检索的文件存储和调用系统。基于IPFS协议,需要存储的文件以256KB为单位,文件内容会被打散并分开进行存储,但IPFS会为每份文件生成一个哈希值,存储在不同空间的同一份文件的内容会基于哈希值进行组合并生成一个新的哈希值,而这个新的哈希值和原文件进行捆绑后会形成一个完整的索引结构,该索引结构将会被节点上传到整个网络供用户检索时使用。在用户使用文件前,矿工会按照文件的哈希值在索引结构中检索到对应的文件,将文件下载到本地,此时用户就可以按照文件的哈希索引检索到矿工的位置,并从矿工节点下载所需的文件,随后通过IPFS复原来读取文件。
从以上的基本工作流程可以看出,基于IPFS协议,存储内容和存储节点之间并没有直接的对应关系,即使是已经碎片化的文件也必须通过加密手段来保密,而矿工只有在用户发出检索请求后才能在IPFS的索引结构中进行文件检索。我们知道,数据的基本特性是“存储即拥有”,我们将自己的行为数据保存在互联网公司的服务器中,实际上也将数据的使用权赋予了互联网公司。互联网公司为了获得数据使用权,宁愿提供免费服务也要吸引用户,而IPFS的设计显然将这种模式打破了。
基于IPFS协议,用户按照文件内容进行检索,使得数据和文件的存储脱离了提供服务的互联网网站,同时使得数据的调用不再依赖该网站的持续运行,即用户不会因为网站故障或被攻击、IP地址被删等问题而无法下载数据,也无须再为数据在存储期间被篡改而担忧。同时,IPFS协议还可以对分布在不同地域的存储空间进行整合利用,从而为个体的存储空间找到一个变现的机会