IPFS 中国社区

人人都是节点

互联网是我们日常生活中最重要的工具,是我们如何使用媒体,如何与朋友和家人交谈,如何与同事互动,如何学习新技能,如何理财所使用的工具。

然而,我们所熟知和喜爱的互联网也有缺点。其中最大的缺点是它的信息大部分是集中的,这意味着我们每天访问的信息都保存在中央公司控制的服务器上。


星际文件系统的任务

星际文件系统 (IPFS) 的目标是创建分布式 Web。点对点超媒体协议,使 web 更快、更安全、更开放。

“中心”的问题

集中化会面临几个主要问题:

第一个问题是当控制大量数据的中央公司,出现不可访问的问题时,说明中央控制服务器成为了一个单点故障,这种故障可能是由于攻击,或者服务器离线造成的。

第二个问题是审查制度,当大多数数据托管在少数几个主服务器上时,政府更容易阻止对它们的访问。

我们为什么要使用一个有缺陷的系统 ?

我们继续接受这种模式的真正原因是我们被现在的互联网宠坏了。

我们希望网页以毫秒为单位加载,图像和视频的显示没有延迟,当然,所有这些都必须是最高的高清或 4K 质量。集中化服务器让公司完全控制他们能以多快的速度交付这些内容,并相应地收取费用。

我们继续使用这种方法的另一个原因是真的没有好的替代方法。

ipfs→不错的选择

星际文件系统 (也称为 IPFS) 是一种使因特网完全分布的想法。这个概念将传统的“HTTP”互联网转换成对等网络,类似于 BitTorrent 的工作方式。

Juan Benet 是 IPFS 的创建者和协议实验室的创始人。Protocol
Labs 是一个技术研发实验室,负责 IPFS,他们还开发了 Filecoin 和 IPLD(以及其他)。Juan
Benet 在斯坦福大学学习计算机科学,对任何与知识、科学和技术有关的东西都非常着迷。

Juan
Benets 最初的目标并不是在制作这个概念时必然会创建 IPFS。他想要做的是找到一种有效的方法来移动科学数据集,这意味着数据的大小可能是 10-100+
GB。IPFS 的设计看起来像 Git 和 BitTorrent,BitTorrent 使您能够快速地在网络上移动大文件,Git 为您提供了数据的内置版本控制。

在创建了这个协议之后,Benet 很快就意识到它的影响远远大于移动大数据集。他实际上已经创造了一个协议,它可以取代其他流行的协议,取代我们今天通过网络获取信息的方式。

星际文件系统的名字是从哪里来的 ?

当他们想到星际文件系统 (IPFS) 的命名时,他们的想法是向互联网的名字致敬。JCR
Licklider,他是 Arpanet(互联网的前身) 的创始人,他的目标是建立一个星系间网络。

因此,互联网是星际网络的简称。星际间采用了相同的命名约定,此外,IPFS 的目标是成为 Internet 协议 (IP) 的文件系统 (FS)。当你把它们放在一起,你就有了 IPFS,互联网文件系统。

我将深入探讨 IPFS 如何作为文件系统。但首先,了解我们今天如何从网络访问文件非常重要。

当你想从互联网上下载图片时,你要告诉你的电脑在哪里可以找到你想要的图片。该位置通常以 URL 的形式出现,其中包含存储照片的公司的域名,然后是指定文件的扩展名。这个博客帖子的请求示例如下 :https://achainofblocks.com
/ipfs-simple-guide.jpg。

这种访问资源的方法称为“基于位置的寻址”,您告诉计算机他们可以访问信息的位置,计算机检索信息。这种方法的一个问题是,如果无法访问位置 (可能服务器离线),那么用户的计算机就无法检索他们需要的信息。

服务器宕机,我们都宕机了

当服务器宕机时,基于位置的寻址无法通过 internet 访问服务器中包含的所有内容。然而,当服务器宕机时,另一个用户很可能已经下载了该图像,并将其存储在他们的计算机上。

但是,即使另一台计算机有此文件,您的计算机也无法与另一台计算机连接以传输该文件。

关于内容

