IPFS工作原理三个基本原则:通过CID内容寻址的唯一标识;通过DAG进行内容链接;通过DHT发现内容;通过Filecoin存储
简介 - 什么是 IPFS?
InterPlantery 文件系统 - IPFS - 是一个点对点分布式系统,用于存储和访问文件、网站、应用程序和数据。IPFS 旨在为分布式 Web - DWeb 提供动力。
作为一种点对点协议,IPFS 要求网络上的许多连接计算机通过文件(网站、应用程序或数据)内容共享用户请求的信息。在生态系统中,使用文件的内容来服务用户的请求被称为内容寻址——我们将在本文中讨论。
但在我们讨论 IPFS 和内容之前,也许我们首先看一下集中式网络——它的局限性和挑战,以及 IPFS 如何处于为分布式网络提供动力和解决集中式网络挑战的最前沿。
值得注意的是,通过使用 IPFS 从另一个系统下载文件,您的计算机也成为了分发服务器。这就是使用 IPFS 作为协议的优势之一——您的系统成为去中心化网络的一部分,有助于传播和分发信息。
集中式网络的挑战和局限性
正如我们所知,今天的网络是高度集中的。
“权力”掌握在少数强大的公司手中。这意味着我们在网络上所做的大部分事情,例如发帖或什至在网上分享某些东西,都归其他人所有 - 强大的公司。
在很大程度上,集中式网络是由数据经济驱动的——利用用户创建的内容并将其用于这些用户。
集中式网络导致对信息的绝对控制,通过利用我们现在感知事物的方式来控制我们如何看待信息和利用。
IPFS 是如何工作的?看基本概念
从高层次的角度来看,IPFS 的工作原理是通过其内容查找您正在寻找的信息。这称为内容寻址,可通过内容标识符 - CID 实现。我们将在下一节讨论 CID。
为了更好地理解 IPFS 的工作原理,我们将深入探讨 IPFS 背后的基本原理。
理解 IPFS 工作原理的三个基本原则
通过内容寻址的唯一标识:
集中式 Web 和分散式 Web 之间的主要区别之一是识别和检索各自的数据/信息。在集中式 Web 上,通过 URL(或 URI)的位置寻址用于识别和“定位”数据。
另一方面,去中心化网络通过唯一的内容标识符 - CID - 使用内容寻址来从各种来源(对等点和/或节点)检索数据。
内容标识符 - CID 是为 IPFS 开发的一种特定形式的内容寻址。它是一个包含加密哈希的单一标识符 (打开新窗口)和一个编解码器,保存有关如何解释数据的信息。使用加密哈希,任何对相同数据使用相同算法的人都将获得相同的哈希。对于上下文,IPFS 中的大多数内容都使用 sha2-256 算法进行哈希处理。
内容标识符不指示数据的存储位置。然而,它形成了一种基于数据底层内容的地址。
通过有向无环图 (DAG) 进行内容链接:
数据是从分散网络中的对等方访问的,而不是从中央机构访问的。从高级概述来看,图是一种数学抽象,用于表示对象集合之间的关系。我们使用节点来指代图中的对象,使用边来指代对象之间的关系。
DAG 显然是一个复合词,因此通过分解它们来为其含义奠定基础似乎是合适的。
有向图:如果每条边都具有某种方向感,则称该图为有向图。节点之间的连接只在一个方向上正确关联,单头箭头表示该方向。我们使用祖先、后代、父母和孩子等家谱术语来指代有向图中的节点。
无环图:无环图在图中没有环。这意味着无法沿着图形的边缘从该节点导航回自身。
有向无环图 - DAG:称为有向图和无环图,你猜对了吗?有向无环图 - DAG。
通过分布式哈希表 (DHT) 发现内容
分布式哈希表 - DHT 是用于将键映射到值的分布式系统。在 IPFS 中,DHT 被用作内容路由系统的基本组件,并且充当目录和导航系统之间的交叉点。
DHT 将用户正在寻找的内容(CID)映射到实际存储匹配内容的对等方。
使用 DHT 映射的键值对共有三种类型:
提供记录 - 将数据标识符映射到已宣传他们拥有该内容并愿意为您提供该内容的对等方。IPFS 用于查找内容,IPNS over PubSub 用于查找 pubsub 主题的其他成员。
IPNS 记录 - 将 IPNS 密钥(公钥的哈希)映射到 IPNS 记录。
对等记录 - 将一个对等 ID 映射到一组可以到达对等的多地址。当我们知道有内容的对等点,但不知道其地址和手动连接时,IPFS 使用例如:ipfs swarm connect/p2p/Qmxyz…
进修资源
谢谢阅读。以下是一些学习资源,可帮助您深入了解 IPFS。
原型学校https://proto.school/
IPFS YouTube 频道https://www.youtube.com/c/IPFSbot
IPFS 文档https://docs.ipfs.io/
IPFS是一个网络传输协议,作用是把文件打散,形成哈希值,生成唯一的CID。全球目前有上万个节点(使用的节点,包括很多个人用户,来源官方视频),但都是免费存储的(没有人愿意无利而为,这也是2014年开始IPFS发展比较慢的原因),每个节点规模并不大,数据传输速度也较慢。
也就是说,单靠IPFS网络节点是无法保证数据的安全存储的,必须需要激励机制来吸引更多的存储提供商来把数据固定下来,进行安全永久的存储。
因此,Filecoin应运而生。
Filecoin作用就是在利用IPFS技术进行打散后,需要进行数据的稳定安全存储,把数据固定,通过区块链技术进行可验证的存储。
Filecoin可以存储大容量、大批量的数据和单个文件。
由于目前很多应用都在以太坊上生成,而以太坊链上存储数据是十分昂贵的,如果文件过大,也承载不起,速度会很慢,所以一般都存储在如亚马逊云等中心化存储提供商中。这很容易丢失,也不符合区块链运作的精神。
Filecoin和IPFS两者之间实现了交互操作,功能互实现。相辅相成。
官方统计,目前75%的主要公链都跟Filecoin进行了集成,都可以实现跨链存储,很多NFT平台如Opensea等都选择存储在Filecoin中。
还有很多公共数据如纽约市政府、各类大型企业等数据也选择存储在Filecoin。
这些在区块链行业和技术开发人员中都众所周知。
但很多终端应用还比较少,也就是普通民众还不能很方面快捷的使用Filecoin进行存储。
这就是为什么有人说,我没有用过,你用过吗?没有吧,不真实!……
也就是说,Filecoin在众多区块链项目上,在专业开发人员中是很强大的存在(特别是协议实验室的名誉度很大),但在普通大众中(如国外的B圈中)知名度还不是很高!
但随着更多开发团队不断使用Filecoin,包括国内也有不少大厂开始研发适合普通大众的客户应用端,随着时间的推移,相信会出现家喻户晓的,简单快捷的Filecoin存储应用。
特别是随着FVM虚拟机的推出,检索市场的建设和完善,Filecoin在速度、计算等会得到实现。
之后,很多区块链应用会在Filecoin虚拟机FVM中搭建和诞生,到时跟多项目如NFT、Defi、元宇宙配套设施等(也可发B,以太能做的FVM都能做,而且能实现可验证的存储)都会不断出现。
那时,普通大众会不断深入认识Filecoin,Filecoin的知名度会不断提升!
总之,Filecoin目前使用最多的是各类公链、项目方、技术开发人员为主,需要一定的进入门槛,一般大众很难直接使用,或者无法使用,知名度还不是很高。
随着FVM虚拟机的推出后,很多应用项目在Filecoin上诞生(是需要消耗Gas的,会加速FIL的通缩),会加速一般大众对Filecoin的认知度,从而形成更强大的共识和加速通缩。
路漫漫其修远兮,革命尚未成功,吾辈还需努力!
目标已经规划好,只等东风来推动。