IPFS 协议是如何设计的,与http有何​区别?

2019-12-02 14:34:24

相较于HTTP而言,IPFS能很大程度上降低服务器存储成本,同时服务器的带宽成本也得到控制。

1、节点身份

每一个IPFS节点都有一个独一无二的身份ID,利用节点的公钥生成的加密哈希,节点的活动都需要使用这个ID,就像是IPFS网络里面节点的身份证。

2、网络

IPFS 节点需要和网络里的其它节点通讯。

3、路由

IPFS 网络的路由使用的是DHT,借鉴了S/Kademlia,使得一个节点可以快速的查找到其它节点。

4、数据交换协议

IPFS 借鉴BitTorrent协议,使用了叫做BitSwap的数据交换协议,该协议使用两个列表,想要的数据块(want_list)和已有的数据块(have_list)与其它节点进行数据交换。

5、对象存储

IPFS 存储数据使用的是 Merkle DAG(Merkle directed acyclic graph)结构,这一点赋予了IPFS内容寻址,防篡改,去重的功能。

6、版本控制系统

IPFS 在 Merkle DAG上面添加了Git版本控制功能,这使得IPFS文件拥有了时光机功能,可以轻松查看文件的变动历史.(COOL!)

7、自认证命名系统

IPFS 使用了SFS自认证系统给文件命名,同时提供了ipns解决传播问题,而且还兼容了现有的域名系统。

IPFS

ipfs与http的区别:

(1)从成本角度来看,HTTP中心化服务器运行,往往维护运行所需的成本较高,只要中心化数据库受到DDOS攻击,或者是遭受到不可抗力的损害,其所有数据会全部丢失;相较于HTTP而言,IPFS能很大程度上降低服务器存储成本,同时服务器的带宽成本也得到控制。

(2)效率角度来说HTTP是依赖中心化服务网络,服务器比较容易被关闭,服务器上文件较易被删掉,而且服务器必须是24小时开机状态才可运行;而IPFS是 P2P网络拓扑,整个网域内所有计算机均可作为存储节点,就近分布式存储大大提高了网络效率。

(3)安全性:HTTP属于集中化的,所有流量直接搭载在中心化的服务器上,承载的压力极大,容易造成系统崩溃,HTTP还容易遭受DDOS攻击;IPFS的存储方式是去中心化的分片的分布式存储,黑客无法攻击,文件不易丢失,安全有保障。

(4)HTTP的客户网络访问很大部分不是本地化,存在网络延时;IPFS较大程度使得网络访问速度加快,网络访问本地化,体验感会明显提升。


最新推荐