星际文件系统-IPFS是一个点对点分布式系统,用于存储和访问文件、网站、应用程序和数据。IPFS旨在为分布式Web——DWeb提供动力。
IPFS通过文件(网站、应用程序或数据)内容,要求网络上许多连接的计算机共享用户请求的信息。在生态系统中,使用文件的内容来满足用户的请求被称为内容寻址,接下来我们将在本文中进行讨论。
但在我们讨论IPFS和内容寻址之前,也许我们首先要了解中心化网络的局限性和挑战,以及IPFS如何处于为去中心化网络提供动力和解决中心化网络挑战的最前沿阵地。
值得注意的是,通过使用IPFS从另一个系统下载文件,您的计算机也成为分发者。这是使用IPFS作为协议的优势之一,您的系统成为去中心化网络的一部分,有助于传播和分发信息。
中心化网络的挑战和局限性
正如我们所知,今天的网络是高度集中的。
“权力”掌握在少数强大的公司手中。这意味着我们在网络上所做的大多数事情,例如发帖或在网上分享一些东西,都归其他人所有——那些强大的公司。
在很大程度上,中心化网络是由数据经济驱动的,通过利用用户创建的内容并将其用于这些用户。
中心化的网络能够对信息进行绝对控制,我们如何通过利用我们现在感知事物的方式来看待信息和利用信息。
IPFS是如何工作的?
从高层次的角度来看,IPFS的工作原理是通过其内容查找您正在寻找的信息。这称为内容寻址,可以通过内容标识符——CID实现。我们将在下一节讨论CID。
为了更好地理解IPFS的工作原理,我们将深入研究IPFS背后的基本原理。
了解IPFS工作原理的三个基本原则
1、通过内容寻址的唯一标识:
中心化网络和去中心化网络之间的主要区别之一是识别和检索各自的数据或信息。在中心化网络上,通过URL(或URI)的位置寻址用于识别和“定位”数据。
另一方面,去中心化网络使用内容寻址通过唯一的内容标识符CID,从各种来源(对等点或节点)检索数据。
内容标识符CID是为IPFS开发的一种特殊形式的内容寻址。它是一个包含加密哈希值的单一标识符和一个编解码器,保存有关如何解释数据的信息。使用加密哈希值,任何对相同数据使用相同算法的人都将获得相同的哈希值。对于上下文,IPFS中的大多数内容使用sha2-256算法进行哈希处理。
内容标识符不指示数据的存储位置。然而,它根据数据的底层内容形成一种地址。
2、通过有向无环图(DAG)链接内容:
数据是从去中心化网络中的对等方访问的,而不是从中央机构访问。从高级概述来看,图是一种数学抽象,用于表示对象集合之间的关系。我们使用“节点”来指代图中的一个对象,使用“边”来指代对象之间的关系。
DAG显然是一个复合词,因此通过分解它们来为它的含义奠定基础似乎是合适的。
有向图:如果每条边都有某种方向感,则称该图是有向图。节点之间的连接仅在一个方向上正确关联,并且单头箭头指示该方向。我们使用像祖先、后代、父母和孩子这样的系谱术语来指代有向图中的节点。
无环图:无环图在图中没有环。这意味着无法沿着图的边缘从该节点导航回自身。
3、通过分布式哈希表(DHT)发现内容:
分布式哈希表-DHT是将key映射到value的分布式系统。在IPFS中,DHT用作内容路由系统的基本组件,并充当目录和导航系统之间的交互。
DHT将用户正在寻找的内容(CID)映射到实际存储匹配内容的对等点。
使用DHT映射的key,value分为三种类型:
- 提供记录:将数据标识符映射到已宣传他们拥有该内容并愿意为您提供的对等方。IPFS用于查找内容,IPNSoverPubSub用于查找pubsub主题的其他成员。 - IPNS记录:将IPNS密钥(公钥的散列)映射到IPNS记录。 - 对等记录:将一个对等标识映射到一组可以到达对等标识的多个地址。当我们知道一个对等点有内容,但是不知道它的地址和手动连接时,通过IPFS仍然可以使用它,例如:ipfsswarmconnect/p2p/Qmxyz...
来源:算力中国