时间:2023-08-03|浏览:178
IPFS关系图
IPFS是由JuanBenet(JuanBenet)于2014年5月启动的。在2015年,他创建的项目“IPFS”获得了YCombinator创业孵化竞赛的奖项,并获得了天使投资。
从本质上说,IPFS是一个内容可寻址、版本化、点对点超媒体的分布式存储、传输协议,其目的是补充甚至取代过去20年来使用的超文本媒体传输协议,希望构建一个更快、更安全、更自由的网络时代。
在开发IPFS的过程中,协议实验室团队采取了高度模块化的方法,像搭积木一样去开发整个项目。在这些模块中,IPLD、LibP2P和Multiformats服务于IPFS的底层。它是IPFS的激励层,使IPFS所应用的数据有价值。
Mutiformats是一组hash加密算法和自描述方法的集合,它采用了SHA1SHA256SHA512Blake3B等6种主流加密方法来加密和描述nodeID,并生成指纹数据。Mutiformats根据已有的协议对数值进行自我描述修改,也就是说,从数值上就可以知道数值是如何生成的。
在IPFS的核心部分,libP2P协议可以面对各种各样的传输层协议和复杂的网络设备,帮助开发人员快速构建可供使用的P2P网络层,快速并且节省成本。它的主要功能包括:发现节点,连接节点,发现数据,传输数据等。与现实世界中的快递员一样,它连接着成千上万的节点,除了负责发送数据,还负责寻找数据。
IPLD是一种转换中间件,它将已有的各种数据结构统一为一种格式,以便于不同系统之间进行数据交换和互操作。目前,IPLD支持BTC,ETH,EOS等主流公链区块数据。通过IPLD中间件,可以将不同的区块结构统一成一个标准,为开发人员提供更高的效率标准,而不必担心性能、稳定性和bug,这是IPFS受到众多区块链项目欢迎的重要原因。
IPFS将这几个模块的功能应用到了一起,将它们运行在单独的节点上,并且作为一个Web服务提供访问。
因为IPFS是一种开放源码的协议,所有人都可以免费使用IPFS进行各种开发,所以目前IPFS网络中节点的数量并不多,网络也不够稳定。为使IPFS能迅速普及和推广,协议实验室创建了基于IPFS网络的Filecoin区块链项目,以激励参与IPFS节点和存储数据的采购商。Filecoin通过与比特币相似的激励政策和经济模型,将这些应用的数据价值化,让更多的人创建节点,让更多人使用IPFS。
Filecoin是IPFS的经济激励系统,承载着IPFS的价值传递,支撑着IPFS的生态发展。
下一节课,我们将着重介绍Filecoin,这是一门新课。
IPFS技术体系
IPFS有八层子协商栈,从上到下分别为身份、网络、路由、交换、对象、文件、命名、应用,各协议栈各司其职,又互相配合。
识别及路由层
认证和路由层可以一起解释,对等节点认证和路由规则是通过Kademlia协议生成制定的,KAD协议本质上是建立一个分布式、松散的Hash表(distributedhashtable),简称DHT,每个加入到DHT网络中的人都要生成自己的认证信息,然后通过该认证信息负责存储网络中的资源信息和其他成员的联系信息。
就像微信名片分享一样,在不能直接搜索微信号的情况下,如果你想找某人,可以通过分享名片给拥有此人联系方式的朋友来建立联系。
网路层
IPFS技术的核心层是网络层,使用lib2p支持任何传输层协议。NATTraversal框架整合了STUN、TURN和其他类型的NAT协议,使客户能够使用各种NAT连接网络,从而实现对IPFSp2p网络的NAT通信,这对IPFS的p2p网络非常重要。
交换层
IPFS团队将BitTorrent称为Bitswap,即类似迅雷、电驴这样的BT工具,并将BitTorrent称
热点:ipfs