为了帮助解决这个问题,IPFS 引入了“基于内容的寻址”的概念。在请求特定资源时,使用基于内容的寻址,您不需要指定位置,只需指定您想要的。

每个文件都有一个惟一的哈希,可以认为它是文件的指纹或标识。当您想要访问一个特定的文件时,您只需询问网络中谁拥有具有指定哈希的文件副本。一旦发出请求,IPFS 网络上的某人将提供您所请求的资源。您将下载该资源,并将副本保存到您的 IPFS 缓存中。

现在,当另一个人来请求相同的文件时,您将能够向他们提供该文件。这就创建了一个系统,当它被更多地使用时,速度就会加快,因为共享的文件越多,它们就越容易在大量节点中可用。

有改变是好的…

在这一点上,我的猜想是你有和我现在做的同样的问题。我怎么知道提供给我文件的人或节点没有以某种方式篡改它?

因为使用哈希函数检索文件,所以可以验证接收到的内容。更改文件的哈希值与更改区块链中的事务一样困难。对具有特定哈希值的文件发出请求,因此当接收到文件时,要确保哈希值与请求匹配。

这是验证您的 Amazon 购买的方法。如果你点的是绿色的袜子,而红色的袜子出现了,你会拒绝它们,然后等着你的绿色袜子出现。

IPFS 的另一个特性是重复数据删除,这意味着当多个用户发布同一个文件时,它在网络上只创建一次。这有助于提高网络的效率。


IPFS 如何真正发挥作用

现在您已经了解了如何将 IPFS 与当今的传统方法进行比较的基础知识,让我们更深入地了解 IPFS 如何实际存储数据并使用户能够访问这些数据。

在 IPFS 中,文件存储在 IPFS 对象中,每个对象可以存储 256
kb 的数据。对象还可以包含到另一个 IPFS 对象的链接,链接使存储大于 256kb 的数据成为可能。例如,如果您只上传了一个小的文本文件,那么一个 256
kb 的对象应该足以处理您的少量文本。

但是,如果要存储图片,则会将其分解为多个对象,每个对象的最大大小为 256 kb。然后,IPFS 系统将创建一个空对象,该对象将链接到构成该图片的所有对象。

这个体系结构非常简单,但也非常强大,体系结构真正允许将 IPFS 用作文件系统。如果您查看下面的简单文件目录结构,我将解释如何将其转换为 IPFS 结构 :

这可以通过为每个文件和每个文件夹 / 目录创建一个对象,然后将文件链接到指定的目录,从而转换为 IPFS。但是,如果考虑到 IPFS 使用基于内容的寻址,情况就会更好。

这意味着添加的文件是不可变的,它们永远无法更改,非常类似于区块链。这意味着您可以确信您正在访问的资源是正确的数据,并且从未被更改过。


我如何更新我的数据 ?


IPFS 支持文件版本控制,这与 Git 作为开放源代码存储库的工作方式类似。例如,您正在处理一个名为“重要文档-v1”的文本文件。你想和使用 IFPS 的人分享这份文件。当您将该文件添加到 IPFS 时,幕后发生的是,IPFS 将创建一个新的 Commit 对象。

这个对象非常基础,它所做的就是告诉 IPFS 哪个提交先于这个提交,它链接到与文件“重要文档- v1.doc”相关联的 IPFS 对象。

现在,让我们假设一些时间过去了,你的“重要文件”也过去了。博士需要修改一下。这只需将新文件添加到 IPFS 的重要文档 v2 即可。,软件将为更新后的文件创建一个新的提交对象 (与原始进程相同)。这个提交对象现在链接到前面提交的对象,第一个提交作为父对象。

这个过程可以无限重复,创建相同数据的链接链,所有数据都引用整个链。IPFS 确保网络上的所有其他节点都可以访问您的文件和整个文件版本控制历史。

没有一个系统是完美的

到目前为止,我们已经讨论了星际文件系统的许多有用特性和关键概念。然而,所有协议都有局限性和缺点。正如您可能想象的那样,IPFS 目前面临的最大问题是保持文件的可用性。

