我在 IPFS 系统中上传了一张照片,后台发生了这些

在区块链行业里,我们常常能够听到去中心化、分布式存储等,也有越来越多的分布式存储项目落地,其中备受关注的应该就是 IPFS 了。什么是分布式存储?IPFS 是怎样存储数据的?

分布式存储

分布式存储最基本的一点就是我们的数据会被拆分成多个部分分别存放在不同的存储节点上,当我们需要调用这些数据的时候,系统会从存放着这些数据的节点上提取数据“碎片”,最终整合成完整的数据给我们看。

中心化存储(左)与分布式存储(右)

IPFS 是怎样存储数据的?

当我们需要在 IPFS 网络中存储一段视频时,这段视频数据将会通过特殊的算法进行加密,然后分割成了若干小份,再分散地存储到世界各地的存储节点中。

它们中的一部分可能就在你邻居的存储器中,也可能被存储在地球另一端。IPFS 中的容错机制会保证你的数据被复制了足够多数量并存放在不同的地区,即使某一个地区的数据因自然灾害完全被毁,通过其他地区的备份也可以完整恢复你的数据。这就极大的保证了存储在 IPFS 上的数据安全性,当你希望收听音频时,一定可以完整的听到。

此外,你也不必担心数据的隐私性,被加密保存的数据是小块数据,是无法被人查看的,也就是说你的邻居既不清楚他替谁保存了数据,也不清楚保存的数据到底是什么内容,这就比中心化的存储更好的保护隐私。

现在,我们来尝试一下,在 IPFS 中添加一张照片会发生什么?

当我们添加照片时,系统会将照片转换为计算机可以理解的原始数据,然后系统会进行一系列的加密运算。接下来系统会把文件拆分成每块大小不超过 256kb 的小块,分布存储在全球的存储节点上。

当在终端出现了一串长达 64 位的数字+字母的值(哈希值)的时候,就代表着照片已经添加到 IPFS 中了。

有了这个哈希值,我们就可以在 IPFS 的网络中找到刚刚上传的照片了,只是记忆这串数值不太现实。现在,为了使它可以内容寻址,IPFS 的官方团队设计了一个方法,通过这个方法,可以将这招照片数据转换成一个可以随时识别其内容的标签。这个机制叫做 IPNS,我们以后会讲到^_^

这样,我们就在 IPFS 网络中存储了一张照片,关于 IPFS 还有很多创新的地方,关注“文储网络”公众号,可以了解更多 IPFS 的资讯。