小白科普 | IPFS的内容寻址有何意义
当您使用http://或https://链接指向网页、图像、电子表格、数据集或者推文等时,您将按其位置识别内容,这是位置地址。该链接是指向web上的特定位置的标识符,其对应于web上某处的特定服务器或服务器组,控制该位置的人控制内容。这就是HTTP的工作原理。即使有一千人下载了文件的副本,内容存在于一千个位置,HTTP也指向一个位置。这种针对位置的方法迫使我们所有人假装数据只在一个位置。控制该位置的人决定在人们使用该链接时要返回的内容,他们还决定是否要删除任何内容。
为了说明按位置处理内容是多么不切实际,下面给大家举个类似的例子:
如果我们在想要阅读《为什么信息增长》这本书时,按位置与内容寻址会有什么不一样呢?
如果我们通过内容识别该书,您可以向周围的人请求“书名叫《为什么信息增长》这本书”或“CésarHidalgo撰写的《为什么信息增长》”,您将可以就近从任何来源获得该书的副本,如果您的室友正好拥有该书副本,您将大大减少了自己获得该书的成本与工作量。
相比之下,如果我使用位置寻址识别书籍,我将不得不指向一个位置,该书可能位于市中心的图书馆的某个书架上,您需要驱车几小时才可以找到该书。这就类似于http链接的工作原理。它根据位置识别内容,并依靠该位置的“主持人”向访问者提供内容。这种方法有很多问题——它为控制你所指的位置的人提供了很多权力和责任。
控制我们所指向位置书籍的人存在什么责任?如果运行图书馆的人希望我的指示(也就是我的“链接”)保持有效,允许人们访问该书,他们必须:
如果有人想要阅读这本书,需保持每周7*24小时开放。
向所有寻求书籍的人提供这本书,无论是一个人还是数十万人。
通过防止任何人篡改它来保护书籍的完整性。
永远不要将书从书架上取下 - 如果它们摆脱它,甚至移动它,我的链接就会被破坏,没有人能够用我的指示找到这本书。
伴随着这些责任带来了巨大的权力。图书馆的所有者控制着指向位置的内容,因此他们可以选择:
决定谁被允许看这本书。
不告诉任何人就移动书。
摧毁这本书。
向人们收取费用以获取书籍或强迫他们在走进大门时观看广告。
收集有关访问我的图书的所有人的数据,使用他们想要的信息。
用其他东西替换书 - 他们甚至可能不会在那里放书,因为我的说明只是描述一个位置,恶意的管理员可以用危险的东西取代书,把位置变成陷阱。
解决方案:通过指纹识别信息,而不是其位置
通过“指纹”识别内容,而不是通过其位置识别内容。这样,当有人请求“查看带有此指纹的内容”时,您可以从拥有该内容副本的任何人那里获取该内容。为此,我们通过其加密哈希来识别内容。加密哈希是一串字母和数字,通过将您的内容提供给像SHA这样的加密哈希函数来计算。
当我们以这种方式识别内容时,使用内容的加密哈希而不是其位置来识别内容,这称为内容寻址。一段内容的加密哈希永远不会改变,这意味着内容寻址可以保证链接始终返回相同的内容,无论我从哪里检索内容,无论是谁将内容添加到网络中,也不管何时内容已添加。这是使用内容寻址协议(如IPFS)而不是使用HTTP等位置寻址协议的基本功能。
内容寻址的含义
内容寻址链接是永久性的,链接永久指向准确的内容。从计算机科学的角度来看,只要我们创建使用内容寻址链接的数据,我们就会创建一个持久的数据结构。关于持久数据结构的应用有大量文献。在本课程中,我们将使用内容寻址协议调出存储和共享数据的一些含义:
它允许我们将数据存储在一起
这种分散的、内容寻址的方法从根本上增加了数据的持久性。它确保数据不会受到威胁,只要任何人仍然依赖它,因为任何人都可以持有他们关心的数据的有效副本。如果您在任何设备上持有数据集的副本,或者您需要付费给某人在IPFS节点上托管它,您就会成为保护该数据集丢失的管理员网络的一部分。您不必担心是否有人要关闭托管数据的服务器,因为您是其中一个主机。您和您的同伴在您自己之间保存数据,并且能够直接相互共享数据,而不依赖于集中的故障点。
它增加了数据的完整性
权力下放还增加了数据的完整性,因为链接是内容寻址的。这意味着我们可以通过检查链接上的数据指纹来验证数据。使用位置寻址链接进行这种验证是不可能的。这在大规模上尤其强大,很多资源被数百万个网站和数据集相互引用了数十亿次。使用位置寻址链接,所有这些连接都很脆弱。通过内容寻址链接,连接变得灵活可靠。
链接可以恢复生机
只要任何节点都有内容,每个人的链接就会开始工作。即使有人销毁了网络上的所有副本,也只需要一个节点添加内容即可恢复可用性。加密哈希永久指向它所源自的内容,因此IPFS链接永久指向其内容。即使内容在一段时间内不可用,只要有人再次开始提供内容,链接就会起作用。
更难攻击,更容易恢复
即使原始发布者被删除,内容也可以由拥有它的任何人提供。只要网络上至少有一个节点拥有内容的副本,每个人都可以获得它。这意味着提供内容的责任可以随着时间的推移而改变,而不会改变人们链接到内容的方。,毫无疑问,您正在阅读的内容正是最初发布的内容。
您下载的内容经过加密验证,以确保它没有被篡改
IPFS可以在分区网络中工作 - 您不需要与Web的其余部分建立稳定连接,以便通过IPFS访问内容。只要您的节点可以使用您想要的内容连接到至少一个节点,它就可以工作!
如果一个IPFS网关被阻止,您可以使用另一个。IPFS网关都能够提供相同的内容,因此您不会依赖于一个故障点。
减轻负载:使用IPFS,查看内容的人也有助于分发内容(除非他们选择退出),任何人都可以选择在他们的节点上固定一些内容的副本,以帮助访问和保存。
IPFS不依赖DNS。如果有人阻止您访问DNS或欺骗网络中的DNS,则不会阻止IPFS节点通过对等网络解析内容。即使您正在使用IPFS的DNSlink功能,你只需要找到一个网关确实有机会获得DNS。只要您依赖的网关可以访问DNS,它就能够解析您的DNS链接地址。
IPFS不依赖于证书颁发机构系统,因此不良或损坏的证书颁发机构不会对其产生影响。
你可以通过sneakernet移动内容! 由于资源限制,安全原因或审查,这在连接性较差的区域非常有用。即使您的网络与互联网的其他部分物理断开连接,您也可以将IPFS中的内容写入USB驱动器或其他外部驱动器,将其物理移动到连接到新网络的计算机,然后在新网络上重新发布内容。即使您在一个单独的网络上,只要网络上至少有一个节点具有该内容,IPFS将允许节点在两个网络中使用相同的标识符访问内容。
IPFS节点努力在网络上找到彼此并在连接被切断后重新连接。
您甚至可以形成专用IPFS网络,仅与您选择连接的计算机共享信息。