IPFS的工作原理
IPFS 是一种超媒体文本传输协议,由此构成一个点对点的分布式文件系统,目标是代替目前互联网的HTTP协议,构建一个更自由、更开放、更强大的网络,那么你可能会问HTTP 协议是什么?为什么要取代它呢?HTTP就是用来定义互联网数据存储和分布的协议,它是中心化的,我们现在使用的互联网,都是基于HTTP协议的互联网,比如说我们在腾讯视频平台上,搜索一个视频,我们会发现几乎所有网站 都是以http开头的,这个就是使用http协议的网络标识,通过这个网站,我们可以找到存储视频所在的服务器,用户点击视频,网络会发送观看视频的请求命令,服务器根据请求响应要求。
但万一哪天服务器坏了、数据被盗了又或者被删改了,那岂不是很糟糕吗?如果同一时间很多人要打开这个视频,网络就会延迟,系统就会崩溃,体验非常不好,这些都是http协议中心化存储的大BUG,于是一个叫胡安的美国人,提出了IPFS 协议构想,希望通过IPFS协议,构建一个分布式存储网络,在这个网络中呢,它有以下优点:第一,数据存储安全可靠;第二,文件下载速度更快;第三,避免依赖主干网,造成网络拥堵;第四,节约带宽和存储成本等优势。
IPFS分布式存储的原理是怎样的呢? 用户存储视频,这个视频上传到IPFS网络,将自动被分割成若干片段,每个片段大小为256K,这个视频可能被分割成20个片段,也可能是30个片段,具体由视频大小而定,分割完之后呢,会随机分发到网络上的各个节点,这些节点就是接入IPFS网络上的计算机了,那么你可能会问,视频被分割成那么多片段,那视频打开和下载岂不是会很麻烦吗?随着IPFS技术的发展成熟,未来IPFS网络就像是现在的互联网一样,只不过网址前面的HTTP协议改成了IPFS协议。IPFS会为每⼀个文件分配一个独有的哈希值,文件指纹则是指根据文件内容进行分别创建。就算是两个文件内容只一个比特的不同,那么就意味着哈希值也是不相同。这个方式会使得IPFS能支持基于文件内容进行寻找地址。