1、IPFS到底是什么?
IPFS,其实是一种点对点的分布式文件系统。
(1)IPFS是一个运用git分布式、去中心化存储且单一的bittorrent群集。
(2)IPFS是依据内容从而来产生地址,它提供了高吞吐量的内容寻址存储模型。
(3)IPFS主要是通过默克尔树数据结构来构建版本文件系统。
(4)IPFS不存在单独的故障点,节点之间也是不需要相互信任。
星际文件系统IPFS(InterPlanetary File System),它其实是一个面向全球、点对点的分布式版本文件系统,能将所有具有相同文件系统的计算设备连接在一起,主要目标是对我们目前统领互联网的超文本传输协议(也就是HTTP)进行补充(更甚者是“取代”)。它的原理就是利用基于内容的地址来替代基于域名的地址,简单来说,用户寻找的是存储在某地方的内容,而不是某地址,就只需确认验证内容的哈希,这样就能过获得速度更快、安全、健壮、持久的网页。
2、IPFS与HTTP两者有何区别?
(1)从成本角度来看,HTTP中心化服务器运行,往往维护运行所需的成本较高,只要中心化数据库受到DDOS攻击,或者是遭受到不可抗力的损害,其所有数据会全部丢失;相较于HTTP而言,IPFS能很大程度上降低服务器存储成本,同时服务器的带宽成本也得到控制。
(2)效率角度来说HTTP是依赖中心化服务网络,服务器比较容易被关闭,服务器上文件较易被删掉,而且服务器必须是24小时开机状态才可运行;而IPFS是 P2P网络拓扑,整个网域内所有计算机均可作为存储节点,就近分布式存储大大提高了网络效率。
(3)安全性:HTTP属于集中化的,所有流量直接搭载在中心化的服务器上,承载的压力极大,容易造成系统崩溃,HTTP还容易遭受DDOS攻击;IPFS的存储方式是去中心化的分片的分布式存储,黑客无法攻击,文件不易丢失,安全有保障。
(4)HTTP的客户网络访问很大部分不是本地化,存在网络延时;IPFS较大程度使得网络访问速度加快,网络访问本地化,体验感会明显提升。
3、IPFS的架构是怎样的?
IPFS架构可以分为以下8层:
(1)网络层(Network):用于更好的分散计算。
(2)身份层(Identity):管理节点身份生成和验证。
(3)交换层 (Exchange) :一种支持有效块分配的新型块交换协议(BitSwap),模拟可信市场,弱化数据复制,防作弊。
(4)路由层(Routing):维护信息以定位特定的对等体和对象。响应本地和远程查询。默认为DHT,但可更换。
(5)文件层(File):由Git启发的版本化文件系统层次结构。
(6)命名层(Naming):自我认证的可变名称系统。
(7)应用层(Application):IPFS上运行的应用程序。
(8)对象层(Objects):具有链接的内容寻址不可更改对象的Merkle DAG,用于表示任意数据结构,例如文件层次和通信系统。
以上各协议栈均各司其职,相互搭配协作。
4、IPFS生态系统是如何分布的?
A、IPFS-是数据的应用;
B、Libp2p-是数据的传输;
C、Ipld-定义&查找数据;
D、Multiformats-是数据加密&具象。
5、IPFS有哪些使用场景?
A、作为一个挂载的个人同步文件夹,自动进行版本管理&发布,并且能备份任何的写入。
B、一个加密的文件或者共享数据的系统。
C、所有软件的版本包管理处。
D、一个数据库:应用能直接将数据写入Merkle DAG的数据模型中,获取所有的版本,缓冲,以及IPFS提供的分配。
E、一个linked<加密>的通信平台。
F、一个web CDN(在网页上)。
G、一个links永久存在新的永恒的Web。
H、一个加密的CDN。
I、虚拟机器的根文件系统。
J、在不使用SSL的情况下,作为一个为大文件的完整性检查CDN。
K、在管理程序下,作为VM的启动文件系统。
L、挂载在/ipfs和/ipns下的一个全局文件系统。
6、IPFS实现的终极目标
A、运用fuse/内核的模型挂载文件系统
B、一个IPFS库能够导出至个人应用中进行使用
C、命令行工具能直接操作于对象
7、IPFS有何未来展望?
IPFS产生于分布式系统的探索和开源,它继承诸多截至目前很有成效的系统中的优质思想。除去BitSwap新协议不谈,系统的耦合以及设计的综合性是IPFS的一大亮点。
它是去中心化网络基础设施,不同类型的应用都可以建立在IPFS上。
IPFS使得Web层次升级,发布信息的时候,所有人可以进行发布,并且不会强制必须只允许发布机构进行发布,用户可以信任信息的内容,信息的信任与否对于发送者而言,是无关紧要的。另一特点就是不会丢失一些具有较长时间的重要文件。最低限度,它作为一个全局的,挂载性,版本控制文件系统和命名空间,或是成为下代文件共享系统。