目标
为了补充(甚至取代)目前主导互联网的超文本传输协议(HTTP),将所有计算设备与同一个文件系统连接起来。IPFS希望创建一个点对点网络拓扑,这相当于颠覆HTTP所代表的分发关系。它具有内容可寻址的特点。通过文件内容生成唯一的哈希标识会在一定程度上节省空间开销。我们每个人都是终端和用户。
工作原理
每个文件及其所有块都被赋予一个名为加密哈希的唯一指纹。
IPFS通过网络删除具有相同哈希值的重复文件,计算哪些文件是重复的,并跟踪每个文件的版本历史。每个网络节点只存储它感兴趣的内容,以及一些索引信息,以帮助确定谁在存储什么。当您查找文件时,您可以通过文件的哈希值找到文件存储在网络上的节点,并找到您想要的文件。
使用一个名为IPNS(分散命名系统)的名称,可以通过协作将每个文件命名为易于阅读的名称。通过搜索,您可以很容易地找到要查看的文件。
IPFS的网络上有一个块链,即用于存储Internet文件的哈希值表。每次有网络访问时,内容(文件)的地址都会在该链上查询。
通过利用Filecoin的激励机制,每个节点都有存储数据的能力。Filecoin是一个由加密资产驱动的存储网络。矿工通过为网络提供开放硬盘空间获得Filecoin,而用户使用Filecoin支付在分散网络中存储加密文件的费用。
八大结构
IPFS至少有八层子协议栈,自上而下用于标识、网络、路由、交换、对象、文件、命名、应用程序,每个协议栈各自工作并相互匹配。
标识层和路由层可以一起解释。通过Kademlia协议生成对等节点的身份信息和路由规则。KAD协议实质上是构造一个分布式的松散哈希表。简而言之,加入DHT网络的每个人都必须生成自己的身份信息,然后通过这些身份信息负责存储网络中其他成员的资源信息和联系信息。就像微信的名片分享一样,如果你不能直接搜索微信,如果你在找人,你可以通过与有联系细节的朋友分享你的名片来联系。DHT广泛用于协调和维护对等系统的元数据.例如,MainlineDHT是一个分散哈希表,用于跟踪和查找所有对等节点。
网络层是核心,所使用的LibP2P可以支持任何传输层协议。NAT技术允许网络中的设备共享相同的ExtranetIP。这是我们都经历过的家庭路由器的原理。
交换层是一种BT工具,如迅雷。雷电实际上模拟P2P网络并创建一个中央服务器。当服务器注册用户请求资源时,让请求相同资源的用户组成一个小集群群,在这里共享数据。这种方法有缺点,因为服务器是由Thunderbolt维护的,如果出现故障,停机,下载操作就无法执行。
集中式服务也限制了一些下载请求,一个更明智的方法是由BitTorrent存储每个种子节点要存储的数据,这些数据是通过哈希表存储的。BT工具的监管相对较少,服务更稳定。
对象层和文件层适合于对象层和文件层的结合,它们管理IPFS上80%的数据结构,大多数数据对象都存在于MerkleDag的结构中,这为内容寻址和重新访问提供了方便。文件层是一种新的数据结构,与DAG并置,使用与Git相同的数据结构来支持版本快照。
命名层具有自验证的特点(当其他用户获取该对象时,使用指纹公钥来验证公钥是否与NodeID匹配,从而验证用户发布对象的真实性,同时获得可变状态),并添加了IPNS的巧妙设计,使加密的DAG对象名具有可定义性并增强可读性。
最后,IPFS的核心价值在于在其上运行的应用程序。我们可以利用它的cdn样功能以非常低的成本带宽获得所需的数据,从而提高整个应用程序的效率。
协议实验室的几个主要项目
多格式是一系列哈希加密算法和自描述方法的集合(您可以知道值是如何生成的)。它有六种主流加密方法,如SHA1SHA256SHA512Blake3B,用于加密和描述NodeID和指纹数据的生成。
LibP2P是IPF的核心。面对各种各样的传输层协议和复杂的网络设备,它可以帮助开发人员快速建立一个可用的P2P网络层,快速和节省成本,这就是IPFS技术被许多块链项目所青睐的原因。
实际上,IPLD是一种转换中间件,它将现有的异构数据结构统一为一种格式,方便不同系统之间的数据交换和互操作。
IPFS应用这些模块的功能,并将它们集成到一个在单独的节点上运行的、每个人都可以以Web服务的形式访问的具有能力的应用程序中。
Filecoin重视这些应用程序的数据,允许更多的人通过类似比特币的激励政策和经济模型创建节点和使用IPFS。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。