网络上的每个节点都保存着他们下载的文件的缓存,并帮助其他用户在需要时使用它们。但是,在简单的情况下,如果一个文档由 4 个节点托管,并且它们都脱机了,那么该文档就无法访问了。

有几种方法可以解决上述问题。一种方法是鼓励节点保持在线状态,并将文件提供给社区。这是对存储空间的奖励,您可以将其提交到网络中,这将确保文件在需要时具有很高的可用性。另一种方法是在整个网络中主动分发文件,确保在任何时候都有足够的在线副本。你可以把它想象成大规模的冗余。

Filecoin

这个问题正是 Filecoin 想要解决的。Filecoin 是由创建 IPFS 的同一组创建的。Filecoin 是构建在 IPFS 之上的区块链,其目标是创建一个分散的存储市场。这意味着,在硬盘上有额外存储空间的用户可以将其出租作为 IPFS 存储,并在此过程中从中获利。

你可以把 Filecoin 看作类似于 Airbnb 的服务,而不是把你房子里的可用空间出租出去,而是把你电脑上的可用空间出租出去存储。Filecoin 为节点创建了一个激励机制,使其保持数据在线,并尽可能长时间地保留数据。

除了保持节点在线的动机之外,它还在多个节点之间复制数据,使其具有高可用性和易于访问性 (即使有一些节点离线)。Filecoin 和 IPFS 具有相同的目标,即脱机优先,这意味着他们不断努力获得更好的体验,而无需调用服务器来访问资源。

这是 Filecoin 的一个非常高级的快速摘要。我将在未来的文章中深入研究 Filecoin 以及 Protocol 实验室中的一些其他伟大项目。

星际链接数据 (IPLD)

www.ipld.io:

IPLD 是内容寻址的网络数据模型。它允许我们将所有哈希链接的数据结构视为统一信息空间的子集,将所有将数据与哈希连接起来的数据模型统一为 IPLD 的实例。

这意味着 IPLD 的目标是成为可互操作协议的数据模型。这种类型的技术有很多用例。这赋予了在 IPFS 上运行的智能契约的能力。关键是 IPLD 提供了使基础数据跨工具和跨协议互操作的库。

IPLD 和 Filecoin 都是非常复杂的项目,需要它们自己的专用文章才能完全理解。


额外的想法

我希望从本文中可以明显看出,IPFS 是一个非常雄心勃勃的项目。大多数以权力下放为重点的早期项目主要是关于货币和财政方面。IPFS 实际上是
关于建立更好的数据共享方式。HTTP 以前也遇到过挑战。

但是,IPFS 显然是最成熟的制度,并被认为是在今后几年内可得到广泛采用的制度。我绝不是在暗示 HTTP 即将消失,Juan
Benet 自己承认 HTTP 是一个很好的协议,仍然非常有用。

然而,这个协议已经有超过 25 年的历史了,随着 IPFS 的不断采用,用例将随着技术的发展而扩展。我们很可能会遇到这样的情况,即我们将同时使用这两种协议,直到 IPFS 最终取代 HTTP。

什么是 IPFS?

IPFS 是一个分布式的存储项目,与激励层 Filecoin 形成了一个有效的市场闭环,构建出一个去中心化存储网络系统。

Filecoin 是 2017 年最大的私募项目,短短时间募集了 2.57 亿美元。

目前期货价格约 45.5 元左右,按照 20 亿枚 Token 计算,未上线已市值 910 亿人民币。

我们是 IPFS 的中国社区,垂直专注于 IPFS 领域,努力提供客观的、第三方的 IPFS、Filecoin、挖矿等最新资讯,共同推进 IPFS 相关应用的发展,建立一个良好的 IPFS 生态圈。

热门阅读

IPFS 生态研究报告

破纪录的顶级风险投资 Filecoin

ICO

熊市机遇:投资 EOS
,不如投资 IPFS 存储

IPFS 中国社区赖楚航:IPFS 如何构建下一代互联网


公众号后台回复【社群】

加入 IPFS 中国社群哦 ~

点击【阅读原文】,可以浏览我们的官网哦 ~