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