IPFS简介
IPFS(InterPlanetary File System)叫星际文件传输系统,本质
是一个基于点对点的分布式超媒体分发协议,它整合了分布式系统,为所有人提供全球统一的可寻址空间,因为他具有良好的安全性、较高的传输速度等特点,被认为是最有可能取代HTTP
的新一代互联网协议。IPFS
用基于内容的寻址替代传统的基于域名的寻址。用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。我们将一个文件放到IPFS
节点中,将会得到基于其内容计算出的唯一加密哈希值。哈希值直接反映文件的内容,哪怕只修改1
比特,哈希值也会完全不同。当IPFS
被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件的哈希值,如果哈希值不符合,说明内容被篡改了。- IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有静态网站。
IPFS
提供了一个友好的WEB
访问接口,用户可通过http://ipfs.io/hash
获取IPFS网络中的内容,也许在不久的将来,IPFS协议将会彻底替代传统的HTTP协议。
原理
将传统的基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
区别
内容/地址
- 地址寻址--传统的HTTP服务,需要我们输入地址,如果地址错误或者服务器关闭,我们就无法访问
- 内容寻址--我们不需要地址,只需要知道所要查询内容,每个内容的哈希值是唯一的,也可以理解为指纹,当下载某个文件时,只需要查询网络,谁有这个文件的哈希值,然后,IPFS网络上的某个人将会把文件提供给你,如何判定这个人有没有篡改文件,通过文件的哈希值(内嵌防伪功能)比对,如果数值相符,则没有改变。哈希的另一个好处就是可以删除重复的数据,当多个用户上传同一份数据,它只会被创建一次,这就使得网络效率非常高效
中心化/分布式
中心化
- 所有信息以及数据都存储在大型服务器里面,而服务器是由提供商掌握,如果服务商不再提供服务,我们就没法使用
- 审查制度,因为数据都存储在那么几个服务器上面,各国政府可以很容易的封锁网站
分布式优势
安全
- IPFS的容错机制会保证数据被复制了足够数量并存放在不同的地区,即使某一个地方的数据由于不可抗力的因素被完全销毁,通过其他地区的备份也可以实现完整恢复数据,极大的保证了存储在IPFS上的数据的安全性
- 加密的数据别人是无法查看的,其他人只是看到了分散的文件碎片,保证了IPFS存储的隐私性
- 底层Libp2p屏蔽了网络细节
数据传输速度
- 当需要读取数据的时候,所有的存储者会同时将保存的文件小块数据,机器接收到文件碎片之后,会自动进行拼接,相对于传统的中心化HTTP模式速度更快
数据存储
- 文件存储在IPFS对象中,这些对象可以存储多达256KB的数据,也可以包含链接到其他IPFS对象的链接,超过256KB的文件会被分割成数个IPFS对象,每一个对象都是256KB,然后系统会生成一个空白的IPFS对象与包含这个文件的其他所有IPFS链接,类比与linux的tree命令,形成一个树型的层次结构
数据更新迭代
- 因为IPFS类似于区块链的不可更改的特性,但是我们可以上传一个新的文件版本,使之与之前的文件版本连接到一起,IPFS会确保这个文件以及他的完整的历史,全部都在网上,只有追加更新,不可以删除原先的数据
IPFS思维导图